Skills/npm/mcp-server

mcp-server@2.4.8

CAUTION

Publisher claims: "CISO-Approved Zero-Trust PII & Secrets Redaction MCP Server for Cursor, Windsurf, and Claude Desktop. Prevent API leaks and comply with HIPAA/SOC 2 locally." Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher privacyscrubber · publishing for 127 daysInstalls 2,591Last detonated 5d ago

Coverage

Server started and answered tools/list.
Tested
second launch with the clock 45 days ahead · MCP initialize and tools/list · every tool description, for hidden instructions · every file read, file written and host contacted by what ran
Not tested
what the tools do when called with real credentials

Before you give it your token

It will ask for
PRIVACYSCRUBBER_MAX_SESSION_TOKENS or --access-token / --auth-token / --client-secretConfiguration, not credentials: CURSOR_WORKSPACE_PATH, DEBUG_PRIVACYSCRUBBER, INIT_CWD, PRIVACYSCRUBBER_COMPACT_RECEIPT, PRIVACYSCRUBBER_KEY, PRIVACYSCRUBBER_TEST_MODE, PRIVACYSCRUBBER_WORKSPACE, PROJECT_ROOT, VSCODE_CWD, WORKSPACE_FOLDER_PATHS
Where it talks to
privacyscrubber.com (its own)Also ztds.ai — 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
what the tools do when called with real credentials

Connect it with a scoped credential, under the guard, and read the third-party hosts first. The code names ztds.ai as well as its own vendor. The guard injects PRIVACYSCRUBBER_MAX_SESSION_TOKENS only into requests to privacyscrubber.com (and its subdomains) and refuses the rest.

$vet-skills run --secrets PRIVACYSCRUBBER_MAX_SESSION_TOKENS=privacyscrubber.com -- npx -y @privacyscrubber/mcp-server

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 (3 scenarios) on 2026-11-09 and scored it 64/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: Access to sensitive file paths; Access to sensitive file paths; Access to sensitive file paths. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 26 s · 3 scenarios
t+CategoryObserved action
0.1sfilesystemwrote ~/.config/Claude/claude_desktop_config.json · ~/.cursor/mcp.json
5.8sprocessdependency install exit 0
26sclaimed23 tools: audit_context, sanitize_text, reveal_text, stream_reveal_text, sanitize_file, audit_directory_for_pii, redact_file, create_default_config, generate_compliance_report, mark_false_positive, check_status, guard_exec, guard_read_file, guard_git_diff, guard_apply_patch, create_agent_rules, guard_unmask_args, guard_session_info, guard_session_reset, guard_rag_chunk, guard_rag_restore, export_audit_log, generate_procurement_memo
26sprocessscript backend runs setup only
26sprocesssecond launch, clock +45 days, CI unset
26sfilesystemread ~/.config/Claude/claude_desktop_config.json · ~/.cursor/mcp.json outside project
26sfilesystemwrote ~/.config/Claude/claude_desktop_config.json · ~/.cursor/mcp.json

Static findings

