Anthropic の AI 駆動型脆弱性情報発見のためのオープンソースフレームワーク

2026/06/05 5:11

Anthropic の AI 駆動型脆弱性情報発見のためのオープンソースフレームワーク

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

サマリーは全体的には良好ですが、キーポイント(コマンド、特定のスキル、パイプラインの段階)に見られる具体的な実行可能な詳細が不足しています。構造とコマンドを取り入れたやや詳細なバージョンであれば、推論を加えずに完全性を向上させることができます。

サマリー(改善版)

Anthropic は、「Claude Security」というソフトウェアの脆弱性発見および修正のためのマネージドサービスを紹介しており、オープンソースのリファレンスハルネス

github.com/anthropics/defending-code-reference-harness
が提供されています。このリポジトリは、セキュリティチームとのパートナーシップから得られた知見を活用し、自律的な C/C++ 脆弱性発見および修正のためのガイド役を担っていますが、外部からのコントリビューションを受け入れるメンテナンスされた製品ではありません。アクセスには Bedrock や Vertex、Azure などの特定の API が要求されます。

コア技術は、脅威モデリング、静的スキャン、実行検証、パッチ適用を含む厳格な多段階パイプラインを使用しています。主要なスキルには

/threat-model
/vuln-scan
/triage
/patch
、および
/customize
があります。特に重要なのは、自律エージェントがシステムへの損傷を防ぐために gVisor サンドボックス内で対象コードを実行すること(Claude API へのエGRESSは制限されている)であり、パイプラインを
bin/vp-sandboxed
を通じて呼び出す前にユーザーが
./scripts/setup_sandbox.sh
を実行する必要があります。
/quickstart
スキルはサンドボックスなしで Claude Code で安全に確認できるのに対し、自律ループにはそれを必要とします。

ユーザーは段階的なアプローチに従うよう推奨されます:ステップ 1(Day 1)では、対象コードに対して静的スキャンと脅威モデリングを行い、

/patch
を通じてパッチを生成し、カスタマイズをスモークランで検証してからステップ 2(Day 2)へ進む。ステップ 2 では C/C++ ライブラリ向けの完全な自律ループを展開します。生产用途では、組織は複数の並列パイプラインウェーブ(ステップ 4)を実行し、結果に対して自動タリアジを行うべきです(
/triage
で投票を使用)。本システムは SDLC に連続的検証を統合しており、毎日スキャンや CI パイプラインを通じて運用され、ゼロから構築される完璧なプラットフォームを要求せずに多様な依存関係の露出に対処するのを支援します。サンドボックス化、カスタマイズ、およびパッチに関するドキュメントは
docs/security.md
docs/agent-sandbox.md
および関連ガイドで利用可能です。

本文

Claude Security: 自律型脆弱性発見・是正のための参照実装

本ドキュメントは、複数のセキュリティチームと連携して得た知見に基づき、Claude Codeを活用した自律型脆弱性発見および是正のためのオープンソース参照実装です。詳細なベストプラクティスは以下のブログ記事をご参照ください。

📚 関連情報: blog-post.mdクックブック


⚠️ 重要な注意事項

  • 本リポジトリはメンテナンス中ではありません。 コントリビューションの受け付けは行っておりません。
  • 🔒 マネージドオプションをご希望ですか?
    • Anthropic 公式には「Claude Security」というホスティングされた製品があります。
    • レポジトリ全体のソースコードスキャン、誤検知削減のための多段階検証パイプライン、ライフサイクル全体(分類・修復検証・パッチ生成)の管理が可能です。

本リポジトリは、ご自身の脆弱性発見パイプラインを構築・カスタマイズするための参照実装です。Bedrock、Vertex、Azure など、あらゆる Claude API 環境と併せてご利用ください。


📑 目次(機能一覧)

  • /quickstart
    : インタラクティブな範囲指定(スコーピング)
  • /threat-model
    : 脅威モデリング
  • /vuln-scan
    : 脆弱性スキャン
  • /triage
    : 分類・優先付け
  • /patch
    : 是正パッチ作成
  • /customize
    : パイプラインのカスタマイズ

🚀 最初のステップ: Claude Code で本リポジトリを開き、

/quickstart
を実行して概要を理解することをお勧めします。


🔧 harness/(自律型参照パイプライン)

harness/
ディレクトリには、recon → find → verify → report → patch のループを自動化した参照実装が含まれています。

構造と利用方法

  • 用途: C/C++ メモリー関連の脆弱性を Docker と ASAN(メモリエラー検出器)を用いて発見・是正する設定済みパイプライン。
  • 注意:
    • 製品ではなく参照実装です。
    • 構造やプロンプト、サンドボクシング環境の設定は再利用可能ですが、そのままではすべてのコードベースで動作しない可能性があります。
    • /customize
      を実行し、ご自身の言語や検出器に合わせてポートアウトしてください。

