AI coding agents and MCP servers changed how fast we ship—and quietly broke traditional supply-chain security.
Most scanners check known CVEs in lockfiles. They completely miss what happens in modern AI-assisted repos:
Slopsquatting (404 takeover slots): LLMs hallucinate plausible package names. If that slot is unregistered on npm, anyone can claim it and execute code on install.
Malware tombstones (0.0.1-security): Configs still invoke taken-down malicious MCP packages via npx, which return HTTP 200 on npm unless you inspect the security placeholder metadata.
Wrong-registry & vendor scope traps: Calling Python-only uvx MCP servers from npm, Reference to non-vendor scopes like @anthropic/* instead of @anthropic-ai/*, or unpinned Git installs (npx github:owner/repo without a commit SHA).
Plaintext MCP credentials & LLM token bloat: Live tokens sitting inside .mcp.json / claude_desktop_config.json env blocks, and unshielded lockfiles burning tens of thousands of context tokens.
Over the weekend I shipped RepoXray (rxray) to solve all four in a single pass—incorporating real-world rules from empirical scans of 10,659 public MCP configurations.
How it works:
Zero-Upload Web App: Runs 100% locally inside an isolated browser Web Worker (File System Access API). Zero source code bytes ever leave your machine.
Zero-Dependency CLI (~20 KB, SLSA OIDC provenance): Run npx rxray . or install a <1s offline pre-commit gate via npx rxray init-hook.
Guardrail Compiler: Automatically generates tailored .aiignore and AGENTS.md files to shield secrets and cut wasted LLM context tokens.
Test it on a local folder, run the 1-second vulnerable repo demo in your browser, or point it at any public GitHub repo:
What sells it for me is the refusal telling the agent exactly where the token should go. A bare "no hex" error usually just sends it looping. Does guard.mjs run only as an agent hook, or in pre-commit too so it catches humans as well?
I'd pick Violet Desk. Blue is what every SaaS uses, violet stands out and still says AI, and the orange sticky notes pop more against it. Does the hero chip row under the headline work on mobile?