mcpField
V
Vulnerability Scanning & Assessment

Vulnerability Scanning & Assessment

github.com/masriyanセキュリティ530142 回インストール1 週間前に更新
リポジトリ

Vulnerability Scanning & Assessment について

依存関係、設定ファイル、スキャン結果のセキュリティレビューを行う Claude スキルです。脆弱性データ、深刻度スコア、影響バージョン、修正案を用いて、評価担当者の対応優先度付けを支援します。

主な機能

  1. 01依存関係の脆弱性監査
  2. 02サーバー設定のレビュー
  3. 03CVSS 深刻度スコアリング
  4. 04Nmap 結果の分析
  5. 05優先順位付き修正レポート
  6. 06SBOM、VEX、到達可能性の評価

活用シーン

  1. 01プロジェクト依存関係の CVE 確認
  2. 02SSH または Docker 設定のレビュー
  3. 03Nmap スキャン結果の評価
  4. 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.md
scripts/
cvss_calculator.py
config_auditor.py
dependency_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 は依存関係ファイルを直接読み取り、分析できます。

ユーザーから依存関係の監査を求められた場合:

  1. Claude の Read ツールを使用するか、ユーザーに貼り付けてもらい、依存関係ファイルを読み取ります
  2. ファイル形式からパッケージマネージャーを特定します。
    • requirements.txt / Pipfile.lock / pyproject.toml → Python/pip
    • package.json / package-lock.json / yarn.lock → Node.js/npm
    • go.mod / go.sum → Go モジュール
    • pom.xml / build.gradle → Java/Maven/Gradle
    • Cargo.toml / Cargo.lock → Rust/Cargo
    • Gemfile.lock → Ruby/Bundler
    • composer.lock → PHP/Composer
  3. 直接依存関係と間接依存関係すべての正確なバージョンを抽出します
  4. 脆弱性データベースに問い合わせます — Claude は NVD API、OSV、GitHub Advisory Database を検索し、各パッケージとバージョンの組み合わせを確認できます
  5. 各検出結果の CVSS v3.1 重大度を算出します
  6. 利用可能なパッチを確認し、最低限必要な安全なバージョンを特定します
  7. 優先順位を付けた修正レポートを生成します

自動監査を実行するには、次のコマンドを使用します。

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 のスキャン結果を提示した場合、または脆弱性スキャンを依頼した場合:

  1. Nmap の XML/grepable 出力を解析し、オープンなサービスとバージョンを特定します
  2. 各サービスとバージョンを既知の CVE に対応付けます
  3. デフォルト認証情報が設定されているサービスを検出します(CVE/一般的な認証情報リストを確認)
  4. 重大な設定ミス(匿名 FTP、オープンリレー、telnet など)を特定します
  5. 詳細なテストに使う、対象を絞った 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)

参考資料


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 を含めます。

追加の参考資料

コメント