Repository navigation
Phantom v1.0.1
Two bugs found by installing v1.0.0 from the public release on a clean host (both made the first log-generation request fail), one hardening of the password change, and a fix for bare tool names.
Fixed.
- A fresh install now serves xlog over HTTPS from the first start. On an empty install the TLS certificate was created too late: the agent wrote it, but the agent only starts after
xlogis healthy, andxloghad already given up waiting and fallen back to plain HTTP. Every log-generation tool then failed with[SSL] record layer failure, and/api/agent/healthreporteddegraded. A new one-shot step,phantom_tls_init, creates the certificate before any of them starts, and never overwrites a certificate you supplied. It appears asExited (0)indocker compose ps -a. No action is needed on an existing install: the certificate is already there. - Guessing the password through the Change password form is now rate-limited. The form checks your current password, but unlike sign-in it had no lockout, so a stolen session cookie could be used to guess the password. Five wrong current passwords in a minute now lock the form for 60 seconds (HTTP 429), counted per source address and per session, with a separate counter from sign-in. Sign-in's own lockout also now keys on the address the proxy saw, not on a header the client can set, and attempts are counted before the password check so parallel guesses cannot slip through.
- A bare tool name works in direct tool calls.
^run_xql_query query=...in chat, or a bare name sent to/api/agent/tool/call, was refused as "ambiguous" even when only one connector provides the tool, because each tool is advertised under its namespaced name and its legacy flat alias. Those two names are now recognised as the same tool and the namespaced one is used. When two connectors provide a tool with the same name (for example Cortex XDR and XSIAM), you still have to say which one, as before. - Generating logs without a vendor schema works again. Asking the agent for a worker without a data-source schema (the generic path) was always rejected with
Field 'durationSeconds' is not defined by type 'WorkerFakerInput'. Workers that use a data source's schema were not affected. On the generic path a worker stops aftercountevents;duration_seconds,max_eventsandcontinuousapply only with a data-source schema, and the tool result now says so.
Docs. /help/architecture#tls-proxy (new subsection, "Who creates the certificate, and boot order"), a note under #stack, and the rate-limit bullet under #authentication; /help/user#authentication and the change-password journey mention the lockout.
To move from v1.0.0, download phantom-installer below and run it with sudo on the host. It keeps your data, secrets and settings. Verify the download against phantom-installer.sha256.