Bugsyは、コードのセキュリティ脆弱性を自動的に修正するためのコマンドラインインターフェース(CLI)ツールです。これは、ベンダーに依存しない初の自動セキュリティ脆弱性修正ツールであるMobbのコミュニティエディション版です。Bugsyは、開発者がコードのセキュリティ脆弱性を迅速に特定し、修正できるように設計されています。
Mobbは、ベンダーに依存しない初の自動セキュリティ脆弱性修正ツールです。Checkmarx、CodeQL(GitHub Advanced Security)、OpenText Fortify、SnykからのSAST結果を取り込み、開発者がレビューしてコードにコミットできるコード修正を生成します。
Bugsyには2つのモードがあります - スキャン(SASTレポート不要)と分析(ユーザーが対応するSASTツールから事前生成されたSASTレポートを提供する必要があります)。
スキャン
分析
これはコミュニティエディション版であり、公開GitHubリポジトリのみを分析します。プライベートリポジトリの分析は、限られた時間内でのみ許可されています。 Bugsyはコード内の脆弱性を検出するものではなく、上記のSASTツールによって検出された結果を使用します。
npxを使用して、コマンドラインからBugsyを簡単に実行できます。
npx mobbdev
これにより、Bugsyの使用ヘルプが表示されます。
Bugsy - Trusted, Automatic Vulnerability Fixer 🕵️♂️
Usage:
mobbdev <command> [options]
Commands:
mobbdev scan Scan your code for vulnerabilities, get automated fixes right away.
mobbdev analyze Provide a vulnerability report and relevant code repository, get automated fixes right away.
Options:
-h, --help Show help [boolean]
Examples:
mobbdev scan -r https://github.com/WebGoat/WebGoat Scan an existing repository
Made with ❤️ by Mobb
リポジトリに対して新しいSASTスキャンを実行し修正を取得するには、Bugsy Scanコマンドを実行します。例:
npx mobbdev scan --repo https://github.com/mobb-dev/simple-vulnerable-java-project
事前生成されたSASTレポートに対する修正を取得するには、Bugsy Analyzeコマンドを実行します。例:
npx mobbdev analyze --scan-file sast_results.json --repo https://github.com/mobb-dev/simple-vulnerable-java-project
Bugsyは、結果で特定されたサポートされている各脆弱性に対して自動的に修正を生成し、開発者がレビューしてコードにコミットできるようにします。
Bugsyが許可するすべてのオプションを表示するには、ScanまたはAnalyzeコマンドを -h オプション付きで使用します。
npx mobbdev scan -h
npx mobbdev analyze -h
BugsyはMCPサーバーとしても使用でき、ClaudeなどのAIアシスタントがコードリポジトリの脆弱性を自動的にスキャンして修正できるようになります。
APIキー: MCPサーバー機能を使用するには、Mobb APIキーが必要です。
API_KEY環境変数を設定します: export API_KEY=あなたのAPIキーローカルGitリポジトリ: MCPサーバーは、コミットされていない変更があるGitリポジトリを分析します。
コマンドラインからmobb-mcpを実行します。
npx mobbdev mcp
Cursor MCPクライアント設定にMobb MCPを追加します。
API_URLは、https://app.mobb.ai を使用していない場合にのみ必要です。
{
"mcpServers": {
"mobb-mcp": {
"command": "npx",
"args": ["mobbdev", "mcp"],
"env": {
"API_KEY": "あなたのMobb APIキー",
"API_URL": "任意__あなたのMobb API URL",
"MVS_AUTO_FIX": "true"
}
}
}
}
環境変数:
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サーバーは次のことを行います:
fix_vulnerabilities: 現在のコード変更をスキャンし、潜在的な脆弱性に対する修正を返します。
path(文字列) - ローカルGitリポジトリへのパスCI/CDパイプラインの一部としてSASTスキャンを利用している場合、Bugsyを簡単に追加して、検出されたすべての問題に対して即座に修正を提供できます。 以下は、パイプラインでBugsyを実行するコマンドラインの簡単な例です。
npx mobbdev analyze --ci --scan-file $SAST_RESULTS_FILENAME --repo $CI_PROJECT_URL --ref $CI_COMMIT_REF_NAME --api-key $MOBB_API_KEY
デフォルトでは、Bugsyは分析中のリアルタイムステータス更新にWebSocket接続を使用します。ただし、一部のプロキシ環境やファイアウォールはWebSocket接続をブロックする場合があります。そのような場合、代わりに--pollingフラグを使用してHTTPポーリングを使用できます。
npx mobbdev analyze --scan-file report.json --repo https://github.com/org/repo --polling
--pollingを使用する場合:
ポーリングの特性:
依存関係をインストールしてテストを実行します。
pnpm install
# または npm run build:dev を使用して変更を監視
pnpm run build
# または npm test:watch を使用して変更を監視
pnpm run test
VSCodeを使用している場合、launch.jsonファイルを使用してコードをデバッグできます。CLI tests設定を実行して、テストを継続的に実行およびデバッグします。
Bugsyの使用に関するサポートが必要な場合、または単に意見を共有してさらに学びたい場合は、discordサーバーにご参加ください。