HIGH
Access to sensitive file pathsindex.js:1808 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files…c Guard: Preferred over native file read tools. Reads any sensitive local file (.env, config, credentials, source code, database dumps, .docx, .pdf, .xlsx, .eml, .r…Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathspii-masking-run.js:662 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files… may contain API keys, database connection strings, or customer PII (e.g. \`cat .env\`, \`docker logs\`, \`env\`, \`git diff\`), invoke the \`guard_exec\` tool inst…Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathspii-masking-run.js:117 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files…RX = /(?:^|[;&|]\s*)(?:cat|head|tail|less|more|bat|sed|awk|grep)\s+[^\n|;&]*(?:\.env\b|id_rsa|\.pem\b|\.key\b|credentials\.json|\bsecrets?\.)|(?:^|[;&|]\s*)(?:print…Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathspii-masking-run.js:106 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesconsole.log(" cat .env | npx ps-guard --profile dev --json");Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsinstall.js:418 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files'1. Never read `.env`, `*secret*`, `*credentials*`, `*.pem`, `*.key`, or database dumps with native `read_file` / `cat`. Call `guard_read_file` or `sanitize_file`.',Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
npx invocation of non-well-known packageindex.js:49 · npx invocation of non-well-known package — may execute untrusted codeconsole.log(' npx @privacyscrubber/mcp-server uninstall Remove from IDE configurations');Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packageindex.js:46 · npx invocation of non-well-known package — may execute untrusted codeconsole.log(' npx @privacyscrubber/mcp-server Start MCP stdio server');Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Access to sensitive file pathspii-masking-run.js:115 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files…de & Cursor v1.7+ if (isHookMode) { const SENSITIVE_FILE_RX = /(?:^|[\\/])(?:\.env(?:\.[a-zA-Z0-9_-]+)?|id_rsa|id_ed25519|id_ecdsa|.*\.pem|.*\.key|.*\.p12|.*\.pfx…Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsindex.js:2232 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files…mands: When running commands whose output might contain credentials or PII (cat .env, docker logs, env, git diff, psql), use `guard_exec` to sanitize output in loca…Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
CRITICAL
Prompting user to enter sensitive credentialsindex.js:2694 · Prompting user to enter sensitive credentials — social engineeringcontent: [{ type: "text", text: "Error: Missing required parameter 'token'. Provide the token to mark as false positive (e.g., '[NAME_1]')." }]Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST03
HIGH
Access to sensitive file pathsindex.js:1780 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesdescription: "The shell command to execute (e.g. 'cat .env', 'git diff', 'docker logs web', 'env')."Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsindex.js:1627 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesdescription: "List of file extensions to scan (e.g. ['.env', '.log', '.js']). If empty, scans all text files."Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsmanifest.json:78 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"description": "Zero-Trust Agentic Guard: Reads a sensitive local file (.env, config, source code) and sanitizes credentials and PII in volatile RAM."Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
npx invocation of non-well-known packageindex.js:48 · npx invocation of non-well-known package — may execute untrusted codeconsole.log(' npx @privacyscrubber/mcp-server init Auto-configure Claude, Cursor, Windsurf, Cline');Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
MCP server using network transport (SSE/HTTP)index.js:4683 · MCP server using network transport (SSE/HTTP) — data sent over network…our PRO/TEAMS/SDK license key or start a 7-day B2B trial ('npx @privacyscrubber/mcp-server trial'): https://privacyscrubber.com/pricing?tier=teams&trial=true&profile=${safeProf}&utm_so…Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
npx invocation of non-well-known packageindex.js:47 · npx invocation of non-well-known package — may execute untrusted codeconsole.log(' npx @privacyscrubber/mcp-server --wrap <cmd> Transparent ZTDS proxy for any 3rd-party MCP server');Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packageindex.js:50 · npx invocation of non-well-known package — may execute untrusted codeconsole.log(' npx @privacyscrubber/mcp-server trial Request 7-day B2B TEAMS/SDK evaluation key');Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Access to sensitive file pathsindex.js:1393 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"1. FILE READS: Before reading .env, configs, logs, database dumps, or documents (DOCX/PDF/XLSX/CSV/JSON), call 'guard_read_file' (or 'sanitize_file') instead of native file read tools.",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
MCP server using network transport (SSE/HTTP)install.js:499 · MCP server using network transport (SSE/HTTP) — data sent over network…b[36m💼 B2B 7-Day Free Trial (TEAMS $99/mo · SDK $299/mo): npx @privacyscrubber/mcp-server trial | https://privacyscrubber.com/pricing/?tier=teams&trial=true&utm_source=mcp_install\x1…Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
npx invocation of non-well-known packageinstall.js:327 · npx invocation of non-well-known package — may execute untrusted codenpx @privacyscrubber/mcp-server-install [options]Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionpii-masking-run.js:95 · File type combined with upload action — agent may exfiltrate local data filesconsole.log(" --diff Sanitize git diff output before committing or sending to AI");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 packagepii-masking-run.js:81 · npx invocation of non-well-known package — may execute untrusted codeconsole.log(" npx ps-guard [options] -- <command> [args...]");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionpii-masking-run.js:92 · File type combined with upload action — agent may exfiltrate local data filesconsole.log(" --json Output structured JSON (scrubbedText, tokenMap, count, telemetry)");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 packagepii-masking-run.js:84 · npx invocation of non-well-known package — may execute untrusted codeconsole.log(" npx ps-guard --diff [--staged] [options]");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagepii-masking-run.js:83 · npx invocation of non-well-known package — may execute untrusted codeconsole.log(" cat <file> | npx ps-guard [options]");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionpii-masking-run.js:104 · File type combined with upload action — agent may exfiltrate local data filesconsole.log(" npx ps-guard --wrap -- npx -y @modelcontextprotocol/server-postgres postgresql://localhost/mydb");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 packageinstall.js:326 · npx invocation of non-well-known package — may execute untrusted codenpx @privacyscrubber/mcp-server init [options]Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagepii-masking-run.js:82 · npx invocation of non-well-known package — may execute untrusted codeconsole.log(" npx ps-guard --wrap [options] [--] <mcp-server-cmd> [args...]");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagepii-masking-run.js:85 · npx invocation of non-well-known package — may execute untrusted codeconsole.log(" npx ps-guard --restore --token-map <file|json> [options]");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packageinstall.js:500 · npx invocation of non-well-known package — may execute untrusted codeconsole.log('\x1b[36m📋 Generate CISO Procurement Memo: npx @privacyscrubber/mcp-server memo\x1b[0m');Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packageinstall.js:499 · npx invocation of non-well-known package — may execute untrusted code… console.log('\x1b[36m💼 B2B 7-Day Free Trial (TEAMS $99/mo · SDK $299/mo): npx @privacyscrubber/mcp-server trial | https://privacyscrubber.com/pricing/?tier=teams&trial=true&utm_source…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packageinstall.js:451 · npx invocation of non-well-known package — may execute untrusted codeconst hookCmd = 'npx -y @privacyscrubber/mcp-server --hook';Fix: Pin versions and sources; vendor anything fetched at install time.
AST06

Cost to the agent

Instructions loaded
≈78 tok
1 file · 13 in bundle
Tool list per prompt
≈5,905 tok
23 tools · 257 per tool
Handshake
700 ms
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 247

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 @privacyscrubber/mcp-server@2.4.8 as of 5d ago. This is the package itself, not its dependencies.

What would make this Verified

16 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Reads credential files≈ +27 on the totalThe sandbox saw reads under ~/.ssh, ~/.aws, ~/.npmrc, ~/.config or similar. Read only files inside the project, and only the ones the task needs. Seen: ~/.config/Claude/claude_desktop_config.json, ~/.config/Claude/claude_desktop_config.json.
  2. Prompting user to enter sensitive credentials≈ +9 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  3. Unclaimed publisher≈ +8 on the totalClaim privacyscrubber: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  4. Touches files outside the project≈ +7 on the totalKeep reads and writes inside the working directory, or declare the exact paths in `filesystem:` and explain why in the README.
  5. Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  6. npx invocation of non-well-known package≈ +2 on the totalPin versions and sources; vendor anything fetched at install time.
Publish a new version to npm, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim privacyscrubberPropose a patch to the maintainer