关于 Vulnerability Scanning & Assessment
面向安全审查的 Claude 技能,可分析依赖项、配置文件和扫描结果。它结合漏洞数据、严重性评分、受影响版本及修复建议,帮助评估人员排列发现项优先级。
主要功能
- 01依赖项漏洞审计
- 02服务器配置审查
- 03CVSS 严重性评分
- 04Nmap 结果分析
- 05按优先级生成修复报告
- 06SBOM、VEX 与可达性评估
适用场景
- 01检查项目依赖项中的 CVE
- 02审查 SSH 或 Docker 配置
- 03评估 Nmap 扫描结果
- 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(漏洞利用开发) |
| 发现漏洞 → 应用修复 | → 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