cli@1.6.0
CAUTION· install onlyPublisher claims: "Connects Claude Code, Codex, pi and other coding agents to Phantom AI, an OpenAI-compatible API, and manages your keys, credit and spending caps from the terminal." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Nothing executable in the bundle ran; the trace covers the install step only.- Tested
- every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-14 and scored it 67/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Credential pass-through configuration; Collapsed <details> block carrying instructions; Credential pass-through configuration. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 1 scenarios · 0 deviationsStatic findings
import { proxyToken, startProxy } from "./proxy.mjs";Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.<summary><strong>Development and contributing</strong></summary> The CLI lives in `cli/` in the Phantom repo, which uses pnpm. Install once at the repo root, thFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.// server would kill the recovery file, so a sign-in that is the recovery credential is only forgotten here.Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.export function proxyToken() {Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.const token = proxyToken();Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.`curl -fsSL https://phantom.codes/install | sh, which brings its own.\n`);Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.* @param opts.token The run's secret ({@link proxyToken}). A request without it, as `Authorization: Bearer` or `x-api-key`, gets 401.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.* it started: each request must carry the run's token ({@link proxyToken}),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.`curl -fsSL https://phantom.codes/install | sh, which brings its own.\n`);Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.// runs the helper outside this shell, so a relative or npx path won't do.Fix: Pin versions and sources; vendor anything fetched at install time.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Not checked against OSV yet; the weekly check has not reached this version.
What would make this Verified
13 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
- Unclaimed publisher≈ +8 on the totalClaim phantomcodes: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Hidden instructions≈ +6 on the totalRemove HTML comments, zero-width characters and white-on-white text that carry instructions. Everything the agent is meant to read should be visible to the person reading the file.
- Credential pass-through configuration≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Process kill command≈ +2 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
- Remote installer piped to shell≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.