SuperAPI AI 工具集

bugsy

Bugsy 是 Mobb 推出的社区版命令行工具(CLI),用于自动修复代码中的安全漏洞,由 Mobb 官方在 GitHub 上以 mobb-dev/bugsy 开源维护。Mobb 是供应商无关的自动安全漏洞修复工具,可接收来自 Checkmarx、CodeQL(GitHub Advanced Security)、OpenText Fortify 和 Snyk 的 SAST 扫描结果,并生成供开发者审查和提交的代码修复。Bugsy 提供两种模式:Scan 模式(无需预先准备 SAST 报告,直接使用 Checkmarx 或 Snyk CLI 对指定的开源 GitHub/GitLab/ADO 仓库运行 SAST 扫描)和 Analyze 模式(需用户提供上述受支持 SAST 工具预生成的报告)。它会分析漏洞报告,识别可自动修复的问题,生成代码修复并引导用户前往 Mobb 平台的修复报告页面。此外,Bugsy 还能作为 MCP(Model Context Protocol)服务器使用,让 Claude 等 AI 助手自动扫描并修复代码仓库中的漏洞。需要注意的是,Bugsy 本身不检测漏洞,而是基于上述 SAST 工具的检测结果。社区版仅分析公开的 GitHub 仓库,私有仓库仅允许在有限时间内分析。

访问官网

工具介绍

工具定位

Bugsy 是一个命令行界面(CLI)工具,提供代码安全漏洞的自动修复能力。它是 Mobb 的社区版,Mobb 被描述为第一个供应商无关的自动安全漏洞修复工具。Bugsy 旨在帮助开发者快速识别并修复代码中的安全漏洞。

主要能力

Mobb 可摄取来自 Checkmarx、CodeQL(GitHub Advanced Security)、OpenText Fortify 和 Snyk 的 SAST 结果,并生成供开发者审查和提交的代码修复。

Bugsy 具备两种模式:

  • Scan 模式(无需 SAST 报告):使用 Checkmarx 或 Snyk CLI 工具对指定的开源 GitHub/GitLab/ADO 仓库运行 SAST 扫描;分析漏洞报告以识别可自动修复的问题;生成代码修复,并将用户重定向到 Mobb 平台上的修复报告页面。
  • Analyze 模式(需用户提供预生成的 SAST 报告):分析 Checkmarx/CodeQL/Fortify/Snyk 漏洞报告,识别可自动修复的问题。

需要特别说明的是:Bugsy 本身不检测代码中的任何漏洞,它使用的是上述 SAST 工具检测出的结果。社区版仅分析公开的 GitHub 仓库;私有仓库仅允许在有限时间内分析。

使用方式

可通过命令行使用 npx 直接运行 Bugsy,运行后将显示其用法帮助。

运行新的 SAST 扫描并获取修复,使用 Bugsy Scan 命令。

获取预先生成的 SAST 报告的修复,使用 Bugsy Analyze 命令。示例:

npx mobbdev analyze --scan-file sast_results.json --repo https://github.com/mobb-dev/simple-vulnerable-java-project

Bugsy 会为结果中识别出的每个受支持漏洞自动生成修复,并引导开发者审查并提交这些修复到代码中。使用 Scan 或 Analyze 命令加 -h 选项可查看 Bugsy 支持的所有选项。

作为 MCP 服务器使用

Bugsy 也可作为 MCP 服务器使用,使 Claude 等 AI 助手能够自动扫描并修复代码仓库中的漏洞。

API 密钥:使用 MCP 服务器功能需要 Mobb API 密钥。在 mobb.ai 注册获取 API 密钥,并设置 API_KEY 环境变量:

export API_KEY=your_api_key_here

本地 Git 仓库:MCP 服务器分析带有未提交更改的 git 仓库。需确保代码位于本地 git 仓库中,并有已修改、已添加或已暂存的文件可供分析。

从命令行运行 mobb-mcp。

将 Mobb MCP 添加到 Cursor MCP 客户端配置中。API_URL 仅在未使用 https://app.mobb.ai 时需要。

环境变量:

  • API_KEY:你的 Mobb API 密钥(必需)
  • API_URL:自定义 Mobb API URL(可选,默认为 https://app.mobb.ai)
  • MVS_AUTO_FIX:覆盖自动修复设置——设为 "true" 或 "false",可强制启用/禁用自动应用修复,不受用户数据库设置影响(可选)

配置完成后,可通过 AI 助手使用 MCP 服务器:让 Claude 扫描漏洞(使用 mobb-mcp 运行扫描,或运行 fix-vulnerabilities MCP 工具)。

MCP 服务器将:验证仓库路径;检查 git 变更(已修改、已添加或已暂存的文件);上传变更文件进行分析;为检测到的漏洞生成自动修复;返回详细的修复建议。

fix_vulnerabilities:扫描当前代码变更并返回潜在漏洞的修复。

  • 参数:path(字符串)——本地 git 仓库的路径
  • 返回:包含代码补丁和说明的详细漏洞修复

MCP 使用流程:对代码进行更改;在 git 中暂存或修改文件;向 AI 助手提问:“Can you check my code for security vulnerabilities?”;助手将使用 MCP 服务器分析你的更改;收到包含代码补丁的详细修复建议。

常见错误提示

  • “API_KEY environment variable is not set”:请确认已设置 Mobb API 密钥
  • “Path is not a valid git repository”:请确保指向有效的 git 仓库
  • “No changed files found”:请确保仓库中有已修改、已添加或已暂存的文件

在 CI/CD 流水线中使用

如果 CI/CD 流水线中包含 SAST 扫描,Bugsy 可以轻松接入,为每个检测到的问题提供即时修复。以下是一个在流水线中运行 Bugsy 的简单命令行示例。

默认情况下,Bugsy 在分析期间使用 WebSocket 连接进行实时状态更新。但某些代理环境或防火墙可能会阻止 WebSocket 连接。此时可使用 --polling 标志改用 HTTP 轮询。

何时使用 --polling:网络阻止 WebSocket 连接(ws:// 或 wss://);处于不支持 WebSocket 的企业代理之后;使用默认 WebSocket 模式时出现连接超时。

轮询特性:轮询间隔 5 秒;超时 30 分钟;相比 WebSocket 模式延迟略高,但可在受限环境中工作。

开发与支持

安装依赖并运行测试。如果使用 VSCode,可使用 launch.json 文件调试代码,运行 CLI tests 配置以持续运行和调试测试。

如需使用 Bugsy 的支持,或希望分享想法和了解更多信息,欢迎加入 Discord 服务器。