PaPoo
cover

A Security Scanner Is Good. The Trust Theater Around It Is Less So

What jumped out at me wasn’t the idea of scanning MCP servers. That part is obvious enough. What made me pause was the way the article quietly slides from “here are some useful static checks” into a much bigger claim about verifiable trust, on-chain audit trails, badges, DIDs, and a score that supposedly tells outsiders whether they should rely on your server. That leap feels much less solid than the tooling itself.

image_0003.svg

A rule-based scanner for obvious foot-guns makes sense. If an MCP server is spreading process.env into tool output, doing dynamic require() from tool input, or making outbound calls that the LLM can influence, I want that flagged too. Those are real classes of mistakes, and they’re exactly the sort of thing that slips through when people treat agent tooling like normal app code and forget that the model is now part of the attack surface.

image_0005.svg

image_0004.svg

What I’m less convinced by is the “0-100 trust score” framing. Security does not compress neatly into a single number, especially not when the article itself admits the scoring is simplistic and reachability isn’t modeled yet. A HIGH finding in a dead code path is not the same as one in a core auth handler, and the piece knows that. So the score is useful as a rough gate in CI, but as a public signal for users? I’d treat it as marketing unless I could inspect the rules, the suppressions, and the actual scan history.

image_0006.svg

The dynamic analysis idea is stronger, but also more limited than the pitch suggests. Synthetic tool calls can catch phone-home behavior and some runtime tricks, sure. They also miss the exact kind of weirdness that makes LLM systems hard: prompts that only become dangerous in combination with real model-generated inputs, auth setup that changes the code path, dependencies that behave differently under load, and so on. The article is honest about some of that, which I appreciate. It doesn’t make the trust story any less shaky.

image_0008.svg

image_0007.svg

The broader pattern here feels familiar: the ecosystem keeps inventing security labels for agent infrastructure because everyone wants a simple answer to a messy problem. I think the scanner is a decent piece of hygiene. I do not think a badge, even one backed by some elaborate identity system, tells me enough to trust an MCP server in the wild. If I were adopting one, I’d use this as a pre-merge tripwire, then still review the server like it can hurt me. Because it can.

image_0010.png


image_0013.png

image_0012.png

Reference: How to Audit Your MCP Servers for Security Risks

image_0014.png

同じ著者の記事