🔒 セキュリティに関する注意事項

自律型パイプライン(および

/patch
の実行)はターゲットコードを実行するため、以下の制限があります。

機能動作内容サンドボクシング necessity
read/write (
/quickstart
,
/threat-model
, etc.)
ファイルの読み書きのみ不要 (承認のみで安全)
static analysis (
/patch
)
静的な見出しファイルへの処理のみ不要 (承認のみで安全)
full harness (
bin/vp-sandboxed
)
コードの実行(脆弱性検証)必須 (gVisor サンドボックス使用推奨)

💡 セキュリティ: 各ツールの使用を

claude
で承認し、サンドボクシングなしで安全に実行可能です(ファイル操作のみの場合)。コードを実行する場合は
scripts/setup_sandbox.sh
を実行し、
bin/vp-sandboxed
を介して起動してください。


🏁 Getting Started(まずは始める)

基本的な動作を確認するためのコマンド例です。

git clone https://github.com/anthropics/defending-code-reference-harness
cd defending-code-reference-harness
claude

# ガイド付き初回実行(テスト用ターゲット「canary」で 30 秒程度)
> /quickstart

# Java へのポートアウト方法の問い合わせ
> /quickstart Java にパイプラインをポートアウトする方法は?

# バグの分類 (triage) に関する問い合わせ
> /quickstart これだけのバグをどう分類 (triage) すればよいですか?

📖 Further Reading(さらなる学習資料)

  • ブログ記事: 知見とベストプラクティスを含む詳細情報。
  • パイプライン: 動作原理、ステージ構成、CLI フラグの説明。
  • セキュリティ: サンドボクシング要件、マウントすべきでないボリューム。
  • エージェントサンドボックス: gVisor アイソレーションおよび外部通信(エグレッグ)許可リストの設定。
  • カスタマイズ: スタックへのポートアウト方法、変更されるファイルとその理由。
  • パッチング: 確認されたクラッシュに対する修復コードの生成と検証ロジック。
  • トラブルシューティング: 重複処理回避、レート制限対応、サブエージェントのモデル固定など。
  • サフガード: 危険なサイバー攻撃行動へのブロック機能。

🚀 Ramp Up(実践的なペースアップ)

セキュリティチームの成功は、素早く実践的な経験を積むことから始まります。完璧なパイプラインを設計するために数ヶ月費やす必要はありません。小さく始めて、知見を得ながら段階的に構築してください。

💡 パターン: 1 日目から小さな目標を設定し、毎日進捗を見ながら拡大する野心的だが合理的なペース設定をお勧めします。

ステップ 1: 脅威モデリング、初回スキャンと分類(1 日目)

エンドツーエンドの全体像を確認するため、インタラクティブなスキルのみを使用します。サンドボックスは不要です。

目標:

  • 脅威モデルを構築し、静的スキャンを実行。
  • 結果を分類して優先順位を付け、候補修復案を作成する。
# すべてのサブエージェントを希望モデルに固定(任意)
export CLAUDE_CODE_SUBAGENT_MODEL=<model-id>
claude

# 0. イントロダクションとガイド付き実行
> /quickstart

# 1. 脅威モデルの構築(ターゲット:canary)
> /threat-model bootstrap targets/canary

# 2. テーマスモデルに基づいた範囲指定での静的スキャン実行
> /vuln-scan targets/canary

# 3. 結果の確認、重複除外、優先順位付け (TRIAGE.json などへの出力)
> /triage targets/canary/VULN-FINDINGS.json

# 4. 確認された見出しに対する候補修復案の生成
> /patch ./TRIAGE.json --repo targets/canary

📝 生成されるアソフィアト:

THREAT_MODEL.md
,
VULN-FINDINGS.{json,md}
,
TRIAGE.{json,md}
,
PATCHES/

⚠️ 注意: テスト用ターゲット(canary)における

/triage
は、意図的な脆弱性を含むデモコード(entry.c)についても誤検知として却下する場合があります。完全なフローを確認するには、別途カーテッドフィクスチャを指定するか、ご自身のコードに対して実行してください。


ステップ 2: C/C++ ライブラリへの適用と参照パイプライン実行(2 日目)

インタラクティブなスキルから自律型パイプラインへの移行です。既知の脆弱性を有するオープンソースライブラリ (

drlibs
) を対象に、完全なループを実行します。

構成:

recon
(再認識) →
find
(発見) →
verify
(検証) →
report
(報告) + パッチ生成。

