news 2026/9/11 23:00:56

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Anthropic-Cybersecurity-Skills 漏洞扫描工作流 Agent API 参考与实战指南

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

【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, 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 CSF(DE.CM-01、DE.AE-02、DE.AE-06、RS.MA-01)与 MITRE ATT&CK(T1595.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.PortScanner
requests>= 2.28REST API 通信(Nessus、ServiceNow、CISA KEV)

agent.py 还使用标准库jsonloggingosargparsedatetime,无额外第三方依赖。实际部署前提(来自 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
--ports1-1024扫描端口范围
--nessus-urlNessus API 地址,如https://nessus:8834
--nessus-keysNessus API Key,格式accessKey;secretKey
--outputvuln_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 --script=vulners,vulscan进行服务版本探测与漏洞匹配。

def run_nmap_vuln_scan(targets, ports="1-1024"): scanner = nmap.PortScanner() scanner.scan(hosts=targets, ports=ports, arguments="-sV --script=vulners,vulscan") # 遍历 all_hosts() → all_protocols() → 每个端口,提取 state/name/version/script

实现要点:

  • -sV开启版本探测;--script=vulners,vulscan加载 NSE 漏洞匹配脚本(需本机安装 vulners 与 vulscan 脚本库);
  • 结果被规整为结构化字典列表,每个条目含hostportprotocolstateserviceversionscripts(NSE 脚本原始输出);
  • 返回结果直接进入后续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, timeout=30) 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 请求均带verify=not os.environ.get("SKIP_TLS_VERIFY") == "true",即实验室自签名证书场景可设SKIP_TLS_VERIFY=true跳过 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=..., json=ticket, timeout=30)

实现要点:使用 Bearer Token 认证;urgency依据 KEV 状态取1/2。SKILL.md 第 6 步展示了更完整的工单模板版本,额外携带short_description的漏洞详情、impact(business-critical 资产置 1)、assignment_groupremediation 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 Priority(P1 24 小时 SLA)明细、SLA 合规率与已建工单数。

五、外部 API 依赖清单

api-reference.md以表格形式列出了三个外部 API:

API端点用途
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 VMDR(qualysapi库,/api/2.0/fo/scan/端点)作为 Nessus 的平替扫描器。

六、扩展实战:从 API 到完整 SOC 闭环

API 参考聚焦函数级能力,而 SKILL.md 提供了六步工作流将这些函数放入 SOC 生产流程:

  1. 定义扫描范围与调度:Nessus API 创建周度扫描策略(launch: "WEEKLY"rrules: "FREQ=WEEKLY;INTERVAL=1;BYDAY=SA"),支持 Windows 密码认证与 SSH 公钥认证的凭据式扫描(credentialed scan 比纯网络扫描检测更深);Qualys 侧通过option_id指定扫描 profile。
  2. 处理与排序扫描结果:Nessus 结果以 CSV 导出(/scans/{id}/export?format=csv),逐行解析 CVSS v3 分数、结合资产关键性映射与 KEV 集合做风险评分——与prioritize_vulnerabilities同源的算法在 SKILL.md 中给出了内联版本。
  3. 定义修复 SLA:P1(24h)→ P5(下一轮扫描周期),见下文关键概念。
  4. SIEM 集成检测利用行为:Splunk SPL 将漏洞数据与 Snort/Suricata IDS 日志按Host:CVEjoin,识别"正在被积极利用的漏洞"并输出 CRITICAL 风险标记;同时对关键资产上的 KEV 漏洞单独告警。
  5. 构建修复跟踪仪表盘:按严重级别统计未关闭漏洞、计算 SLA 逾期状态(days_open > sla_days → OVERDUE)、输出 90 天修复趋势(timechart span=1w)。
  6. 自动化修复工单:对risk_score >= 8.0的发现批量创建 ServiceNow 工单。

七、关键概念速查

