rt_pin_tools
Generate SHA-256 pins for all tool definitions — descriptions, schemas, and metadata
How to use it
rt_pin_tools is exposed by the MCP Security Scanner MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the rt_pin_tools tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.
Install MCP Security Scanner
npx -y mcp-security-scannerOther tools in MCP Security Scanner (39)
Deep audit of an MCP config file — env var exposure, stdio vs SSE transport, argument injection
Auto-discover all MCP configuration files — Claude Desktop, Cursor, VS Code, Windsurf, custom paths
Check for context oversharing — configs exposing too many tools or resources to the agent
Detect shadow MCP servers — unauthorized servers in config that shouldn't be there
Scan .env files for secrets, oversharing, and insecure variable patterns
Detect ANSI escape sequences in tool descriptions that can manipulate terminal output or hide content
Analyze server authentication and authorization mechanisms
Detect callback/webhook URL parameters that could enable SSRF — checks for missing URL constraints
Inspect server capabilities — experimental features, dynamic tool changes (listChanged), logging, sampling
Check for cross-origin tool invocation risks between multiple connected MCP servers
Check HTTP response headers — HSTS, CORS, X-Content-Type-Options, Cache-Control, cookie flags
Analyze server instructions from initialization for poisoning, social engineering, excessive length
Test if HTTP/SSE server validates OAuth tokens — sends no token, invalid token, and forged JWT (alg:none)
Fetch prompt content via getPrompt() and scan for injection patterns, template syntax, dangerous arguments
Check server name/version from initialization — flags missing info, outdated SDK versions
Send rapid ping() bursts to test rate limiting — flags servers accepting unlimited requests
Read actual resource content via readResource() and scan for poisoning, ANSI, Unicode stego, oversized content
Check for sensitive resource exposure through MCP resource endpoints
Analyze tool schemas for excessive permissions — tools requesting more access than their description implies
Inspect TLS certificate — expired, self-signed, weak signature (SHA-1), short key (<2048 bits), plain HTTP
Dual-snapshot comparison with configurable delay — detect tool additions, removals, description changes (rug pull)
Scan tool descriptions for 15+ poisoning patterns — hidden instructions, prompt injection, data exfiltration triggers
Detect tools that shadow or override standard tool names to intercept agent actions
Detect zero-width Unicode characters used to hide instructions in tool descriptions (steganography)
Fuzz-test tools with edge-case inputs — path traversal, command injection, SQL injection, type confusion (dry-run by default)
Connect to a running MCP server (stdio/HTTP/SSE) and enumerate all tools, schemas, resources, and prompts
Verify current tool definitions against previously saved pins to detect rug pull modifications
Detect code execution vulnerabilities — eval(), Function(), vm.runInNewContext() with user input
Detect command injection vulnerabilities — taint tracking from tool inputs to exec/spawn/execFile sinks
Detect hardcoded secrets — API keys, passwords, tokens, connection strings in source code
Detect information disclosure — stack traces, debug output, verbose errors exposed to clients
Detect insecure cryptographic usage — MD5, SHA1, ECB mode, hardcoded IVs, weak key sizes
Audit logging coverage — detect tool handlers missing audit logging for security events
Detect path traversal vulnerabilities — taint tracking from tool inputs to fs.readFile/writeFile sinks
Detect prototype pollution vectors — unsafe object merging, bracket notation with user input
Detect ReDoS-vulnerable regular expressions — catastrophic backtracking patterns
Full SAST scan of a directory — runs all 11 analyzers with AST-based taint tracking via ts-morph
Detect SSRF vulnerabilities — taint tracking from tool inputs to fetch/http.request/axios sinks
Detect unsafe regex patterns — unescaped user input in RegExp constructors