セットアップコマンド:

# 環境構築(1 回限り)
python3 -m venv .venv && .venv/bin/pip install -e .
./scripts/setup_sandbox.sh   # gVisor とエージェントイメージのインストール

export ANTHROPIC_API_KEY=sk-ant-...   # または CLAUDE_CODE_OAUTH_TOKEN(必須)

パッチング実行コマンド:

# recon → find → verify → report ループの実行
bin/vp-sandboxed run drlibs --model <model-id> --runs 3 --parallel --stream --auto-focus

# 発見された問題への修復案の生成
bin/vp-sandboxed patch results/drlibs/<timestamp>/ --model <model-id>

# ※または、Claude Code で監視しながら実行
claude
> drlibs でパイプラインを実行し、見出されるにつれて説明してもらってください

📂 出力先:

results/drlibs/<timestamp>/

⚠️ 警告:

run コマンド
は自律型エージェントを起動し、
gVisor コンテナ
内でコードを実行します。明示的に許可されていない外部環境での開始は拒否されます(サンドボクシングは必須)。

🔄 パイプライン内部の 7 つのステージ

  1. Build: ターゲットを ASAN付きDocker イメージにコンパイル。
  2. Recon: ライトエージェントがネットワーク隔離下でソースを読み、攻撃可能なパーティション(サブシステム)を提案。並列探索エージェントの収束を防ぐ。
  3. Find: N エージェントが並列実行。ASAN バイナリを実行し、クラッシュを引き起こす入力パターンの探索を行う。
  4. Verify: 別の判定者エージェント(グレーダー)が新コンテナ内でクラッシュを再現確認する(プロトタイプコードのみ受け渡す)。
  5. Dedupe: 判事エージェントが新バグか既知のバグかの判定、重複抽出を行う。
  6. Report: レポートエージェントが攻撃可能性分析(プリミティブ、到達可能性、エスカレーション経路、深刻度)を記述。
  7. Patch: パッチエージェントが修復案を記述。ビルド可否・クラッシュ回避・テストパスなどの検証を行う。

詳細は

docs/pipeline.md
をご参照ください。


ステップ 3: パイプラインのターゲット向けカスタマイズ(3 日目〜5 日目)

ハワネスを自分のコードベースに合わせて調整します。ステップ 1 で構築したスキルを自身のコードに適用し、

/customize
で最適化を行います。

参照パイプラインの特徴:

  • C/C++ メモリー関連の脆弱性発見を想定しているが、汎用的な形状をしている。
  • 新しい言語や脆弱性クラスへのポートアウトも容易。

カスタマイズ手順:

  1. ステップ 1 のスキルで自身のコードを分析(サンドボックス不要):

    claude
    > /quickstart これを ~/code/my-service にどうカスタマイズすればよいですか?
    > /threat-model bootstrap-then-interview ~/code/my-service
    > /vuln-scan ~/code/my-service
    > /triage ~/code/my-service/VULN-FINDINGS.json --repo ~/code/my-service
    
  2. アーティファクトを基に

    /customize
    を実行:

    > /customize use ~/code/my-service/{THREAT_MODEL.md,VULN-FINDINGS.json} and ./TRIAGE.md
    

    これにより

    targets/my-service/
    が設定されます。

  3. スモーークテスト(単一実行検証):

    bin/vp-sandboxed run my-service --model <model-id> --runs 1
    

    詳細は

    docs/customizing.md
    をご参照ください。

カスタマイズ時の考慮点(C/C++ 参考 vs ご自身のターゲット):

項目C/C++ 参照実装ご自身のターゲット (例: Java, Go)
見出しのシグナルASAN クラッシュサインチャートエクセプション / カヌアリファイル / DNS コールバック
プロトタイプコードクラッシュする入力ファイルHTTP リクエストシーケンス / トランザクションリスト / テストハワネス
ビルド方法Dockerfile (clang + ASAN)コンテナ内での自言語のビルド

ステップ 4: 自律型スキャン・分類・パッチングの実施(2 週間目以降)

カスタマイズ済みのパイプラインを本格的に運用開始。複数のスキャン実行(ウェーブ)を行い、その結果を統合して管理します。

コマンド例:

# スキャン:並列実行のウェーブ
bin/vp-sandboxed run my-service --model <model-id> --runs 5 --parallel --stream --auto-focus

# 分類:すべての見出しの重複排除と優先順位付け(脅威モデル活用)
> /triage results/my-service/ --repo ~/code/my-service --auto --votes 5

# パッチ:上位優先順位の修復案を生成・検証
> /patch results/my-service/<timestamp>/ --model <model-id>

