Menu

1 / 2

What I found scanning 2,600 public MCP servers

DEV Community·Truong Bui·6 months ago
#NFZSlDEf
#ai#security#mcp#programming#servers
Reading 0:00
15s threshold

Hey everyone, I built a security scanner for MCP servers ( mcpsafe.io ) and ran it across the public catalog I'd indexed from npm, PyPI, and GitHub — about 5,000 active servers, 2,634 of which produced at least one finding. The results were rougher than I expected.

What's broken, by % of servers affected:

51% — unpinned GitHub Actions ( uses: actions/checkout@v4 instead of a SHA). Tag rewrites are silent.

45% — HTTP / socket / subprocess calls without a timeout. Hang-forever territory.

41% — overbroad MCP tool input schemas ( z.string() , bare str , {"type":"string"} on fields named command , query , url ). The exact shape that lets prompt injection through.

37% — except: pass swallowing errors with no logging.

28% — Dockerfiles with no USER directive, so the container runs as root.

22% — npm/pip install-time hooks ( postinstall , custom cmdclass ). Code execution before you ever import anything.

19% — server binds to 0.0.0.0 .…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.