Skills/npm/passport

passport@0.4.3

VERIFIED· startup only

Publisher claims: "Portable cryptographic identity for AI agents. Ed25519 keypairs and signed manifests." Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server) · listed in the official MCP RegistryPublisher scopeblind · publishing for 245 daysInstalls 0Last detonated 1 h ago
$claude mcp add passport -- npx -y @scopeblind/passport
WatchReport an issue

Coverage

Startup only; authenticated tool behavior not tested.
Tested
server startup over stdio (initialize sent) · every file read, file written and host contacted by what ran
Not tested
the tool list (the server exited before answering) · what the tools do when called with real credentials
Needs
YOUR_KEY, --api-key — give it to the server where it runs, through vet-skills run --secrets, so the value never enters the server's environment. Never paste a credential into a chat, a ticket or a report.

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; at startup it asked for YOUR_KEY, --api-key
Where it talks to
scopeblind.com (its own)Also workers.dev — not the publisher's domain; check what for before connecting.
What the honeypot saw
no credential files read · no network
What we could not test
the tool list (the server exited before answering) · what the tools do when called with real credentials

Connect it under the guard. Startup only; authenticated tool behavior not tested. The code names no credential variable and talks to scopeblind.com, its own; the guard pins the network to what the honeypot saw and logs every call.

$vet-skills run --net declared -- npx -y @scopeblind/passport

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 (2 scenarios; startup only; authenticated tool behavior not tested) on 2026-11-14 and scored it 89/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 (it asks for YOUR_KEY); 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 · 49 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
8.6sprocessdependency install exit 0
29sprocessrelaunched with a decoy YOUR_KEY (tagged; nothing real)
49sclaimedstartup only: exited before answering, asking for YOUR_KEY, --api-key (a decoy value was refused)
49sprocessscript backend runs setup only
49sprocessno install scripts to re-run

Static findings

MEDIUM
npx invocation of non-well-known packagedist/cli.js:506 · npx invocation of non-well-known package — may execute untrusted codenpx @veritasacta/verify receipt.json --key <public-key-hex>Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagedist/cli.js:447 · npx invocation of non-well-known package — may execute untrusted codeself_test: "npx @veritasacta/verify --self-test",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagedist/cli.js:527 · npx invocation of non-well-known package — may execute untrusted codenpx protect-mcp status --dir "${outputDir}"Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagedist/cli.mjs:378 · npx invocation of non-well-known package — may execute untrusted codenpx protect-mcp status --dir "${input.outputDir}"Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagedist/cli.mjs:401 · npx invocation of non-well-known package — may execute untrusted codenpx protect-mcp status --dir "${outputDir}"Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actiondist/cli.js:412 · File type combined with upload action — agent may exfiltrate local data files"passport.bundle.json": input.bundleJson,Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actiondist/cli.mjs:285 · File type combined with upload action — agent may exfiltrate local data files"manifest.json": input.manifestJson,Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagedist/cli.mjs:380 · npx invocation of non-well-known package — may execute untrusted codenpx @veritasacta/verify receipt.json --key <public-key-hex>Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actiondist/cli.js:413 · File type combined with upload action — agent may exfiltrate local data files"protect-mcp.json": JSON.stringify(buildPolicyConfig(input.policy, keyPath), null, 2) + "\n",Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagedist/cli.js:521 · npx invocation of non-well-known package — may execute untrusted codenpx @veritasacta/verify --self-testFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actiondist/cli.js:411 · File type combined with upload action — agent may exfiltrate local data files"manifest.json": input.manifestJson,Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagedist/cli.mjs:321 · npx invocation of non-well-known package — may execute untrusted codeself_test: "npx @veritasacta/verify --self-test",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actiondist/cli.js:456 · File type combined with upload action — agent may exfiltrate local data filesfiles["wrapped-config.json"] = input.wrappedConfigJson;Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actiondist/cli.js:634 · File type combined with upload action — agent may exfiltrate local data filespassport wrap --runtime openclaw --config ./openclaw.json [--policy email-safe] [--output ./scopeblind-wrap-openclaw]Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagedist/cli.mjs:395 · npx invocation of non-well-known package — may execute untrusted codenpx @veritasacta/verify --self-testFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagedist/cli.js:504 · npx invocation of non-well-known package — may execute untrusted codenpx protect-mcp status --dir "${input.outputDir}"Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actiondist/cli.mjs:287 · File type combined with upload action — agent may exfiltrate local data files"protect-mcp.json": JSON.stringify(buildPolicyConfig(input.policy, keyPath), null, 2) + "\n",Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actiondist/cli.mjs:330 · File type combined with upload action — agent may exfiltrate local data filesfiles["wrapped-config.json"] = input.wrappedConfigJson;Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actiondist/cli.mjs:508 · File type combined with upload action — agent may exfiltrate local data filespassport wrap --runtime openclaw --config ./openclaw.json [--policy email-safe] [--output ./scopeblind-wrap-openclaw]Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actiondist/cli.mjs:286 · File type combined with upload action — agent may exfiltrate local data files"passport.bundle.json": input.bundleJson,Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07

Cost to the agent

Instructions loaded
≈78 tok
1 file · 15 in bundle
Tool list per prompt
≈0 tok
0 tools · 0 per tool
Handshake
no reply
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 0

Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.

Known vulnerabilities

No advisories in OSV for @scopeblind/passport@0.4.3 as of 1 h ago. This is the package itself, not its dependencies.