ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Anthropic-Cybersecurity-Skills 漏洞扫描工作流 Agent API 参考与实战指南

2026/9/11 23:01:06 拓冰建站 浏览量
Anthropic-Cybersecurity-Skills 漏洞扫描工作流 Agent API 参考与实战指南 Anthropic-Cybersecurity-Skills 漏洞扫描工作流 Agent API 参考与实战指南【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills导读本指南围绕 Anthropic-Cybersecurity-Skills 仓库中building-vulnerability-scanning-workflow技能展开完整解读其 API 参考文档 及配套的可执行脚本 agent.py涵盖 Nmap 漏洞扫描编排、CISA KEV 威胁情报增强、风险优先级打分、Nessus REST API 对接与 ServiceNow 工单自动化。读完本文你将能够理解该 Agent 的核心函数签名、CLI 调用方式、外部 API 依赖关系并能直接运行或二次开发这一套扫描 → 增强 → 优先级排序 → 报告 → 工单的漏洞管理流水线。该技能归属于仓库 817 个结构化网络安全技能中的soc-operations子域其完整能力定义见 SKILL.md并被映射到 NIST CSFDE.CM-01、DE.AE-02、DE.AE-06、RS.MA-01与 MITRE ATTCKT1595.002、T1190、T1046框架。一、整体架构一个函数式漏洞管理流水线api-reference.md开篇即点明该 Agent 的核心职责编排 Nmap 与 Nessus 扫描、用 CISA KEV 数据丰富发现结果、应用基于风险的优先级排序、生成修复报告。结合 agent.py 的main()入口其执行链路为fetch_cisa_kev() → run_nmap_vuln_scan() → launch_nessus_scan()可选 → prioritize_vulnerabilities() → generate_report() → 写 JSON 报告从源码结构看该 Agent 采用串行函数式设计每个公开函数职责单一、输入输出明确便于 Agent如 Claude Code、GitHub Copilot 等 20 平台按 API 参考逐函数调用与组合。同时 SKILL.md 将其定位为 SOC 团队的周期性漏洞评估流程不只是单次扫描而是与 SIEM 告警关联、构建修复跟踪仪表盘的闭环体系。二、依赖清单与运行前提api-reference.md给出了两份精确依赖包版本要求用途python-nmap 0.7.1Nmap 扫描编排nmap.PortScannerrequests 2.28REST API 通信Nessus、ServiceNow、CISA KEVagent.py 还使用标准库json、logging、os、argparse、datetime无额外第三方依赖。实际部署前提来自 SKILL.md具备漏洞扫描器Tenable Nessus Professional、Qualys VMDR 或 OpenVAS/Greenbone 任选其一拥有带关键性分级business-critical / standard / development的资产清单扫描器到所有目标网段具备网络可达性网络扫描或 Agent 扫描均可SIEM 集成用于结果摄入与关联分析补丁管理系统WSUS、SCCM、Intune用于修复跟踪。注意该技能明确声明不用于渗透测试或主动利用——漏洞扫描发现弱点渗透测试验证可利用性两者边界清晰。三、CLI 使用方式api-reference.md提供了两条可直接复制的 CLI 命令python agent.py --targets 192.168.1.0/24 --ports 1-1024 --output report.json python agent.py --targets 10.0.0.0/16 --nessus-url https://nessus:8834 --nessus-keys access;secret对照 agent.py 的参数解析完整参数如下参数必填默认值说明--targets是无目标主机或 CIDR如10.0.0.0/16--ports否1-1024扫描端口范围--nessus-url否无Nessus API 地址如https://nessus:8834--nessus-keys否无Nessus API Key格式accessKey;secretKey--output否vuln_report.json报告输出路径main()的执行流程揭示了 CLI 的最小可用语义仅提供--targets即可完成一次KEV 加载 → Nmap 扫描 → 优先级排序 → 报告生成的完整闭环只有同时传入--nessus-url与--nessus-keys时才触发 Nessus 扫描启动launch_nessus_scan。需要注意prioritize_vulnerabilities在此处传入空资产关键性映射{}即无资产上下文时默认 criticality 为 1.0。四、核心函数逐个解析api-reference.md定义了 6 个核心函数下面结合 agent.py 逐一展开实现细节。4.1run_nmap_vuln_scan(targets, ports)运行 Nmap使用-sV --scriptvulners,vulscan进行服务版本探测与漏洞匹配。def run_nmap_vuln_scan(targets, ports1-1024): scanner nmap.PortScanner() scanner.scan(hoststargets, portsports, arguments-sV --scriptvulners,vulscan) # 遍历 all_hosts() → all_protocols() → 每个端口提取 state/name/version/script实现要点-sV开启版本探测--scriptvulners,vulscan加载 NSE 漏洞匹配脚本需本机安装 vulners 与 vulscan 脚本库结果被规整为结构化字典列表每个条目含host、port、protocol、state、service、version及scriptsNSE 脚本原始输出返回结果直接进入后续prioritize_vulnerabilities处理。4.2fetch_cisa_kev()下载 CISA Known Exploited Vulnerabilities JSON 目录返回 CVE ID 集合。def fetch_cisa_kev(): url https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json resp requests.get(url, timeout30) resp.raise_for_status() kev_set {v[cveID] for v in resp.json()[vulnerabilities]} return kev_set要点请求超时 30 秒并raise_for_status()显式失败将目录扁平化为set[str]为后续 O(1) 的cve in kev_set成员判断服务。该数据集是美国政府维护的已确认被积极利用漏洞清单也是下文风险评分的 1.5 倍加权依据。4.3launch_nessus_scan(nessus_url, api_keys, scan_name, targets)通过 Nessus REST API 创建并启动漏洞扫描。def launch_nessus_scan(nessus_url, api_keys, scan_name, targets): headers {X-ApiKeys: api_keys, Content-Type: application/json} scan_config { uuid: advanced, settings: { name: scan_name, text_targets: targets, launch: ON_DEMAND, enabled: True, }, } # POST {nessus_url}/scans → 取 scan.id # POST {nessus_url}/scans/{scan_id}/launch → 启动实现要点认证头使用X-ApiKeys: accessKey...;secretKey...CLI 传入格式access;secret会被 Agent 组装两个 POST 请求均带verifynot os.environ.get(SKIP_TLS_VERIFY) true即实验室自签名证书场景可设SKIP_TLS_VERIFYtrue跳过 TLS 校验生产环境务必保持校验开启。4.4prioritize_vulnerabilities(vulns, kev_set, asset_criticality_map)应用风险评分risk_score CVSS * asset_criticality * (1.5 if KEV)分配 P1–P4 优先级。这是整个工作流的决策核心。源码实现risk_score cvss * criticality # criticality 默认 1.0来自 asset_criticality_map if cve in kev_set: risk_score * 1.5 vuln[kev] True vuln[risk_score] round(risk_score, 1) vuln[priority] ( P1 if risk_score 13.5 else P2 if risk_score 7.0 else P3 if risk_score 4.0 else P4 )优先级阈值推导由于 KEV 加权 1.5 倍9.0(CVSS) × 1.5 13.5恰好构成 P1 门槛这与 SKILL.md 中P1 9.0–10.0 KEV的 SLA 表完全自洽——即只有被确认积极利用的高危漏洞才会进入 P1 24 小时 SLA 通道。排序按risk_score降序确保报告头部是风险最高的发现。4.5create_servicenow_ticket(snow_url, token, vuln)为高优先级漏洞创建 ServiceNow 事故工单。ticket { short_description: f[VULN] {cve} on {host}, description: CVE / CVSS / Host / Risk Score / CISA KEV ..., urgency: 1 if kev else 2, category: Vulnerability, } requests.post(f{snow_url}/api/now/table/incident, headers..., jsonticket, timeout30)实现要点使用 Bearer Token 认证urgency依据 KEV 状态取1/2。SKILL.md 第 6 步展示了更完整的工单模板版本额外携带short_description的漏洞详情、impactbusiness-critical 资产置 1、assignment_group与remediation SLA字段并设置risk_score 8.0的触发阈值。4.6generate_report(vulns)生成带优先级分解的格式化漏洞扫描摘要。源码实现统计 P1/P2 数量打印报告标题、时间戳、总发现数、P1/P2 数量及 Top 10 P1 条目CVE、主机、风险分。SKILL.md 的输出格式章节给出了该报告的完整生产形态扫描时间/范围/时长/覆盖率、按严重级别分组的统计Critical/High/Medium/Low/Info × New × KEV、Top PriorityP1 24 小时 SLA明细、SLA 合规率与已建工单数。五、外部 API 依赖清单api-reference.md以表格形式列出了三个外部 APIAPI端点用途CISA KEVhttps://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json已知被利用漏洞Nessus/scans、/scans/{id}/launch扫描管理ServiceNow/api/now/table/incident工单创建这些端点在 agent.py 中均有对应实现见上文各函数且requests依赖 2.28正是为这三类 REST 通信服务。此外 SKILL.md 还覆盖了 Qualys VMDRqualysapi库/api/2.0/fo/scan/端点作为 Nessus 的平替扫描器。六、扩展实战从 API 到完整 SOC 闭环API 参考聚焦函数级能力而 SKILL.md 提供了六步工作流将这些函数放入 SOC 生产流程定义扫描范围与调度Nessus API 创建周度扫描策略launch: WEEKLY、rrules: FREQWEEKLY;INTERVAL1;BYDAYSA支持 Windows 密码认证与 SSH 公钥认证的凭据式扫描credentialed scan 比纯网络扫描检测更深Qualys 侧通过option_id指定扫描 profile。处理与排序扫描结果Nessus 结果以 CSV 导出/scans/{id}/export?formatcsv逐行解析 CVSS v3 分数、结合资产关键性映射与 KEV 集合做风险评分——与prioritize_vulnerabilities同源的算法在 SKILL.md 中给出了内联版本。定义修复 SLAP124h→ P5下一轮扫描周期见下文关键概念。SIEM 集成检测利用行为Splunk SPL 将漏洞数据与 Snort/Suricata IDS 日志按Host:CVEjoin识别正在被积极利用的漏洞并输出 CRITICAL 风险标记同时对关键资产上的 KEV 漏洞单独告警。构建修复跟踪仪表盘按严重级别统计未关闭漏洞、计算 SLA 逾期状态days_open sla_days → OVERDUE、输出 90 天修复趋势timechart span1w。自动化修复工单对risk_score 8.0的发现批量创建 ServiceNow 工单。七、关键概念速查术语定义CVSS通用漏洞评分系统0–10 标准化漏洞严重性评级CISA KEVCISA 维护的已知被利用漏洞目录列明已确认积极利用的漏洞需强制修复Credentialed Scan使用认证访问的漏洞扫描检测深度优于纯网络扫描Asset Criticality决定修复优先级的业务影响分级mission-critical、business-critical、standardRemediation SLA按严重性规定补丁修复时限的服务水平协议EPSS基于机器学习的利用可能性预测评分对应 SLA 表来自 SKILL.md与prioritize_vulnerabilities的 P1–P4 阈值一致优先级CVSS 范围资产类型SLA示例P1 Critical9.0–10.0 KEV所有资产24 小时生产服务器上的 Log4Shell、EternalBlueP2 High7.0–8.9 或 9.0 非 KEV业务关键7 天无已知利用的 RCEP3 Medium4.0–6.9业务关键30 天需认证的提权P4 Low0.1–3.9标准90 天信息泄露、低影响 DoSP5 Informational0.0开发下一轮最佳实践建议、配置加固八、典型应用场景该技能可应用于源自 SKILL.md 的 Common Scenarios零日响应新 CVE 发布后针对受影响软件运行定向扫描与 KEV 及利用数据库交叉比对合规审计准备生成 PCI DSS / HIPAA 漏洞报告展示扫描覆盖率与修复状态补丁后验证重扫已修复系统确认漏洞关闭更新跟踪仪表盘网络扩容新子网加入基础设施时以合适的策略纳入扫描范围第三方风险集成前扫描外部暴露资产验证供应商补丁合规性。九、验证与运行方式仓库为只读研究用途你可按以下方式在本地复现验证# 依赖安装 pip install python-nmap0.7.1 requests2.28 # 最小闭环运行无需任何外部服务仅需 Nmap 与 CISA KEV 网络可达 python skills/building-vulnerability-scanning-workflow/scripts/agent.py \ --targets 127.0.0.1 --ports 22,80,443 --output report.json完整技能定义与六步工作流SKILL.md可执行 Agent 源码agent.py函数级 API 参考api-reference.md许可证Apache-2.0注意运行前提Nmap 需已安装且vulners/vulscanNSE 脚本可用访问 CISA KEV 需外网Nessus/ServiceNow 相关参数仅在对接对应服务时使用。在生产环境请勿设置SKIP_TLS_VERIFYtrue。【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考