Owasp Scan

io.github.GuardBeePublished by GitHub account GuardBeev0.5.2Updated Nov 3, 2026

Unified OWASP MCP Top 10 scan — path or live tools/list, A–F grade, SARIF

The publisher's own server: scan.mx Email Diagnostics

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

Runs a unified OWASP MCP Top 10 security scan over a filesystem path, a live MCP server, or a saved tools/list dump, returning findings with an A–F grade.

What you can do
  • Scan a file or directory with seven auditors covering secrets, server config, OAuth, audit gaps, context oversharing, toxic flows and tool poisoning
  • Connect to a live MCP server over HTTP or stdio, call tools/list and grade toxic flows and tool poisoning
  • Audit a saved tools/list JSON dump offline with the same checks
  • List OWASP MCP Top 10 categories and which scanners cover them
  • Optionally inventory MCP servers configured on the machine for shadow-server findings
When to use it
Useful when reviewing an MCP server's code or tool list before trusting it, or when adding an automated security gate to CI for MCP projects. It grades findings and can fail a build on high or critical issues.
Requirements
Runs locally as an npm package via npx, so Node.js is needed. No accounts, API keys or headers are declared. Live mode needs network access to the target server or a command to launch it; shadow discovery reads local client configs.
Before you install
Live mode connects to the target server and calls its tools/list, so point it only at servers you are allowed to probe. Optional telemetry is off by default; setting GUARDBEE_TELEMETRY=1 sends server, tool, success, duration and short parameter values such as file paths to a third party. Scans read local files and client configs.

Installation

In SourceWeft

  1. Open Owasp Scan in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@guardbee/mcp-owasp-scan

🇬🇧 English | 🇹🇷 Türkçe | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇧🇷 Português | 🇪🇸 Español | 🇩🇪 Deutsch

[npm version] [npm downloads] [License: MIT]

One CLI and MCP server for a unified OWASP MCP Top 10 check. It runs seven GuardBee auditors over a codebase in one pass, or grades a live MCP server's tool list, and reports every finding under its OWASP id with an A–F grade. Output as text, JSON or SARIF for GitHub code scanning.

Telemetry is off by default. With GUARDBEE_TELEMETRY=1 it sends the server, tool, success, duration and short parameter values such as a file path; longer strings and fields like content, token or password are replaced with a placeholder. See @guardbee/mcp-telemetry.

Quick start

bash
# Static scan of a repository, fail CI on high or critical findingsnpx @guardbee/mcp-owasp-scan scan ./src --format=sarif --fail-on=high > owasp.sarif
# Connect to a running MCP server and grade its toolsnpx @guardbee/mcp-owasp-scan live --url=https://mcp.example.com/mcpnpx @guardbee/mcp-owasp-scan live --stdio=npx --arg=-y --arg=@modelcontextprotocol/server-filesystem --arg=.
# Grade a saved tools/list responsenpx @guardbee/mcp-owasp-scan catalog ./tools.json --format=json

As an MCP server (Claude Desktop, Cursor, VS Code):

json
{  "mcpServers": {    "guardbee-owasp-scan": {      "command": "npx",      "args": ["-y", "@guardbee/mcp-owasp-scan"]    }  }}

Modes

ModeInputWhat runs
scan <path>A file or directorysecret-scanner, mcp-server-auditor, oauth-auditor, audit-gap-auditor, context-oversharing-auditor, toxic-flow-auditor, tool-poisoning-scanner
live--url=<streamable HTTP URL> or --stdio=<command> with --arg=…Connects, calls tools/list, then toxic-flow-auditor and tool-poisoning-scanner
catalog <tools.json>A tools/list dump ({ "tools": [...] } or a bare array)Same checks as live, offline

