Skip to main content
All 10 q-ai scanners map 1:1 to OWASP MCP Top 10 categories. Every audit scan runs all scanners by default, or use --checks to target specific ones.

Coverage

OWASP IDVulnerabilityScannerAnalysisCoverage notes
MCP01Token Mismanagement & Secret Exposuretoken_exposureBothChecks schemas for sensitive parameter names, scans tool responses and errors for leaked secrets (JWT, API keys, bearer tokens)
MCP02Privilege Escalation via Scope CreeppermissionsStaticFlags excessive tool counts, dangerous capability categories, unconstrained parameters, high write/execute ratios
MCP03Tool Poisoningtool_poisoningStaticDetects embedded instructions, hidden Unicode, homoglyphs, description length anomalies, duplicate/shadowed tools
MCP04Supply Chain & Integritysupply_chainBothChecks server identity, known CVE versions, protocol version currency, tool namespace confusion
MCP05Command Injection & ExecutioninjectionActiveInjects canary-marked payloads into tool parameters, detects command injection, argument injection (CWE-88), path traversal (CWE-22)
MCP06Prompt Injection via Contextual Payloadsprompt_injectionActiveCalls tools with benign inputs, scans responses for injection patterns, hidden Unicode, suspicious URLs, cross-tool manipulation
MCP07Insufficient Authentication & AuthorizationauthActiveTests unauthenticated enumeration and tool invocation, transport encryption, well-known port exposure
MCP08Lack of Audit & Telemetryaudit_telemetryBothChecks server identification, logging capability, error information disclosure, sensitive data in errors
MCP09Shadow MCP Serversshadow_serversStaticAnalyzes server metadata and tool names for unmanaged/shadow deployment characteristics
MCP10Context Injection & Over-Sharingcontext_sharingBothTests for excessive context in responses, session data leakage, error context leakage, resource over-exposure
Analysis types:
  • Static — Analyzes tool schemas, names, and descriptions without invoking any tools. Safe by design.
  • Active — Calls tools with test inputs and analyzes responses. May trigger side effects on the target server.
  • Both — Combines static schema analysis with active tool invocation.
Active scanners invoke tools on the target server. Only scan servers you own, control, or have explicit permission to test.

Known gaps

ScannerWhat it testsWhat it cannot test
token_exposureSecret patterns in schemas, responses, and errorsSecrets stored in server-side memory or logs that are not returned to the client
permissionsTool metadata and schema structureRuntime permission enforcement or dynamic capability changes
tool_poisoningStatic description and name analysisDynamic poisoning introduced after initial registration (rug pulls)
supply_chainServer identity, known CVEs, namespace confusionBuild pipeline integrity or dependency graph analysis
injectionParameter-level command injection with canary detectionBlind injection without observable output, time-based detection
prompt_injectionInjection patterns in tool output contentWhether injected content actually influences the calling LLM agent
authConnection-level authentication and transport securityFine-grained authorization policies, CORS, or session management
audit_telemetryServer metadata and error response contentServer-side logging configuration or alerting infrastructure
shadow_serversDeployment indicators in metadataNetwork scanning for undiscovered MCP servers
context_sharingResponse content and resource scopingCross-session isolation or context persistence across reconnections
The inject module provides deeper testing for MCP03 and MCP06 by measuring actual agent responses to poisoned tools. The chain module composes findings across categories into multi-step attack paths.
See Scanner Coverage for per-scanner detail and CLI usage.