OWASP Top 10 (2025)
OWASP の Top 10:2025 を取得して読み、理解した内容を自分の言葉で書いたもの。 2021年版の URL は 2025年版へ転送されるようになっている。
位置づけ
これはチェックリストでも準拠基準でもなく、認識のための文書。 「これを全部潰したから安全」という使い方はしない。
2025年版は症状ではなく根本原因で分類する方向に寄せられている。 対象 CWE は2017年の約30個から 248個 に増え、1カテゴリあたり平均25個(上限40個)になった。
10項目
| ID | 名前 | 何を指すか |
|---|---|---|
| A01 | Broken Access Control | 認可の破れ。SSRF がここに統合された |
| A02 | Security Misconfiguration | 設定の不備。2021年の5位から2位へ上昇 |
| A03 | Software Supply Chain Failures | 新規。 「脆弱なコンポーネント」を供給網全体へ拡張したもの |
| A04 | Cryptographic Failures | 暗号の失敗。2位から4位へ |
| A05 | Injection | インジェクション。3位から5位へ |
| A06 | Insecure Design | 設計そのものが安全でない |
| A07 | Authentication Failures | 認証の失敗(旧「Identification and Authentication Failures」から改称) |
| A08 | Software or Data Integrity Failures | ソフトウェア/データの完全性の失敗 |
| A09 | Security Logging & Alerting Failures | ログとアラートの失敗(旧「Logging and Monitoring」から改称) |
| A10 | Mishandling of Exceptional Conditions | 新規。 例外条件の扱いの誤り。エラー処理と論理的な破綻 |
2021年版からの変化が意味すること
順位の入れ替わりよりも、新規2項目と改称2項目の方に情報がある。
- A03(供給網)の新設 — 「使っているライブラリに既知の脆弱性がある」だけでなく、 ビルド、配布、署名まで含めた経路全体が対象になった。 依存関係の「信頼性の検証」が、ここに接続する
- A10(例外条件)の新設 — エラー処理の穴が独立したカテゴリになった。 バグの「エラー時」の観点と同じ領域
- A09 が Monitoring から Alerting へ — 記録するだけでは足りず、 気づける状態になっているかが問われるようになった。 可観測性と同じ問題意識
- SSRF が A01 に統合 — 単独の脆弱性ではなく認可の問題として扱う分類になった
順位の決まり方
8カテゴリはデータ分析から、2カテゴリはコミュニティの投票から選ばれている。
投票枠がある理由は、実務者が現場で見ているが、まだ自動テストに落ちていないリスクを 拾うため。データだけだと、ツールが検出できるものに偏る。
順位付けの指標は3つ。
Prevalence(発生率) テストしたアプリのうち、その弱点を1つ以上含む割合
Exploitability CVE データから取った CVSS の悪用スコアの平均
Impact 同じデータセットから取った CVSS の技術的影響スコアの平均
攻撃側の資料との対応
このリポジトリの security 配下は攻撃者の動きを追う資料でできている。 Top 10 は守る側の分類なので、対応させて読むと穴が見える。
| 攻撃側の記述 | 対応する Top 10 |
|---|---|
| 侵入 のパスワード利用 | A07 Authentication Failures |
| リモートからの攻撃 の Web サイトの脆弱性 | A01 / A05 |
| 他のシステムへの移動 | A01 Broken Access Control |
| 侵入の検知 | A09 Security Logging & Alerting Failures |
| 攻撃準備 の事前調査・スキャン | A02 Security Misconfiguration |