Bawbel Scanner

io.github.bawbel由 GitHub 账号 bawbel 发布v1.1.0更新于 Oct 24, 2026

Scan MCP servers and skill files for AVE vulnerabilities. Conformance scoring and threat intel.

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

本地 MCP 服务器,让助手扫描 MCP 服务器与技能文件中的 AVE 漏洞、评估规范符合度并查询威胁情报。

可以做什么
扫描原始文本、技能文件和远程服务器卡片中的 AVE 漏洞,包括凭据泄露和不安全的委派链,并可用审计模式显示被抑制的发现。按 MCP 规范为服务器清单评分,给出等级和未通过检查列表。查询、搜索和列出 AVE 威胁情报记录,含严重性评分与修复建议。记录带理由、审核人和可选有效期的合理抑制,并检测技能文件目录中的 rug pull 漂移。以资源形式读取 AVE 数据库统计和单条记录。
适用场景
在把某个 MCP 服务器或技能文件加入配置前做安全审查时使用;也可用于检查内容中是否含硬编码密钥或提示注入,或在安全评审中获取 AVE 威胁情报与修复指引。
运行要求
通过 stdio 在本地运行,通常用 uvx 从 bawbel-mcp 的 PyPI 包启动。需要 Python 3.10+ 以及 PATH 中的 bawbel 命令行工具,该工具随包自动安装。可选附加安装会装入全部检测引擎。获取远程服务器卡片和查询威胁情报 API 需要网络访问。
安装前请注意
扫描远程服务器卡片会从第三方网址获取内容,威胁情报查询会发往外部 API。接受某条发现会直接把抑制注释写入被扫描文件,从而修改该文件,应在版本控制中审阅。审计模式会绕过所有抑制层,可能重新显示此前被标为误报的发现。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Bawbel Scanner,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Bawbel MCP Server

Security scanner for MCP servers and agentic AI components, exposed as MCP tools.

Bawbel MCP Server lets any MCP-compatible agent scan servers, check skill files, score conformance, manage justified suppressions, and query the AVE threat intelligence database mid-conversation.

[PyPI version] [PyPI - Python Version] [PyPI - Downloads] [License] [AVE Standard] [MCP Compatible] [Powered by]


Install

bash
pip install bawbel-mcp

Or with all detection engines (YARA, Semgrep, LLM, Magika, Sandbox):

bash
pip install "bawbel-mcp[all]"

Tools

ToolDescription
scan_contentScan raw text content for AVE vulnerabilities
scan_server_cardFetch and scan an MCP server-card before connecting
scan_credsCredential-focused scan (API keys, tokens, passwords, private keys)
scan_chainDelegation chain scan (unsafe sub-agent spawning and inherited permissions)
check_conformanceScore a server manifest against the MCP spec (18 checks, A+ to F)
accept_findingInsert a justified suppression with reason, reviewer, and optional expiry
lookup_aveGet a full AVE record by ID with remediation guidance
search_aveSearch AVE records by keyword
list_aveList all AVE records with optional severity/category filters
check_pinsDetect rug pull drift in a directory of skill files

Resources

ResourceDescription
ave://statsCurrent AVE database statistics
ave://record/{ave_id}Full AVE record for a specific ID

Usage

Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "bawbel": {      "command": "uvx",      "args": ["bawbel-mcp"]    }  }}

Claude Code

bash
claude mcp add bawbel uvx bawbel-mcp

Cursor / Windsurf

Add to your MCP settings:

json
{  "bawbel": {    "command": "uvx",    "args": ["bawbel-mcp"]  }}

Remote deployment (Streamable HTTP)

bash
uvx bawbel-mcp --transport streamable-http --host 0.0.0.0 --port 8000

Example conversations

Scan a server before connecting:

"Before I add this MCP server to my config, scan it for security issues: https://api.some-mcp-server.com"

Claude calls scan_server_card("https://api.some-mcp-server.com") and reports findings with AVE IDs, AIVSS severity scores, and remediation steps.

Check a skill file:

"Check this skill file content for prompt injection vulnerabilities"

Claude calls scan_content(content) and returns findings including any toxic flow chains detected.

Check for hardcoded credentials:

"Does this skill file contain any hardcoded API keys or secrets?"

Claude calls scan_creds(content) and returns credential findings only.

Check for unsafe delegation:

"Does this skill spawn sub-agents without proper trust boundaries?"

Claude calls scan_chain(content) and returns delegation chain findings.

Accept a false positive:

"Mark AVE-2026-00001 on line 7 of travel.md as a false positive. Reason: internal registry endpoint, not attacker-controlled."

Claude calls accept_finding(...) and writes the justified suppression comment directly into the file. The approval is tracked in version control.

Score a server against the spec:

"Does this server follow the MCP spec? https://api.some-mcp-server.com"

Claude calls check_conformance("https://api.some-mcp-server.com") and returns a score, grade, and list of failed checks.

Look up a vulnerability:

"What is AVE-2026-00041 and how do I fix it?"

Claude calls lookup_ave("AVE-2026-00041") and returns the full record with behavioral fingerprint, IOCs, and remediation steps.

Search for relevant vulnerabilities:

"What AVE records cover credential exfiltration?"

Claude calls search_ave("credential exfiltration") and returns matching records with AIVSS scores and OWASP MCP categories.

Audit mode - see all findings including suppressed:

"Scan this file and show me everything, including suppressed findings."

Claude calls scan_content(content, no_ignore=True) and bypasses all suppression layers.


Requirements

  • Python 3.10+
  • bawbel-scanner>=1.2.2 (installed automatically)
  • fastmcp>=3.0.0 (installed automatically)

The bawbel CLI must be available in PATH. Installing bawbel-mcp installs bawbel-scanner which provides the bawbel CLI.


Related


Apache 2.0. Built by Bawbel.

来源:README.md,提交 52eac38

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分