owasp-top-10 について
開発者や監査担当者向けのセキュリティガイダンススキルです。OWASP Top 10 2021に基づき、脆弱性の評価、記録、修正確認に使える資料と手順を提供します。
主な機能
- 01OWASP Top 10 2021のリスクを網羅
- 02脆弱性ごとの参考資料
- 03監査と修正の手順
- 04セキュアコーディングの原則
活用シーン
- 01アプリケーションコードとアクセス制御のレビュー
- 02入力検証と依存関係の評価
- 03脆弱性の記録と修正の確認
- 04セキュリティ監査への準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nickcrew/ claude-cortex --skill owasp-top-10インストール後、Claude Code で/owasp-top-10を入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/assessment-workflow.mdauthentication-failures.mdbroken-access-control.mdcryptographic-failures.mdinjection.mdinsecure-design.mdintegrity-failures.mdlogging-monitoring.mdprevention-strategies.mdsecurity-misconfiguration.mdssrf.mdvulnerable-components.md詳細
OWASP Top 10 セキュリティ脆弱性
OWASP Top 10 2021 に基づき、最も重大なウェブアプリケーションのセキュリティリスクを特定、防止、修正するための専門的なガイダンスです。
このスキルを使用する場面
- セキュリティ監査やコードレビューを実施するとき
- 新機能にセキュアコーディングのプラクティスを導入するとき
- 認証・認可システムをレビューするとき
- 入力の検証とサニタイズを評価するとき
- サードパーティの依存関係に脆弱性がないか評価するとき
- セキュリティ制御や多層防御戦略を設計するとき
- セキュリティ認証やコンプライアンス監査に備えるとき
- セキュリティインシデントや疑わしい挙動を調査するとき
OWASP Top 10 2021 の概要
リスクの重大度順:
- A01 - アクセス制御の不備(#5 から上昇)
- A02 - 暗号化の失敗(以前は機密データの漏えい)
- A03 - インジェクション(#1 から下降)
- A04 - 安全でない設計(新規)
- A05 - セキュリティ設定のミス
- A06 - 脆弱で古いコンポーネント
- A07 - 識別と認証の失敗
- A08 - ソフトウェアとデータの整合性の失敗(新規)
- A09 - セキュリティログと監視の失敗
- A10 - サーバーサイドリクエストフォージェリ(SSRF)(新規)
クイックリファレンス
各脆弱性の詳細なガイダンスを読み込んでください。
| 脆弱性 | 参照ファイル |
|---|---|
| アクセス制御の不備 | skills/owasp-top-10/references/broken-access-control.md |
| 暗号化の失敗 | skills/owasp-top-10/references/cryptographic-failures.md |
| インジェクション | skills/owasp-top-10/references/injection.md |
| 安全でない設計 | skills/owasp-top-10/references/insecure-design.md |
| セキュリティ設定のミス | skills/owasp-top-10/references/security-misconfiguration.md |
| 脆弱なコンポーネント | skills/owasp-top-10/references/vulnerable-components.md |
| 認証の失敗 | skills/owasp-top-10/references/authentication-failures.md |
| 整合性の失敗 | skills/owasp-top-10/references/integrity-failures.md |
| ログと監視 | skills/owasp-top-10/references/logging-monitoring.md |
| SSRF | skills/owasp-top-10/references/ssrf.md |
| 防止戦略 | skills/owasp-top-10/references/prevention-strategies.md |
| 評価ワークフロー | skills/owasp-top-10/references/assessment-workflow.md |
セキュリティ監査のワークフロー
- スコープを特定する:アプリケーションのコンポーネントと攻撃対象領域を特定します
- 脆弱性を選択する:機能に基づいて関連する OWASP カテゴリを選びます
- リファレンスを読み込む:詳細なパターンを確認するため、適切な参照ファイルを読みます
- コードを分析する:脆弱なパターンと安全なパターンに照らしてコードをレビューします
- 調査結果を記録する:重大度と修正方法を添えて脆弱性を記録します
- 修正を検証する:修正によって問題が適切に解決されたことをテストします
- セキュリティをテストする:自動セキュリティテスト(SAST、DAST、SCA)を実行します
セキュリティの基本原則
多層防御
- ネットワーク、アプリケーション、データ、監視の各レベルにセキュリティ制御を重ねます
- 1つの制御が失敗しても、システム全体が侵害されないようにします
デフォルトで安全
- デフォルトではすべてのアクセスを拒否し、権限を明示的に付与します
- 安全に失敗させます(エラーによって機密情報が漏えいしないようにします)
- 攻撃対象領域を最小限に抑えます(未使用の機能を無効にします)
- すべてのアカウントとサービスに最小権限を適用します
入力の検証
- 型、長さ、形式、許可される値を検証します
- 拒否リストより許可リストを使用します
- 特定のコンテキスト(SQL、HTML、シェルなど)に合わせてサニタイズします
- クライアントからの入力を決して信頼しません
よくある間違い
- ユーザー入力を信頼する:ユーザーが提供するすべてのデータを必ず検証し、サニタイズします
- 独自の暗号化を実装する:確立されたライブラリ(bcrypt、AES-256)を使用します
- エラーを公開する:詳細なエラーは内部でログに記録し、ユーザーには一般的なメッセージを表示します
- 認可を見落とす:UI だけでなく、すべてのリクエストで権限を確認します
- 脆弱なセッション管理:HTTPS とともに、安全な
httpOnly、sameSiteCookie を使用します - 依存関係を無視する:サードパーティライブラリを定期的に監査し、更新します
- ログを記録しない:検知とインシデント対応のために、セキュリティイベントをログに記録します
- デフォルト設定のままにする:すべてのシステムを強化し、デフォルト設定を無効にします
セキュリティテストツール
SAST(静的解析):SonarQube、Semgrep、ESLint security plugins DAST(動的解析):OWASP ZAP、Burp Suite SCA(依存関係):npm audit、Snyk、Dependabot シークレットスキャン:GitGuardian、TruffleHog 侵入テスト:Metasploit、Kali Linux tools
リソース
- OWASP Top 10 2021:https://owasp.org/Top10/
- OWASP Cheat Sheets:https://cheatsheetseries.owasp.org/
- OWASP ASVS:Application Security Verification Standard
- CWE Top 25:Common Weakness Enumeration
- NIST Cybersecurity Framework:https://www.nist.gov/cyberframework
- CVE Database:https://cve.mitre.org/
- Snyk Vulnerability DB:https://snyk.io/vuln/
コメント
Markdown 対応