⚠️ 運用上の注意点:

  • サンドボクシングは必須: ステップ 2 のガイドラインに従ってください。
  • パッチングの重要性: 発見されたバグを速やかに修復(パッチ)すると、モデルがその問題に再注目せず、より深い新しい問題へ探索が進みます。
  • 未解決の問題: 自律型分類と完全な自動パッチングは現在も研究途上です。検証戦略や優先順位付け的判断は人的介入が必要になる場合があります。

詳細は

docs/triage.md
docs/patching.md
をご参照ください。


🔮 Looking Forward(将来展望)

ペースアップ後に注力すべき方向性:

  • 優先順位付け: 全レポジトリおよび依存関係をレビューし、CVE 歴、ビジネス重要性に基づいて優先順位を付与。
  • インフラの構築: ラップトップやワンオフ VM からスキャンを移行する専用プラットフォームの構築(完璧主義ではなく機能優先)。
  • SDLCへの統合: CI パイプラインや定期タスク(毎日/週次)にスキャンを組み込む。
  • モデル最適化: 組織にとって最も効果的なモデルを選択・実験し続ける。

同じ日のほかのニュース

一覧に戻る →

2026/06/05 6:42

URL の IPv6 ゾーンは間違いです

## Japanese Translation: - 現在稼働中の Anubis ウェブサイトはバージョン v1.25.1-0.20260604200537-44d5fa3ce047 を使用しています。マスコットのデザインは CELPHASE によって作成されました。サイトには Techaro に帰属する著作権表示が表示され、コンテンツは「❤️(愛)と🇨🇦(カナダ)で作成」であるとしてクレジットされています。

2026/06/04 22:00

Cloudflare に参加する VoidZero が決定

## Japanese Translation: VoidZero(Vite、Vitest、Rolldown、Oxc、および Vite+ の開発者)が、その全チームを Cloudflare に統合し、エコシステムを完全にオープンソース化し、MIT ライセンスに基づき、ベンダー非依存な状態を維持することを約束しています。100 万ドルの資金を Vite エコシステムファンドに供与することで、コミュニティ主導の開発を優先し、ツールをプロプライエタリなスタックに合わせるのではなく、強化されたエンジニアリングリソースを直接ツール維持に向けるとして、この戦略的移行を進めています。Evan とコアチームは引き続き開発をリードし続けます。Vite(週 1.29 億回のダウンロード)や新しい Cloudflare プラグイン(週 1,400 万回のダウンロード)の高い採用率は、特に AI 開発者がこの統一されたワークフローによって支えられる高速フィードバックループを必要としていることで、強固な市場の信頼を示しています。現在、Vite は React、Next.js(vinext 経由)、Vue、SvelteKit、Nuxt、Astro、Solid、Qwik、Angular など主要なフレームワークの基盤となるビルドツールとして機能しています。新たに導入された統一 CLI(`cf`)はネイティブデプロイとバインディングを統合しており、標準的な Vite 操作と完全に互換性を保ちつつ、「cf dev」コマンドにより「vite dev」の超集合体として動作します。将来の計画には、Void プラットフォームを完全にオープンソース化して公衆との協力を促進することや、Cloudflare の Environment API を通じて非 Node ランタイムをサポートするツールへの進化が含まれています。結局のところ、開発者は強力なリソースと統一された環境にアクセスでき、業界はベンダーロックインなしで長期的なポータビリティを確保する強化された標準から恩恵を受け、Cloudflare のツールは Vite を Cloudflare 用に特別に適応させるのではなく、Vite スタンドダードの方へ移行しています。

2026/06/05 1:20

AI が自らを構築する時:我々の自己改善における進捗について

## Japanese Translation: Anthropic の最新の分析では、AI エンジニアリングの生産性が急速に高まっていることが示されており、計算資源が引き続き増大する場合は、人間の支援なしでモデル自身がコードを改善する完全自律的な反復的自己改良状態が間もなく訪れる可能性が高いと考えられます。2021 年から 2026 年までのデータは、四半期あたりの結合されたコード量が 8 倍に増加し、2025 年 2 月以前に単位数の低水準だったものが、2026 年 5 月には生産ラインの 80% 以上が AI によるものになった急騰を示しています。さらに、モデルは複雑なベンチマークを急速に習得しており(例えば、CORE-Bench では約 20% の成功率からわずか 15 ヶ月で飽和に達)、長時間を要するタスクもますます適切に処理できるようになっています。具体的には、2025 年 5 月時点で最大 16 時間のタスクを必要とする作業において、Claude Mythos Preview は人間の研究者と比較して約 3 倍のスピードアップを達成しています。