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. 02审查 SSH 或 Docker 配置
  3. 03评估 Nmap 扫描结果
  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(漏洞利用开发)
发现漏洞 → 应用修复→ Skill 15(蓝队防御)
为 SOC 自动创建工单→ Skill 11(CSOC 自动化)
在侦察过程中发现← Skill 01(侦察与 OSINT)

参考资料


v3.0 增强功能(2026 年更新)

超越原始 CVSS 评分的基于风险的优先级排序:

  • CVSS 4.0 — 使用当前标准评分(Base/Threat/Environmental/Supplemental);显示向量字符串,并注明仅有 v3.1 数据的情况。
  • EPSS + CISA KEV — 综合 CVSS 严重性 × EPSS 漏洞利用概率 × KEV 收录情况。收录于 CISA 已知遭利用漏洞目录或 EPSS 较高的中等 CVSS 漏洞,其优先级高于没有遭利用信号的高 CVSS 漏洞。始终根据这一综合依据注明“优先修补”顺序。
  • 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。

新增参考资料

评论

支持 Markdown