scan reads TypeScript/JavaScript, Python (FastMCP, official SDK, low-level server) and Go (official go-sdk, mark3labs/mcp-go) MCP servers in full: tool definitions, handler sinks and OAuth rules. Other languages (Rust, Java, Kotlin, C#, Ruby, PHP, Swift) get the language-neutral rules only (secrets, URLs, config). The report's coverage lists every source file with its language, that depth (full or patterns) and the number of tool definitions found, plus a per-language summary (languages: in text output), so a file the scan could not read deeply is visible rather than silently passing.

--discover-shadow adds an MCP09 check to scan: it inventories the MCP servers configured on this machine (Cursor, Claude Desktop, Windsurf, VS Code) through mcp-config-auditor, and --allowlist=<path> marks the approved ones.

OWASP MCP Top 10 coverage

IDRiskCovered by
MCP01Token / credential exposuresecret-scanner, mcp-server-auditor
MCP02Privilege / excessive agencymcp-server-auditor
MCP03Tool poisoning / rug pull surfacetool-poisoning-scanner (scan, live, catalog)
MCP04Supply chainNot in this meta-scan: use mcp-dependency-auditor and mcp-slopsquat-scanner, which need the network
MCP05Command / code injection via toolsmcp-server-auditor
MCP06Prompt / context injectionNot in this meta-scan: use mcp-prompt-injection-scanner on the content an agent reads
MCP07Auth / OAuth misconfigurationoauth-auditor
MCP08Lack of audit and telemetryaudit-gap-auditor
MCP09Shadow MCP serversmcp-config-auditor (--discover-shadow)
MCP10Toxic flows / context oversharingtoxic-flow-auditor, context-oversharing-auditor (scan, live, catalog)

Grade

GradeWhen
FA lethal trifecta: one agent can read untrusted content, reach sensitive data and send data out
DAny critical finding
CAny high finding
BOnly medium or low findings
ANo findings

CLI options

OptionDefaultMeaning
--format=text|json|sariftextReport format. SARIF uploads to GitHub code scanning
--fail-on=any|critical|high|medium|noneanyExit 1 when a finding at or above this severity exists
--max-files=<n>5000Stop a path scan after this many files
--discover-shadowoffAdd the MCP09 host inventory to scan
--allowlist=<path>–Approved servers for --discover-shadow

Exit codes: 0 clean (or below --fail-on), 1 findings at or above --fail-on, 2 usage error.

MCP tools

ToolWhat it does
owasp_scan_pathThe scan mode over a path (path, maxFiles, discoverShadow, allowlistPath)
owasp_scan_liveThe live mode (url, or command with args)
owasp_scan_catalogThe catalog mode on a JSON string
list_owasp_coverageThe coverage table above

GitHub Actions

yaml
- run: npx -y @guardbee/mcp-owasp-scan scan . --format=sarif --fail-on=high > owasp.sarif- uses: github/codeql-action/upload-sarif@v3  if: always()  with:    sarif_file: owasp.sarif

Related packages

Each auditor is also its own package with more options: mcp-secret-scanner, mcp-server-auditor, mcp-oauth-auditor, mcp-audit-gap-auditor, mcp-context-oversharing-auditor, mcp-toxic-flow-auditor, mcp-tool-poisoning-scanner, mcp-config-auditor. To enforce these rules at runtime instead of finding them in code, put mcp-security-proxy in front of your MCP servers.

Feedback

Questions, ideas, or a false positive? Start a thread in GitHub Discussions or open an issue. If GuardBee is useful to you, a ⭐ on the repository helps others find it.

Source: packages/owasp-scan/README.md at commit 82be7b9

Tools

4

owasp_scan_path

Run a unified OWASP MCP Top 10 scan over a filesystem path — orchestrates secret, server, oauth, audit-gap, context-oversharing, toxic-flow, and tool-poisoning auditors; returns A–F grade.

ParameterspathrequiredmaxFilesallowlistPathdiscoverShadow

owasp_scan_live

Connect to a live MCP server (stdio or HTTP), call tools/list, then grade toxic-flow + tool-poisoning (MCP03/MCP10).

Parametersurlargscommand

owasp_scan_catalog

Audit a tools/list JSON dump for toxic flows and tool-description poisoning (MCP03/MCP10).

Parameterslabelcatalogrequired

list_owasp_coverage

List OWASP MCP Top 10 categories and which GuardBee scanners cover them in this meta-scan

Takes no parameters.

Version history

9
  1. v0.5.2LatestNov 1, 2026
  2. v0.5.1Oct 30, 2026
  3. v0.4.0Oct 29, 2026
  4. v0.3.3Oct 22, 2026
  5. v0.3.2Oct 22, 2026
  6. v0.2.7Oct 14, 2026
  7. v0.2.6Oct 13, 2026
  8. v0.2.5Oct 11, 2026
  9. v0.2.2Oct 9, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Scan integrations