The same zoo, through two detectors
25 malicious artifacts, 25 real MCP servers. Static reads the label; Reactor watches it behave.
Detection
24/25Malicious artifacts caught
96% detection rate
False quarantine
0False blocks · 25 real servers
0% false-quarantine rate
Static-blind
9Catches with no static signature
mcp-scan caught 15 of 25
Static-blind rate25 malicious artifacts · 1 cell = 1 artifact
mcp-scanStatic · reads the description
15/ 25 caught
ReactorRuntime · watches it behave
24/ 25 caught
Reactor only · 9Caught by both · 15Hollow = walked past this detector
The 9, by signal typeStatic-blind
3rug_pull
Rug pull · mcp-scan 0
2context_exfil
Context exfiltration · mcp-scan 0
2conditional_trigger
Conditional trigger · mcp-scan 0
2install_hook
Install hook · mcp-scan 0
41.2sTime to verdict
p50 38.4s · p95 71.8s
$0.004Cost / detonation
$0.19 for the whole zoo
3/40Red-team escape
8% of mutations slipped past
9 of those catches are things a description scanner cannot see. Not doesn't — can't. VirusTotal never saw the agent supply chain coming. Static scanners read the label; we watch it behave.
Bundled fixture · 2026-07-24T00:00:00Z