依存パッケージ脆弱性スキャナ
package.json・package-lock.json・pnpm-lock.yaml を貼り付けるだけ。含まれる npm パッケージを OSV.dev(Google が運用するオープンな脆弱性DB)で照合し、既知のCVE・深刻度・修正バージョンを一覧にします。
解析はすべてブラウザ内で完結します。貼り付けた依存リストは ITD のサーバーを一切経由せず、お使いのブラウザから OSV.dev へ直接送られます(CORS)。ITD 側では保存・記録・中継しません。
依存ファイルを貼り付けて「スキャン」を押すと、ここに結果が出ます。初めてなら上の「サンプルを試す」を押してください。
使い方
- 1プロジェクトの package.json、または package-lock.json / pnpm-lock.yaml の中身を貼り付けます。
- 2「スキャン」を押すと、各パッケージを OSV.dev で照合します(lockfile なら実際に固定された版を、package.json なら宣言版を判定)。
- 3見つかった脆弱性は深刻度順に表示。修正バージョンへ更新し、下の AI 指示文で安全に上げる手順を生成できます。
なぜ重要か
依存ライブラリは「自分では書いていないのに自分の責任になるコード」です。Log4Shell も XZ も、入口は1つの依存でした。OSV.dev は GitHub Advisory・各エコシステムの勧告を集約したオープンな脆弱性データベースで、npm パッケージ名とバージョンから既知のCVEを引けます。正確さは入力で決まります——lockfile(実際に入る版が固定)が最も正確で、package.json は宣言レンジから推定するため目安です。そして本ツールは「今この瞬間の一回点検」向け。日常の防御は CI に自動の依存監査(GitHub Dependabot / `pnpm audit` / osv-scanner)を組み込むことです。ITD 自身も毎デプロイ前に依存監査を回し、既知の脆弱性ゼロを維持しています。
よくある質問
Q貼り付けた依存リストはどこかに送られますか?
A
ITD のサーバーには送られません。解析はブラウザ内で行い、照合はお使いのブラウザから OSV.dev(api.osv.dev)へ直接 HTTPS で問い合わせます。ITD 側で保存・記録・中継は一切しません。
Qpackage.json と lockfile、どちらを貼るべき?
A
正確さを求めるなら lockfile(package-lock.json か pnpm-lock.yaml)です。実際にインストールされる固定バージョンが分かるため、推移的依存も含めて正確に判定できます。package.json は宣言レンジ(^1.2.3 等)からの推定なので、目安としてお使いください。
Q脆弱性ゼロと出れば安全ですか?
A
いいえ。OSV に未登録の脆弱性、設定不備、自作コードの欠陥は検出できません。これは「既知のCVEが当たっていないか」の一次点検です。継続的な守りは CI への自動監査(Dependabot / pnpm audit / osv-scanner)が本命です。
Q対応していない形式はありますか?
A
現在は npm エコシステム(package.json / package-lock.json / pnpm-lock.yaml)に対応しています。yarn.lock やその他の言語(PyPI・Go 等)は未対応です。OSV.dev 自体は多言語対応なので、将来の拡張候補です。