【要約】コードが読めない私が、Claude Codeに実装を全部任せて脆弱性トリアージCLIを作った話 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
セキュリティコンサルタントが、脆弱性管理における優先順位付けの困難さに直面した。Trivy等のスキャナは高CVSSの脆弱性を大量に出力するため、実務での対応順序の決定が極めて難しい。
- ・CVSSスコアが高い脆弱性が大量に並び、優先順位が不明確。
- ・深刻度が高くても、実際に悪用されるリスクは限定的である。
- ・開発者がコードを読めないため、AIの実装品質を検証する手段が限られる。
// Approach
開発者がコードを読めない制約下で、AIの成果物を検証するための多層的な仕組みを構築した。実装の正当性をコードではなく、設計と挙動で担保することを目指した。
- ・規範ファイルの導入:
CLAUDE.mdにルールを明文化し、計画承認制を徹底。 - ・挙動による受け入れテスト: 正常系・異常系・ネットワーク遮断時の挙動を検証。
- ・外部データとの突合: AIの判定結果を、CISA KEV等の公開データと直接照合。
- ・敵対的レビュー: 別のAI(codex CLI)を用いて、実装の欠陥を指摘させる。
// Result
脆弱性トリアージの自動化と、AI主導開発における品質担保の手法を確立した。これにより、コードが読めない人間でも実用的なツールを開発できることを示した。
- ・triage-lensの完成: P0〜P3の4段階で整理されたMarkdownレポートを出力。
- ・重大な欠陥の発見: 「不明」を「低い」と誤認する問題や、重複排除の不備を修正。
- ・テストの完備: 最終的に145件のpytestがすべてパスする品質に到達。
Senior Engineer Insight
> AIエージェントによる開発は、コードの可読性よりも「設計の厳密さ」と「検証プロセスの設計」が鍵となる。規範の文書化、外部データによる検証、別モデルによるレビューを組み合わせる手法は実戦的だ。これは非エンジニアによる開発や、小規模ツールの迅速なプロトタイピングに有効である。ただし、AIが「もっともらしい嘘」をつくリスクを前提とした、異常系への徹底した注視が不可欠だ。