术语定义
CVSS通用漏洞评分系统,0–10 标准化漏洞严重性评级
CISA KEVCISA 维护的已知被利用漏洞目录,列明已确认积极利用的漏洞,需强制修复
Credentialed Scan使用认证访问的漏洞扫描,检测深度优于纯网络扫描
Asset Criticality决定修复优先级的业务影响分级(mission-critical、business-critical、standard)
Remediation SLA按严重性规定补丁修复时限的服务水平协议
EPSS基于机器学习的利用可能性预测评分

对应 SLA 表(来自 SKILL.md,与prioritize_vulnerabilities的 P1–P4 阈值一致):

优先级CVSS 范围资产类型SLA示例
P1 Critical9.0–10.0 + KEV所有资产24 小时生产服务器上的 Log4Shell、EternalBlue
P2 High7.0–8.9 或 9.0+ 非 KEV业务关键7 天无已知利用的 RCE
P3 Medium4.0–6.9业务关键30 天需认证的提权
P4 Low0.1–3.9标准90 天信息泄露、低影响 DoS
P5 Informational0.0开发下一轮最佳实践建议、配置加固

八、典型应用场景

该技能可应用于(源自 SKILL.md 的 Common Scenarios):

  • 零日响应:新 CVE 发布后针对受影响软件运行定向扫描,与 KEV 及利用数据库交叉比对;
  • 合规审计准备:生成 PCI DSS / HIPAA 漏洞报告,展示扫描覆盖率与修复状态;
  • 补丁后验证:重扫已修复系统确认漏洞关闭,更新跟踪仪表盘;
  • 网络扩容:新子网加入基础设施时,以合适的策略纳入扫描范围;
  • 第三方风险:集成前扫描外部暴露资产,验证供应商补丁合规性。

九、验证与运行方式

仓库为只读研究用途,你可按以下方式在本地复现验证:

# 依赖安装 pip install "python-nmap>=0.7.1" "requests>=2.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_VERIFY=true

【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 23:00:15

基于Hadoop的电影推荐系统:MapReduce协同过滤实现与课程设计指南

简介:基于Hadoop的电影推荐系统设计与实现方案,适合大数据、计算机相关专业学生作为小组作业、课程设计或毕业设计参考,也可供初学者了解推荐系统与Hadoop生态的结合方式。方案围绕电影评分数据,实现基于用户或物品的协同过滤推荐…

作者头像 李华
网站建设 2026/9/11 22:59:42

STM32F4 I2C实战:硬件I2C与软件模拟I2C选型与总线锁死恢复

简介:面向STM32F4X嵌入式开发者,这份压缩包提供了I2C总线通信的完整实现,同时给出硬件外设驱动与软件模拟两条路径,适合需要掌握不同I2C实现方式的中级开发者参考。包内共2个文件,分别是程序源码I2C.c和配套头文件I2C.…

作者头像 李华
网站建设 2026/9/11 22:59:09

基于CNN的人脸表情识别实战:从FER-2013到实时部署

简介:本资源是一套完整的人脸表情识别毕业设计实战项目,面向计算机及相关专业本科生,助力毕业设计选题、实现与答辩全流程。项目基于Python与卷积神经网络(CNN/VGG/ResNet),涵盖数据预处理、多模型训练对比…

作者头像 李华
网站建设 2026/9/11 22:56:56

大模型商业化困境与广告变现技术解析

1. 大模型商业化的现实困境那天看到ChatGPT开始推送广告的消息,我正和几个做AI产品的同行在咖啡馆闲聊。一位做NLP的老工程师突然放下手机说:"OpenAI终于还是走到这一步了。"这句话瞬间引发了热烈讨论——大家其实都心知肚明,像Cha…

作者头像 李华
网站建设 2026/9/11 22:56:18

鸿蒙原生微信APP开发:Stage模型+ArkTS实战指南

简介:本资源是一套基于最新鸿蒙OS(HarmonyOS)开发的高仿微信APP完整工程代码,面向鸿蒙应用开发者、移动开发初学者及高校课程实践者,旨在帮助读者掌握分布式架构下跨设备UI构建、实时通信与多媒体集成等核心能力。压缩…

作者头像 李华