CodeAuditAgent

リポジトリのURLから、マージされた修正まで。

4つのステップの大半は、コーヒーを淹れている間に終わります。

  1. 01

    接続

    GitHubでサインインします。お預かりするのは公開プロフィールとメールアドレスのみです。公開リポジトリのURL、またはスニペットを貼り付けてください。

  2. 02

    取得

    デフォルトブランチからソースファイルを、プランのファイル数上限まで読み取ります。依存関係、ビルド成果物、ロックファイル、minifyされたファイル、60 KBを超えるファイルはスキップします。

  3. 03

    監査

    Claude Fable 5.1がシニア監査担当者としての指示に基づいてコードをレビューします。厳密なスキーマに沿って回答するため、どのレポートも同じ構成で、すべての指摘事項に根拠が伴います。

  4. 04

    修正

    指摘事項を深刻度の高い順に確認し、提案されたパッチをコピーして、再監査でリスクスコアが下がったことを確かめます。

指摘事項の構成

どのレポートのどの指摘事項も同じ項目で構成されているため、50件あってもレイアウトに迷わず目を通せます。

深刻度と確信度
実際の悪用可能性に基づく緊急から情報までの評価と、高・中・低の確信度。
CWEと位置
CWE識別子と、指摘事項が対象とするファイルおよび行範囲。
根拠
問題を示すコードの抜粋を、リポジトリからそのまま引用します。
攻撃シナリオ
攻撃者が現実的にどう悪用するかを、2〜3文で説明します。
対処方法
具体的な修正方法。通常は周囲のコードのスタイルに合わせた修正済みスニペットです。
acme/storefront · src/api/users.ts
サンプル
緊急CWE-89

ユーザー検索のSQLインジェクション

req.query.name がクエリに直接連結されているため、誰でもusersテーブルを読み取り・削除できます。

41  export async function search(req) {- 42    const q = `SELECT * FROM users WHERE name = '${req.query.name}'`;+ 42    const q = 'SELECT * FROM users WHERE name = $1';+ 43    return db.query(q, [req.query.name]);
パッチのレビュー準備完了Claude Fable 5.1
例:重大なSQLインジェクション(CWE-89)と、パラメータ化クエリによる修正パッチ。

レポートが信頼できる理由

根拠がなければ指摘しない

監査エンジンは、引用できない指摘事項を挙げないよう指示されています。漠然としたベストプラクティスの助言は指摘事項リストに含めません。

コードは信頼できない入力として扱う

システムプロンプトはソースコードを厳密に監査対象のデータとして扱い、コメントに隠された指示に対して強化されています。

構造化を前提とした設計

モデルはJSONスキーマ付きの強制ツール呼び出しで回答するため、レポートが中途半端な文章になることはありません。

攻撃者より先に脆弱性を見つけましょう。

GitHubでサインインすれば、1分以内に最初の監査を実行できます。無料プランはクレジットカード不要です。