Vulnerability Scanning & Assessment について
依存関係、設定ファイル、スキャン結果のセキュリティレビューを行う Claude スキルです。脆弱性データ、深刻度スコア、影響バージョン、修正案を用いて、評価担当者の対応優先度付けを支援します。
主な機能
- 01依存関係の脆弱性監査
- 02サーバー設定のレビュー
- 03CVSS 深刻度スコアリング
- 04Nmap 結果の分析
- 05優先順位付き修正レポート
- 06SBOM、VEX、到達可能性の評価
活用シーン
- 01プロジェクト依存関係の CVE 確認
- 02SSH または Docker 設定のレビュー
- 03Nmap スキャン結果の評価
- 04悪用シグナルを用いた修正優先度付け
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ masriyan/ claude-code-cybersecurity-skill --skill vulnerability-scanning-&-assessmentインストール後、Claude Code で/vulnerability-scanning-&-assessmentを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
examples/example_usage.mdscripts/cvss_calculator.pyconfig_auditor.pydependency_auditor.py詳細
脆弱性スキャンと評価
目的
Claude が依存関係ファイル、設定ファイル、スキャン出力を直接分析し、優先順位を付けた実用的なレポートを生成することで、包括的な脆弱性評価を実施できるようにします。Claude は脆弱性を特定してリスクを算出し、バージョンを明示した修正方法を提示します。
起動条件
以下についてユーザーから質問された場合、このスキルが有効になります。
- 既知の CVE を対象とした依存関係のスキャン
requirements.txt、package.json、go.mod、pom.xml、Cargo.tomlの監査- サーバー設定のセキュリティ上の問題の確認
- CVSS スコアの算出または重大度の評価
- 脆弱性評価またはセキュリティ監査レポート
- ソフトウェアのバージョンと既知のエクスプロイトとの照合
- nginx、Apache、SSH、Docker、Kubernetes の設定強化
- NVD、OSV、または CVE データベースへの問い合わせ
前提条件
pip install requests packaging jinja2 pyyaml
任意の拡張ツール:
nuclei— テンプレートベースの脆弱性スキャナーtrivy— コンテナーおよびファイルシステムのスキャナー- NSE スクリプトを備えた
nmap— ネットワークの脆弱性スキャン openvas— 包括的な脆弱性管理
主な機能
1. 依存関係の脆弱性監査
Claude は依存関係ファイルを直接読み取り、分析できます。
ユーザーから依存関係の監査を求められた場合:
- Claude の Read ツールを使用するか、ユーザーに貼り付けてもらい、依存関係ファイルを読み取ります
- ファイル形式からパッケージマネージャーを特定します。
requirements.txt/Pipfile.lock/pyproject.toml→ Python/pippackage.json/package-lock.json/yarn.lock→ Node.js/npmgo.mod/go.sum→ Go モジュールpom.xml/build.gradle→ Java/Maven/GradleCargo.toml/Cargo.lock→ Rust/CargoGemfile.lock→ Ruby/Bundlercomposer.lock→ PHP/Composer
- 直接依存関係と間接依存関係すべての正確なバージョンを抽出します
- 脆弱性データベースに問い合わせます — Claude は NVD API、OSV、GitHub Advisory Database を検索し、各パッケージとバージョンの組み合わせを確認できます
- 各検出結果の CVSS v3.1 重大度を算出します
- 利用可能なパッチを確認し、最低限必要な安全なバージョンを特定します
- 優先順位を付けた修正レポートを生成します
自動監査を実行するには、次のコマンドを使用します。
python scripts/dependency_auditor.py --project-dir ./myapp --format json --output audit.json
python scripts/dependency_auditor.py --requirements requirements.txt --severity high,critical
Claude によるネイティブ分析 — スクリプトを使わずに実行する場合は、貼り付けられた依存関係の内容を直接分析します。
>=、*、またはバージョンの固定がないパッケージを、サプライチェーンのリスクとして検出します- 既知の高リスクパッケージ(log4j、spring-core、struts など)を特定します
- CISA KEV(既知の悪用済み脆弱性)カタログと照合します
2. 設定のセキュリティ監査
Claude は設定ファイルを直接読み取り、分析できます。
ユーザーから設定の監査を求められた場合:
Nginx 監査チェックリスト
[ ] ssl_protocols — Must NOT include SSLv2, SSLv3, TLSv1, TLSv1.1
[ ] ssl_ciphers — Must not include RC4, DES, MD5, EXPORT ciphers
[ ] server_tokens — Should be 'off' (hides version)
[ ] add_header X-Frame-Options — Required (SAMEORIGIN or DENY)
[ ] add_header X-Content-Type-Options — Required (nosniff)
[ ] add_header Strict-Transport-Security — Required (min 1 year)
[ ] add_header Content-Security-Policy — Required
[ ] autoindex — Must be 'off' (prevents directory listing)
[ ] client_max_body_size — Should be set (prevents DoS)
[ ] access_log / error_log — Must be enabled
SSH(sshd_config)監査チェックリスト
[ ] PermitRootLogin — Should be 'no' or 'prohibit-password'
[ ] PasswordAuthentication — Should be 'no' (key-only)
[ ] PermitEmptyPasswords — Must be 'no'
[ ] Protocol — Should be '2' only
[ ] Port — Consider non-default port
[ ] AllowUsers / AllowGroups — Explicit allowlist preferred
[ ] MaxAuthTries — Should be 3-5
[ ] LoginGraceTime — Should be 30-60s
[ ] ClientAliveInterval — Enable session timeout
[ ] X11Forwarding — Should be 'no' if unused
[ ] UsePAM — Review PAM configuration
Docker/Dockerfile 監査チェックリスト
[ ] USER — Must not run as root; add non-root user
[ ] Image tags — Must not use 'latest'; pin specific digest
[ ] COPY vs ADD — Prefer COPY; ADD has implicit extraction risks
[ ] Secrets — No RUN commands with passwords/tokens
[ ] Multi-stage builds — Minimize attack surface
[ ] HEALTHCHECK — Define health monitoring
[ ] .dockerignore — Exclude .env, keys, secrets
[ ] Read-only filesystem — Use --read-only where possible
Kubernetes YAML 監査チェックリスト
[ ] securityContext.runAsNonRoot — Must be true
[ ] securityContext.readOnlyRootFilesystem — Should be true
[ ] securityContext.allowPrivilegeEscalation — Must be false
[ ] capabilities — Drop ALL, add only required
[ ] resources.limits — CPU and memory limits required
[ ] NetworkPolicy — Restrict pod-to-pod communication
[ ] ServiceAccount — Disable automount if not needed
[ ] secrets — Use sealed secrets or external vaults
[ ] hostPID/hostIPC/hostNetwork — Must be false
[ ] privileged — Must never be true in production
3. CVSS v3.1 スコアの算出
ユーザーから CVSS の算出または重大度の評価を求められた場合:
Claude はベクター文字列または脆弱性の説明から CVSS v3.1 スコアを算出できます。
CVSS v3.1 の指標:
| 指標 | 値 | 説明 |
|---|---|---|
| 攻撃元区分(AV) | N/A/L/P | ネットワーク/隣接ネットワーク/ローカル/物理 |
| 攻撃条件の複雑さ(AC) | L/H | 低/高 |
| 必要な特権(PR) | N/L/H | 不要/低/高 |
| ユーザー関与(UI) | N/R | 不要/必要 |
| スコープ(S) | U/C | 変更なし/変更あり |
| 機密性への影響(C) | N/L/H | なし/低/高 |
| 完全性への影響(I) | N/L/H | なし/低/高 |
| 可用性への影響(A) | N/L/H | なし/低/高 |
重大度の範囲:
| スコア | 重大度 |
|---|---|
| 0.0 | なし |
| 0.1–3.9 | 低 |
| 4.0–6.9 | 中 |
| 7.0–8.9 | 高 |
| 9.0–10.0 | 重大 |
算出例:
- リモートからの未認証 RCE:
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H→ 10.0(重大) - ローカルでの権限昇格:
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H→ 7.8(高)
python scripts/cvss_calculator.py --vector "AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
4. ネットワーク脆弱性スキャンの統合
ユーザーが Nmap のスキャン結果を提示した場合、または脆弱性スキャンを依頼した場合:
- Nmap の XML/grepable 出力を解析し、オープンなサービスとバージョンを特定します
- 各サービスとバージョンを既知の CVE に対応付けます
- デフォルト認証情報が設定されているサービスを検出します(CVE/一般的な認証情報リストを確認)
- 重大な設定ミス(匿名 FTP、オープンリレー、telnet など)を特定します
- 詳細なテストに使う、対象を絞った Nmap NSE スクリプトのコマンドを提示します:
# Vulnerability scanning with NSE
nmap -sV --script vuln -p 80,443,22,21,3389 target.com
# SMB vulnerability check (EternalBlue, etc.)
nmap -p 445 --script smb-vuln* target.com
# SSL/TLS vulnerability check
nmap -p 443 --script ssl-enum-ciphers,ssl-heartbleed,ssl-poodle target.com
5. 脆弱性レポートの生成
ユーザーが脆弱性レポートを依頼した場合:
以下の構成でレポートを生成します:
# Vulnerability Assessment Report
**Target:** [Target Name/IP Range]
**Date:** [Date]
**Scope:** [Authorized scope]
**Assessor:** [Name]
---
## Executive Summary
[2-3 sentences: what was tested, total findings by severity, top risk]
## Finding Summary
| Severity | Count | Examples |
|----------|-------|---------|
| Critical | 2 | CVE-2021-44228 (Log4Shell), Unauthenticated RCE |
| High | 5 | Outdated TLS, SQLi in /api/users |
| Medium | 12 | Missing security headers, verbose errors |
| Low | 8 | Information disclosure, weak ciphers |
| Info | 15 | Version disclosure, directory listing |
---
## Findings Detail
### CRITICAL-01: [Finding Title]
**CVSS:** 9.8 (Critical) | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
**Affected:** [Package/Service] [Version]
**CVE:** [CVE-ID]
**Description:** [Clear technical description]
**Evidence:** [Proof the vulnerability exists]
**Remediation:** Upgrade to [Package] >= [SafeVersion]
**References:** [CVE link, advisory]
---
## Remediation Roadmap
| Priority | Action | Effort | Risk Reduction |
|----------|--------|--------|----------------|
| Immediate | Patch Log4j to 2.17.1+ | Low | Critical |
| This week | Upgrade express to 4.18.2 | Low | High |
| This month | Enable WAF rules | Medium | Medium |
出力基準
調査結果には必ず以下を含めてください:
- CVE ID(該当する場合)
- CVSS v3.1 スコアとベクター
- 影響を受けるバージョンと安全なバージョン
- PoC の証拠(非破壊的な確認のみ)
- 具体的なバージョン番号を含む修正手順
- コンプライアンスへの対応付け(該当する場合は PCI-DSS、SOC2、CIS)
スクリプトリファレンス
dependency_auditor.py
python scripts/dependency_auditor.py --project-dir ./myapp --format json --output audit.json
python scripts/dependency_auditor.py --requirements requirements.txt --severity high,critical
config_auditor.py
python scripts/config_auditor.py --type nginx --config /etc/nginx/nginx.conf --output audit.json
python scripts/config_auditor.py --type sshd --config /etc/ssh/sshd_config
python scripts/config_auditor.py --type dockerfile --config Dockerfile
cvss_calculator.py
python scripts/cvss_calculator.py --vector "AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
python scripts/cvss_calculator.py --interactive
スキルの連携
| 条件 | 次のスキル |
|---|---|
| 脆弱性を確認 → PoC を開発 | → Skill 03 (Exploit Development) |
| 脆弱性を発見 → 修正を適用 | → Skill 15 (Blue Team Defense) |
| SOC 向けの自動チケット作成 | → Skill 11 (CSOC Automation) |
| 偵察中に発見 | ← Skill 01 (Recon & OSINT) |
参考資料
- NVD — National Vulnerability Database
- OSV — Open Source Vulnerabilities
- CISA KEV Catalog
- CVSS v3.1 Specification
- CIS Benchmarks
- OWASP Dependency-Check
v3.0 の強化点(2026 年更新)
CVSS の生スコアを超えた、リスクベースの優先順位付け:
- CVSS 4.0 — 現行の標準(Base/Threat/Environmental/Supplemental)でスコアを算出します。ベクター文字列を示し、v3.1 のデータしか存在しない場合はその旨を記載します。
- EPSS + CISA KEV — CVSS の深刻度 × EPSS の悪用確率 × KEV への登録状況を組み合わせます。CISA の既知の悪用脆弱性カタログに登録されている、または EPSS が高い、中程度の CVSS の CVE は、悪用の兆候がない高 CVSS の CVE よりも優先度が高くなります。この組み合わせに基づく「パッチ適用の優先順位」を必ず示します。
- SBOM + VEX — プロジェクトの CycloneDX/SPDX SBOM を生成し、VEX ステートメント(
affected/not_affected/fixed)を出力して、実際に到達可能な CVE を利用者が把握できるようにします。 - 到達可能性分析 — 脆弱な関数が実際に呼び出されているか(コールグラフ/インポートの到達可能性)を示し、推移的依存関係による誤検知を減らします。
- OSV.dev — NVD に加えて、OSV API に問い合わせ、エコシステムに特化したアドバイザリ(PyPI、npm、Go、crates、Maven)を取得します。
出力ルール: 各調査結果の行に CVSS | EPSS | KEV(Y/N) | Reachable(Y/N/Unknown) | Fix を含めます。