Bugoon Security
自分や自チームが保守するリポジトリを、Claude で体系的にセキュリティレビューする macOS アプリです。指摘ごとに、該当するコードと「なぜそう言えるのか」を添えて示します。
ダウンロード
最初の版を公開する準備をしています。公開したら、ここに dmg へのリンクと SHA-256 を載せます。
Bugoon Security は無料です。Bugoon(ブラウザからのバグ報告サービス)とは別の製品で、無保証です。サポートは下の報告窓口へのメールで受け付けます。
必要なもの
- Apple シリコン(M1 以降)の Mac と macOS 13 以降。Intel の Mac には今は対応していません。
- Claude の利用手段。Anthropic の API キー、Amazon Bedrock、Google Vertex AI のどれか 1 つ。claude.ai のサブスクリプション(Pro・Max など)では使えません。
- git で管理している、自分や自チームが保守するリポジトリ。
- あると良いもの: gitleaks(鍵やパスワードの検査)と osv-scanner(依存の脆弱性の検査)。無ければその検査を飛ばします。
Claude の利用料金は、利用者の Anthropic・AWS・Google Cloud の契約に請求されます。アプリは検査の前に費用の目安を出し、1 回の検査の費用の上限(設定で変えられます)に達したら止めます。
導入の手順
- dmg を開き、Bugoon Security を「アプリケーション」フォルダへドラッグします。
- 先に正しいアプリかを確かめることをおすすめします。
- 「アプリケーション」から Bugoon Security を開きます。Apple の公証を通しているので、警告は「インターネットからダウンロードされたアプリです」の確認だけです。
- 設定の「Claude の利用」で、使い方(API キー・Amazon Bedrock・Google Vertex AI)を選び、モデルと費用の上限を決めます。
- 設定の「リポジトリ」で、レビューするリポジトリのフォルダを追加します。
- 検査の画面から検査を始めます。AI に送るファイルは、送る前に一覧で確かめられます。
Claude の利用手段の用意
Anthropic の API キー
- Claude Console にログインし、支払い方法を登録します。
- 「API Keys」で「Create Key」を押し、名前(例:
bugoon-security)を付けてキーを作ります。キーはこのときだけ表示されます。 - アプリの設定の「Claude の利用」で使い方を「API キー」にし、キーを貼り付けて「キーチェーンに保存」を押します。
キーは macOS のキーチェーンにだけ保存し、画面には出しません。Console の「Limits」で月の上限を決めておくと、アプリの上限と二重に守れます。
Amazon Bedrock
AWS のアカウントで Bedrock の Anthropic のモデルを使えるようにし、この Mac に AWS の認証情報(~/.aws/credentials や aws configure の設定)を用意します。アプリは AWS の認証情報を保存しません。
Finder から開いたアプリには、ターミナルで設定した環境変数が届きません。リージョンなどは、アプリを開く前に次のように設定してください(Mac を再起動すると消えます)。
launchctl setenv AWS_REGION us-east-1
launchctl setenv AWS_PROFILE default
アプリへ渡す環境変数は AWS_REGION・AWS_PROFILE・AWS_ACCESS_KEY_ID・AWS_SECRET_ACCESS_KEY・AWS_SESSION_TOKEN だけです。設定したらアプリを開き直し、使い方を「Amazon Bedrock」にします。
Google Vertex AI
Google Cloud のプロジェクトで Vertex AI の Claude のモデルを有効にし、gcloud auth application-default login で認証情報を用意します。そのうえで、アプリを開く前に次を設定します。
launchctl setenv CLOUD_ML_REGION us-east5
launchctl setenv ANTHROPIC_VERTEX_PROJECT_ID あなたのプロジェクトID
アプリへ渡す環境変数は CLOUD_ML_REGION・ANTHROPIC_VERTEX_PROJECT_ID・GOOGLE_APPLICATION_CREDENTIALS だけです。設定したらアプリを開き直し、使い方を「Google Vertex AI」にします。
gitleaks と osv-scanner
どちらもアプリには同梱していません。この Mac に入っているものを探して使います(PATH と、Homebrew の /opt/homebrew/bin・/usr/local/bin)。Homebrew で入れるのがかんたんです。
brew install gitleaks osv-scanner
- gitleaks: コードと git の履歴に残った鍵やパスワードを探します。見つけた値は伏せ字にして扱います。
- osv-scanner: lockfile に載った依存の既知の脆弱性を調べ、その依存を呼んでいるかを AI が確かめます。既定では手元の脆弱性データベースだけを使い、外へ通信しません。設定で許可すると、検査のたびにデータベースを取りに通信します。lockfile の中身やコードは送りません。
入れたあとは、アプリの設定に見つけた版が表示されます。
正しいアプリかを確かめる
ダウンロードした dmg が改ざんされていないことと、アプリの署名が RUBY JOBS K.K. のものであることを、ターミナルで確かめられます。
SHA-256 を比べる
shasum -a 256 ~/Downloads/Bugoon-Security_版_aarch64.dmg
表示された値が、ダウンロードに載せた値や /latest.json の sha256 と一致することを確かめます。
署名と公証を確かめる
spctl -a -vv "/Applications/Bugoon Security.app"
次の 3 つがそろっていれば、RUBY JOBS K.K. が署名し、Apple の公証を通したアプリです。
acceptedsource=Notarized Developer IDorigin=Developer ID Application: RUBY JOBS K.K. (MY6U279MM8)
同梱している claude(Anthropic の Claude Code)は、Anthropic が署名したものを手を加えずに入れています。
保証の範囲
- 指摘が見つからなかったことは、問題が無いことの証明ではありません。AI のレビューは見落とします。
- 「解決済み」は、確定したときと同じ確認が、そのコミットで成り立たなかったという意味です。安全であることの証明ではありません。
- AI の指摘・確認のテスト・修正案の正しさは保証しません。適用するかどうかは利用者が判断してください。
- レビューできるのは、手元にあり、自分や自チームが保守しているリポジトリだけです。他人のシステムを調べる用途には使えません。
コードがこの Mac の外へ出るのは、Claude へ送るときだけです(送る前に範囲を確かめられ、鍵などの値は伏せ字にします)。テレメトリは送りません。
お知らせの登録(任意)
Bugoon Security の新しい版や、急いで更新してほしい修正をメールでお知らせします。ほかのお知らせは送りません。ダウンロードに登録は要りません。
登録すると確認のメールが届きます。メールのリンクを押すまで登録は済みません。配信はお知らせのメールからいつでも止められます。アドレスの扱いはプライバシーポリシーの「お知らせの登録」に書いています。
報告窓口
不具合や脆弱性の報告、問い合わせは info+bugoon-security@rubyjobs.jp へメールでお送りください。脆弱性の報告は、修正を公開するまで内容を公にしないようお願いします。アプリの設定の画面にも同じアドレスを載せています。
運営: RUBY JOBS K.K. ・ 利用規約 ・ プライバシーポリシー