NOT OSV-SCANNER名前の似た別物
OSS Scanner はまだ知られていない脆弱性をモデルが探す
OSV-Scanner(Google)
自分で入れて動かす CLI
- 依存パッケージの一覧を読む
- OSV データベースの既知の脆弱性と照合
- 誰でも、どのプロジェクトにも使える
OSS Scanner(Anthropic)
登録制の無料サービス
- プロジェクト自身のコードを解析
- 見つけた脆弱性を再現手順つきでメール
- 対象は重要な OSS のコアメンテナー
30秒でわかる(2026年10月20日時点)
・何か:OSS Scanner は、Anthropic の Frontier Red Team が2026年10月8日に公開した、オープンソース向けの無料・登録制の脆弱性スキャン。Claude Mythos を含む同社の最も強いモデルが、登録したプロジェクトを定期的に解析する
・誰が使えるか:重要なプロジェクトのコアメンテナー。GitHub の anthropics/oss-scanner に projects/<名前>/ を足す PR を出して登録する
・何が届くか:再現手順・説明・あれば修正パッチつきのレポートが、メールで届く。人のレビューは挟まないので、90日の開示期限も公開も無い
・どこまで信じるか:初期版の critical・high 97件のうち、85件(88%)が協調的な脆弱性開示の基準を満たした。一方で、深刻度が高めに付くという声をメンテナーから受けていると Anthropic 自身が書いている
まずやること
・OSS のメンテナー:自分のプロジェクトが「インフラや利用者の安全に重大な影響を持つ」かを考え、登録するなら先に threat_model.md(深刻度の付け方)を書く。手順は登録のしかた
・OSS を使う開発者:利用者に届くものは無い。依存先の既知の脆弱性は、これまでどおり OSV-Scanner や npm audit などで確かめる
OSS の依存先を経由する攻撃と、それを防ぐ道具の全体像は、サプライチェーン攻撃とは|手口・防御ツール比較・npm 12の新機構まで実践解説にまとめています。本記事は OSS Scanner に絞り、何か、どう登録するか、届いたレポートをどう読むかを、リポジトリの実物と公式の発表から確かめます。
OSS Scanner とは:OSV-Scanner・OSS-Fuzz・Claude Security との違い
「OSS Scanner」で検索すると、上位には Google の OSV-Scanner が並びます。名前は1文字違いですが、探すものが違います。AI 脆弱性診断の道具として並べて語られる Anthropic の Claude Security・/security-review や、Google の OSS-Fuzz とも比べます。
| 名前 | 提供 | 何を探すか | どこで動くか | 使える人 |
|---|---|---|---|---|
| OSS Scanner | Anthropic | プロジェクト自身のコードにある、まだ知られていない脆弱性 | Anthropic の VM。結果はメール | 登録したプロジェクトのコアメンテナー(無料) |
| OSV-Scanner | 依存パッケージの既知の脆弱性(OSV データベースと照合) | 自分の手元や CI | 誰でも(OSS の CLI) | |
| OSS-Fuzz | ファジングで見つかるメモリ破壊などのバグ | Google の基盤で継続実行 | 審査に通った OSS | |
| Claude Security | Anthropic | 自分のリポジトリの脆弱性(スキャンとパッチ案) | 管理型サービス(Enterprise プラン)と Claude Code のプラグイン | 契約・プランの範囲の利用者 |
/security-review |
Anthropic | 今のブランチの変更を1回見る | Claude Code のセッション | Claude Code の利用者 |
OSS Scanner に近いのは OSS-Fuzz です。Anthropic の発表は OSS-Fuzz に着想を得たと書き、受け入れの基準も OSS-Fuzz に似せています。登録の形も同じで、OSS-Fuzz も projects/<名前>/project.yaml を足す PR で申し込み、primary_contact に連絡先を書きます。
違いは開示の扱いです。OSS-Fuzz は作者に知らせてから90日後か修正の公開後の早い方で、報告を公開します。OSS Scanner はレポートを公開しません。
Anthropic は企業向けに Claude Security を出していますが、OSS Scanner はそれとは別に、OSS に無料で監査を出す枠だと発表で位置づけています。登録の審査を待たずに自分のリポジトリで Claude 脆弱性診断を回すなら、入口は Claude Security か /security-review です。ブランチ単位で見る /security-review の GitHub Action 版は、Claude Code Security Reviewとは|PRを自動で守るGitHub Actionを実測で試しています。
なぜ人のレビューを外したのか
発表によると、Anthropic はこの半年で最新モデルを使い、29,000件を超える脆弱性の候補を見つけました。人の手で確かめられたのは約6,000件にとどまります。最初のレポートを受け取ったメンテナーから「未検証でもいいから全部送ってほしい」と頼まれることが増え、そうして送ったレポートは5,000件近くになったといいます。
OSS Scanner は、この「未検証でも早く欲しい」側のための近道です。人が確かめたレポートを送る従来の協調的な脆弱性開示(CVD)も続け、特にトリアージに手が回らないプロジェクトにはそちらで送るとしています。OSS Scanner のもとになった取り組みは、Project Glasswing初回成果報告とClaude Mythos Preview発表の記事で追っています。
OSS Scanner の仕組み:ネットありでビルドし、ネットなしで解析する
HOW A SCAN RUNSスキャンの流れ
ビルドはネットありの VM、解析はインターネットなし
-
PR で登録
projects/<名前>/ を足す
-
オンラインでビルド
隔離した VM で Dockerfile を実行
-
オフラインで解析
インターネットの無いネットワークへ移す
-
メールで届く
再現手順と、あれば修正パッチ
登録の PR がマージされると、次の順で動きます(README)。
| 段 | 何が起きるか | メンテナー側で効くこと |
|---|---|---|
| 1. 取り込み・ビルド | 隔離した VM で、ネットワークありで Dockerfile を実行する。失敗すると primary_contact にエラーがメールされる |
依存・テスト用のデータはここで取り切る |
| 2. 解析 | VM をインターネットの無いネットワークへ移してスキャンする | 解析中に何かを取りに行くテストは動かない |
| 3. 報告 | 見つけたものを primary_contact と CC にメールする |
届いた先で仕分ける |
リポジトリの tools/check_build.py には、スキャナーがプロジェクトに割り当てる資源が書かれています。ビルドの制限時間は clone から完成まで45分、ビルド用のマシンは16 CPU・メモリ64GB・ディスク120GB、解析を受け持つエージェントのマシンは2 CPU・メモリ8GBです。ビルドしたイメージの上に、スキャナーが Claude Code・コンパイラ・デバッガの層を足します。
レポートの中身は、発表によると、単体で動く再現コード、脆弱性の説明(できる場合はバグが入った時点の二分探索を含む)、修正パッチの候補(ある場合)です。
公開されていないこともあります。スキャンの頻度と、1プロジェクトにかける予算です。リポジトリの tools/validate.py は、cadence・budget などの項目を「運営側が決めるもの」として project.yaml に書くと弾きます。スキャンの向きを変えたいときは、threat_model.md で伝える設計です。
OSS Scanner の登録のしかた:project.yaml・Dockerfile・threat_model.md
3つのファイル
| ファイル | 必須か | 置き場所 | 書くこと |
|---|---|---|---|
project.yaml |
必須 | このリポジトリの projects/<名前>/ |
repo(https の git URL を1つ、#ブランチ で固定も可)と primary_contact(1アドレス)が必須。任意で auto_ccs・homepage・disabled・pgp |
Dockerfile |
必須 | 自分のリポジトリ(dockerfile: でパスを指す。推奨)か projects/<名前>/ のどちらか一方 |
依存を入れてビルドする。テンプレートは COPY . /src で、チェックアウトを /src に置く |
threat_model.md |
任意(強く推奨) | Dockerfile と同じく、どちらか一方 | 深刻度の付け方、信頼しない入力の入口、重要な部品と対象外の部品、試し方 |
Dockerfile を自分のリポジトリに置けば、ビルドを変えるたびにこのリポジトリへ PR を出さずに済みます。
project.yaml のメールアドレスは公開されます。 セキュリティ用の別名を使ってください。PGP の公開鍵を pgp: に入れると、レポートは暗号化されて primary_contact だけに届きます。この場合 auto_ccs とは併用できません。
手元で規則を確かめる
PR の前に tools/validate.py を回すよう README が勧めています。テンプレートをそのまま projects/example/ に置き、2026年10月20日に実行しました。必要なのは git と Python 3、PyYAML です。
git clone https://github.com/anthropics/oss-scanner.git
cd oss-scanner
python3 -m venv ../oss-scanner-venv && . ../oss-scanner-venv/bin/activate
pip install pyyaml
mkdir projects/example
cp templates/project.yaml projects/example/
python3 tools/validate.py | grep -E '^ok|example'
# ok: 128 project(s)
# example https://github.com/example/project#main -> [email protected] (Dockerfile: in the repository at .oss-scanner/Dockerfile)
validate.py は引数を取らず、projects/ の全件を見ます。128件は、登録済みの127件に example を足した数です。
テンプレートの dockerfile: 行を残したまま Dockerfile も横に置くと、置き場所が二重になって落ちます。横に置くならこの行を消す、とテンプレートのコメントにあります。
cp templates/Dockerfile projects/example/
python3 tools/validate.py; echo "exit=$?"
# example: Dockerfile is given both beside project.yaml and as dockerfile: in your repository — one place only
# exit=1
ほかに試して落ちたのは、primary_contact を消したとき(missing primary_contact)、pgp: と auto_ccs を両方書いたとき、Dockerfile がどこにも無いとき(dockerfile: を消して横にも置かない)です。どれも終了コード1でした。
validate.py が見るのは書式と置き場所だけです。ok と出ても、dockerfile: のパスに実物があるか、ビルドが通るかまでは見ていないので、スキャナーでビルドできるとは限りません。それを確かめるのが tools/check <名前> で、スキャナーと同じ手順でビルドし、ネットワークを切ったシェルを開きます。規則の確認・clone・Dockerfile の配置までは動くことを確かめましたが、ビルドの完了は未検証です。README の注意どおり、tools/check は Dockerfile をネットワークありで実行し、イメージに Claude Code を入れます。信頼できるプロジェクトだけで使ってください。
PR で求められること
PR のテンプレートには、確認のチェック欄が並びます。コアメンテナーであること、規約への同意、受け入れ基準を満たすと考えていること、validate.py と tools/check を通したことなどです。規約への同意の欄は、チェックが入るまで GitHub Actions が失敗させます。初回は CLA への署名もコメントで求められます。
PR には、★数・フォーク数・ライセンス・ダウンロード数の順位・SECURITY.md の連絡先などを集めたコメントが自動で付きます。ワークフローの説明では、これはレビューの材料で、可否を決めるものではありません。
止めるときは disabled: true、やめるときは projects/<名前>/ を消す PR を出します。このリポジトリは、登録・変更・停止・取り下げの PR だけを受け付けます。
届いた OSS Scanner のレポートをどこまで信じるか
EARLY VALIDATION初期版の検証
97件中85件(88%)が開示の基準を満たした
数字は Anthropic の発表にある検証です。初期版のスキャナーが48プロジェクトで出した critical・high の97件を、同社の CVD の指摘を確かめているペネトレーションテスターが見ました。85件(88%)が CVD に回せる水準で、残り12件のうち11件は本物でも重複、無効は1件でした。
この数字を読むときの前提は3つあります。
・対象は critical・high だけ。medium 以下の精度は示されていない
・初期版での検証。今のスキャナーと同じとは限らない
・88% は「開示に回せる」の割合で、深刻度まで合っていた割合ではない。Anthropic は、深刻度が高めに付く、プロジェクトの脅威モデルを取り違える、という声をメンテナーから受けていると書いている
発表には、試験運用に参加したメンテナーの声もあります。wolfSSL は受け取った74件のうち2件を除いて有効で、5件が CVE になったとしています。curl の Daniel Stenberg 氏は、ここ数年で最悪級の curl の脆弱性を含む複数の問題が見つかったと述べています。
届いたあとに決めること
人のレビューが無く、90日の期限も無いので、仕分けと開示の段取りはメンテナーが持ちます。
| 確かめること | 見るところ |
|---|---|
| 本当に起きるか | 付いてきた再現コードを、自分の環境で動かす |
| 深刻度は妥当か | threat_model.md に書いた自分の基準と照らす。前提の取り違えが無いか |
| 既知の問題と重複していないか | 既存の Issue・アドバイザリ・同じ回の別のレポート |
| パッチをそのまま使えるか | 候補のパッチをレビューし、テストを足す。そのまま当てない |
| 公表をどうするか | CVE の採番やアドバイザリの公開は、プロジェクトの手順で決める |
深刻度の基準を先に書いておくほど、仕分けが楽になります。登録済みのプロジェクトが置いた threat_model.md には、たとえば OpenSSH の「バッファオーバーフロー・use-after-free・二重解放は最低でも high、sshd の認証回避は critical、DoS はすべて medium」のような書き方があります。
発表は、脆弱性の修正などに使えるものとして、OSS 向けに Claude Max 20x を無料で提供する Claude for OSS も案内しています。
登録済みの127件と、OSS Scanner が向いているプロジェクト
リポジトリの projects/ を2026年10月20日に数えた結果です。リポジトリの最初のコミットは発表と同じ10月8日です。
| 項目 | 件数 |
|---|---|
| 登録済みのプロジェクト | 127件(追加のコミット日 UTC で、初日の10月8日に8件、9日に50件) |
| リポジトリの置き場所 | github.com 121件、gitlab.com 2件、ほか4件 |
| Dockerfile をこのリポジトリに置く/自分のリポジトリを指す | 79件/48件 |
threat_model.md をこのリポジトリに置く/自分のリポジトリを指す/どちらも書いていない(既定の .oss-scanner/threat_model.md を見に行く) |
80件/44件/3件 |
pgp: で暗号化を選んだ |
7件 |
auto_ccs で CC を足した |
23件 |
このリポジトリに置かれた threat_model.md 80件は、13〜284行で、中央値は80行です。
| プロジェクト | 領域 | 追加のコミット日(UTC) |
|---|---|---|
| openssl | 暗号ライブラリ | 2026-10-09 |
| cryptsetup | ディスク暗号化(gitlab.com) | 2026-10-09 |
| cpython | 言語処理系 | 2026-10-11 |
| webpack | JavaScript のバンドラー | 2026-10-11 |
| jupyterlab | ノートブック環境 | 2026-10-11 |
| coraza | WAF(Dockerfile は自分のリポジトリ) | 2026-10-15 |
| argo-cd | Kubernetes の GitOps | 2026-10-16 |
| openssh | SSH | 2026-10-16 |
| harfbuzz | フォントのシェーピング | 2026-10-19 |
向いているのは、次の条件がそろうプロジェクトです。
・ネットワーク越しの入力や信頼しないファイルを扱い、多くの利用者や他のプロジェクトが依存している
・Docker でビルドとテストが45分以内に終わり、解析中にネットワークが要らない
・未検証のレポートを受け取り、自分で再現と仕分けをする人手がある
逆に、トリアージの人手が無いプロジェクトは、人が確かめたレポートだけを受け取れる従来の CVD の方が合うと Anthropic 自身が書いています。コアメンテナーでない人は、依存先のプロジェクトを代わりに登録できません。
OSS を使う側にとっては、依存先が projects/ に載っていても、届くものも見えるものもありません。変わるのは、メンテナーに修正の材料が早く届くことです。手元で見るべきものは今までと同じで、依存先の既知の脆弱性をnpm audit の結果はどれから直す?依存関係の脆弱性を到達性・EPSS・KEVで仕分ける実践手順のように仕分けて直します。
参照ソース
・Anthropic: Launching an opt-in vulnerability-finding service for open-source software(2026-10-08)
・OSS Scanner(Anthropic Frontier Red Team)
・OSS Scanner terms
・anthropics/oss-scanner(README・templates・tools・projects。2026-10-20 確認、Apache-2.0)
・google/osv-scanner README
・OSS-Fuzz: Accepting new projects
・OSS-Fuzz: Bug disclosure guidelines
・Claude Code Docs: Scan your codebase for vulnerabilities(Claude Security)





