pkgxray — pre-install security for npm packages, MCP servers, and AI agents. Zero-dependency local static analysis with cited SAFE, REVIEW, or BLOCK verdicts.
The publisher performed an authenticated act of publication — proving control of a namespace in the official MCP registry, or appearing in a first-party catalogue an operator curates. That establishes WHO published it. It is not a security finding, and attested artifacts carry Flagged verdicts too.
103 critical findings reported by cisco-skill-scanner, agent-audit-kit, 41 of them in the installed artifact. The composite score alone does not reflect this — read the per-scanner reports below.
Choose your runtime: the CLI writes the mcpServers config entry for that target.
nerlo install --target claude-code -- pkgxray
Install respects the composite badge: Clean proceeds, Caution prompts for confirmation, and Flagged is refused. Write operations require an API token.
5 of 11 scanners examined this package. The rest do not apply to it — language, ecosystem and packaging decide which analyzers can say anything, and a scanner that cannot examine an artifact reports nothing rather than passing it.
v1.4.0
1 finding · 2.3s
v2.0.11
189 findings · 149.3s
v0.3.26
75 findings · 112.0s
v0.1.0
1 finding · 111.5s
v0.1.0
7 findings · 111.5s
v0.1.0
This scanner found nothing in this artifact that it assesses. What each scanner covers
0 findings · 12.7s
No report in this scan: capslock, govulncheck, osv-scanner, trivy, trivy_image.
3 scans on record. Every scan's full results are retained immutably for 24 months.
| Completed | Composite | Change | Scanners | Status |
|---|---|---|---|---|
| Aug 3, 2026 | Scan Halted | — | agentshield: completecisco-skill-scanner: completeagent-audit-kit: completenerlo-behavioral: completenerlo-install-instruction: completenerlo-multi-source ·n/a: not applicable | rejected |
| Jul 30, 2026 | Scan Halted | — | cisco-skill-scanner: completeagent-audit-kit: completenerlo-behavioral: completenerlo-install-instruction: completenerlo-multi-source ·n/a: not applicable | rejected |
| Jul 29, 2026 | Scan Halted | — | cisco-skill-scanner: completeagent-audit-kit: completenerlo-behavioral: completenerlo-install-instruction: completenerlo-multi-source: complete | rejected |
Findings in files this artifact installs stand as reported; a model re-read the rest and said which ones it believes are false positives. This is a second opinion published beside the evidence, not a correction to it: the per-scanner reports above are unchanged, every dismissed finding is still listed there at its original severity, and the score and the Flagged badge are computed from those raw severities alone. Nothing below moved them.
Out of 273 findings across every scanner that examined this package. 62 of 103 findings rated critical by their scanner were among the dismissals.
Not reviewed is not the same as clean. Those 1 finding stand exactly as their scanners reported them, at full severity, as they would have without this review.
Two keys had to turn. The model had to name a reason from a fixed list of six, and a deterministic check of ours — over which files this artifact actually installs — had to independently agree. Anything it could not corroborate is in “not reviewed” above, at full severity.
60 Documentation or example — The match is in documentation or sample code, confirmed by our own check to be outside the installed artifact.
Rules: YARA_prompt_injection_generic, PIPELINE_TAINT_FLOW, opt.nerlo-rules.nerlo-install-pipe-to-shell and 7 more · Files: /repo/docs/screenshots/demo-mcp-server.js, /repo/docs/SKILL.md, /repo/docs/promotion/04-content-calendar.md and 22 more · reported by cisco-skill-scanner, nerlo-install-instruction, agent-audit-kit
51 Agent instruction file — The match is in a file that instructs an AI coding agent — a CLAUDE.md or similar. It is documentation of intent, and our own check confirmed it is not part of what gets installed.
Rules: AAK-AGENT-001, AAK-AGENT-003, agents-comment-injection-0 and 1 more · Files: CLAUDE.md · reported by agent-audit-kit, agentshield
30 Test or fixture file — The match is in a test or fixture. Our own check confirmed the file is not part of what gets installed.
Rules: COMMAND_INJECTION_EVAL, AAK-SECRET-004, OBFUSCATION_BASE64_LARGE and 3 more · Files: /repo/test/auditor.test.js, /repo/test/detection-surfaces.test.js, /repo/test/mcp-manifest-audit.test.js and 8 more · reported by cisco-skill-scanner, agent-audit-kit
1 CI or editor configuration — The match is in build, CI or editor configuration, confirmed by our own check to be outside the installed artifact.
Rules: MANIFEST_INVALID_NAME · Files: /repo/.github/SKILL.md · reported by cisco-skill-scanner
These findings are in files this artifact installs and are not placeholder values. No false-positive basis can be corroborated for such a finding, so this review never dismisses one; they were not sent to the model and stand at their scanner's severity.
25 DATA_EXFIL_JS_FS_ACCESS
Files: /repo/benchmark/run.js, /repo/bin/audit.js, /repo/scripts/build-browser-extension.js and 9 more · reported by cisco-skill-scanner
16 COMMAND_INJECTION_EVAL
Files: /repo/browser-extension/auditor.browser.js, /repo/src/auditor.js · reported by cisco-skill-scanner
12 DATA_EXFIL_JS_NETWORK
Files: /repo/scripts/build-extended-target-list.js, /repo/src/attestation.js, /repo/src/auditor.js and 5 more · reported by cisco-skill-scanner
9 COMMAND_INJECTION_JS_FUNCTION_CONSTRUCTOR
Files: /repo/browser-extension/auditor.browser.js, /repo/src/auditor.js · reported by cisco-skill-scanner
8 YARA_script_injection_generic
Files: /repo/benchmark/corpus/malicious/obfuscation-eval-atob.json, /repo/browser-extension/auditor.browser.js, /repo/src/auditor.js · reported by cisco-skill-scanner
The model could have called any of these a false positive and did not.
2 FILE_MAGIC_MISMATCH
Files: /repo/examples/pkgxray-proxy/bin/proxy.js · reported by cisco-skill-scanner
1 The model called these false positives and our own check did not agree, so the dismissal was refused.
Rules: HIDDEN_DATA_FILE · Files: /repo/.pkgxray.example.json · reported by cisco-skill-scanner
No summary was published. A summary was drafted and rejected by our text checks.
Files: src/sandbox.js, src/quarantine.js, src/auditor.js and 3 more · reported by agent-audit-kit
6 ASSET_PROMPT_INJECTION
Files: /repo/benchmark/corpus/benign/injection-defense-blocklist-doc.json, /repo/benchmark/corpus/malicious/injection-readme.json · reported by cisco-skill-scanner
6 MANIFEST_MISSING_LICENSE
Files: /repo/skills/agent-extension-supply-chain-auditor/SKILL.md, /repo/SKILL.md, /repo/benchmark/SKILL.md and 3 more · reported by cisco-skill-scanner
6 OBFUSCATION_BASE64_LARGE
Files: /repo/browser-extension/auditor.browser.js, /repo/src/auditor.js · reported by cisco-skill-scanner
5 COMMAND_INJECTION_JS_CHILD_PROCESS
Files: /repo/scripts/validate-at-scale.js, /repo/scripts/verify-netns-confinement.js, /repo/src/sandbox.js · reported by cisco-skill-scanner
5 PIPELINE_TAINT_FLOW
Files: /repo/CHANGELOG.md, /repo/SKILL.md, /repo/benchmark/SKILL.md and 1 more · reported by cisco-skill-scanner
5 SOCIAL_ENG_VAGUE_DESCRIPTION
Files: /repo/SKILL.md, /repo/benchmark/SKILL.md, /repo/validation/SKILL.md and 2 more · reported by cisco-skill-scanner
4 opt.nerlo-rules.nerlo-install-pipe-to-shell
Files: /repo/CHANGELOG.md, /repo/benchmark/README.md, /repo/benchmark/corpus/benign/installer-appends-path-to-rc.json · reported by nerlo-install-instruction
3 YARA_credential_harvesting_generic
Files: /repo/benchmark/corpus/malicious/advisory-depconfusion-recon.json, /repo/src/sandbox.js · reported by cisco-skill-scanner
2 AAK-HEALTHCARE-AI-004
Files: CHANGELOG.md, benchmark/corpus/benign/scaffolder-writes-ci-workflow.json · reported by agent-audit-kit
2 HIDDEN_DATA_FILE
Files: /repo/.swamp.yaml, /repo/.codex-plugin/plugin.json · reported by cisco-skill-scanner
1 AAK-IPI-WILD-CORPUS-001
Files: validation/calibration-2026-07-22/pool-npm-high-impact-1.13.0.json · reported by agent-audit-kit
1 AAK-MCP-018
Files: src/sandbox.js · reported by agent-audit-kit
1 AAK-SUPPLY-004
Files: package.json · reported by agent-audit-kit
1 EXCESSIVE_FILE_COUNT
Files: /repo/. · reported by cisco-skill-scanner
1 LOW_ANALYZABILITY
Files: /repo · reported by cisco-skill-scanner
1 opt.nerlo-rules.nerlo-hardcoded-external-egress
Files: /repo/src/lockfile.js · reported by nerlo-behavioral
1 opt.nerlo-rules.nerlo-install-run-bundled-artifact
Files: /repo/validation/calibration-2026-07-19/README.md · reported by nerlo-install-instruction