env-phantom@0.1.1
VERIFIED· install onlyPublisher claims: "An MCP server that lets coding agents and child processes run against format-preserving phantom tokens in process.env, while real secrets are injected only inside a local edge proxy when the outbound host matches an allowlist. It also exposes blocked exfiltration attempts for auditing." 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
What this means for the label: Verified here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
- It will ask for
- no credential variables read in the code
- Where it talks to
- no vendor host named in the code
- What the honeypot saw
- no credential files read · no network
- What we could not test
- use of the skill by an agent
Connect it under the guard. Nothing executable in the bundle ran; the trace covers the install step only. The code names no credential variable; the guard pins the network to what the honeypot saw and logs every call.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
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 80/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 1 scenarios · 0 deviationsStatic findings
"description": "Zero-knowledge .env proxy: phantom tokens in process.env, real secrets only at TLS edge for allowlisted hosts",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."description": "Zero-knowledge .env proxy: phantom tokens in process.env, real secrets only at TLS edge for allowlisted hosts",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.description: Mask .env secrets as phantom tokens; real keys inject only at TLS edge for allowlisted hosts.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.npx env-phantom mask .env --allow-writeFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.Pass `--allow-write` on the MCP command only when the agent may rewrite `.env` or run sandboxed shells.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.process.stderr.write("Read-only: pass --allow-write to write masked .env and vault.\n");Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.export const CA_PEM_FILE = ".env-phantom-ca.pem";Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.npx env-phantom auditFix: Pin versions and sources; vendor anything fetched at install time.npx env-phantom mask <.env> [--allow-write] [--dry-run]Fix: Pin versions and sources; vendor anything fetched at install time.npx env-phantom mask <.env> [--allow-write] [--dry-run]Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.process.stderr.write("No vault found. Run: env-phantom mask .env --allow-write\n");Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."description": "Zero-knowledge .env proxy: phantom tokens for agents, real secrets injected at TLS edge only",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.npx env-phantom --mcp [--allow-write] [--dry-run]`;Fix: Pin versions and sources; vendor anything fetched at install time.npx -y jsr publish --allow-dirtyFix: Pin versions and sources; vendor anything fetched at install time.npm install -g npm@latestFix: Pin the exact version (`[email protected]`, `==1.2.3`) so every install gets the bytes that were reviewed.const secret = "sk_test_allowed_only";Fix: Never read or enumerate credential locations; accept a documented environment variable instead.npx env-phantom mask .env --allow-writeFix: Pin versions and sources; vendor anything fetched at install time.const dir = join(cwd, ".env-phantom");Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.npx env-phantom run -- <command...>Fix: Pin versions and sources; vendor anything fetched at install time.export const VAULT_FILE = ".env-phantom-vault.json";Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.export const EMBED_LOCK = ".env-phantom-embed-lock.json";Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.npx env-phantom auditFix: Pin versions and sources; vendor anything fetched at install time.npx env-phantom run -- node app.jsFix: Pin versions and sources; vendor anything fetched at install time.const file = argv.find((a) => !a.startsWith("--")) ?? ".env";Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.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
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.