cti-skills:为AI智能体赋能的网络威胁情报技能包实战指南
1. 项目概述一个为AI智能体赋能的网络威胁情报技能包如果你是一名网络安全分析师、威胁情报研究员或者正在探索如何将AI智能体Agent融入你的日常工作流那么你很可能已经感受到了一个痛点市面上的AI工具虽然强大但往往缺乏领域深度。它们能写代码、能总结报告但当你需要它帮你快速调查一个可疑IP、撰写一条精准的YARA规则或者系统性地分析一个高级持续性威胁APT组织时你会发现它给出的答案要么过于笼统要么需要你花费大量时间进行“调教”和上下文输入。这正是cti-skills这个项目试图解决的问题。它不是一个独立的软件而是一个专为支持Agent Skills规范的智能体集成开发环境如 Claude Code, Cursor, Windsurf设计的技能包。简单来说它为你手头的AI编程助手“安装”了52项网络威胁情报CTI领域的专业技能。想象一下你的AI伙伴突然精通了从OSINT调查、威胁行为者画像、检测规则编写到情报报告撰写的一整套“手艺”并且能通过一个统一的“调度员”Orchestrator技能智能地调用和组合这些能力。这正是cti-skills带来的核心价值将专业的CTI工作流无缝嵌入到你的AI辅助编程环境中实现“所想即所得”的情报分析与生产。这个由 Liberty91 Ltd 开发并采用 MIT 许可证的开源项目其设计哲学非常明确模块化、可组合、开箱即用。它不试图创造一个全能但笨重的“AI分析师”而是提供了一整套精细的“工具刀”每把刀都针对一个特定的CTI任务进行了优化。无论是调查一个IP地址、生成一条Sigma规则还是调用VirusTotal API获取文件信誉你都可以通过一个简单的自然语言指令如Investigate 203.0.113.42来触发一系列复杂的、背后由专业逻辑支撑的操作。对于每天需要处理大量告警、IOC失陷指标和情报线索的安全团队而言这无疑能极大提升初级分析的自动化水平和资深分析师的工作效率。2. 核心架构与设计理念解析2.1 从多智能体架构到扁平化技能模型翻阅项目的版本记录和状态说明你会发现一个有趣的演进项目正从最初的“14-agent hierarchical architecture”14个智能体的分层架构向“flat-skill single-orchestrator model”扁平化技能单一调度器模型过渡。这个转变非常值得深究因为它反映了开发者对“AI智能体如何更好地服务于专业工作流”这一问题的深刻思考。早期的分层架构可能模仿了人类团队的组织形式例如设立专门的“调查员”、“分析师”、“报告撰写员”等角色智能体。这种设计的初衷是好的旨在让每个智能体职责单一、专业精深。但在实际交互中用户可能需要在不同智能体间频繁切换沟通成本高且整体工作流的连贯性可能被打断。而新的扁平化模型则更加优雅和实用。在新的模型下所有52个技能都是平等的、独立的“原子能力”。它们就像乐高积木本身功能完整。而那个唯一的“调度员”Orchestrator技能则扮演了“总控台”和“粘合剂”的角色。它的核心职责是意图识别与路由解析用户的自然语言指令如“调查这个IP”判断需要调用哪些底层技能。工作流编排按照最优的逻辑顺序串联多个技能。例如对于IP调查它会依次调用VirusTotal、AbuseIPDB、GreyNoise等多个查询技能。统一应用专业规范自动为输出结果应用TLP交通灯协议标签、根据数据源可靠性进行评分、使用标准化的置信度语言如NATO Admiralty Scale。这确保了产出的情报符合行业标准无需人工二次加工。这种设计的好处显而易见降低了使用复杂度提高了响应速度和灵活性。用户无需关心背后调用了哪个“智能体”只需关注任务本身。同时由于技能是扁平和独立的开发者可以更容易地新增、修改或替换某个技能而不会影响整体系统。2.2 技能包的组成五大核心支柱cti-skills的技能体系并非随意堆砌而是紧紧围绕CTI工作的完整生命周期构建的可以概括为五大支柱2.2.1 情报收集与调查Collection Investigation这是情报工作的起点。项目提供了针对不同IOC类型的专项调查技能如/ip-investigation,/domain-investigation,/hash-investigation。更重要的是它集成了7个主流的威胁情报平台TIP和OSINT工具作为“查找技能”Lookup Skills。例如/lookup-virustotal封装了与VirusTotal API的交互逻辑。这些查找技能既是独立的工具也能被其他调查技能灵活调用形成了强大的情报收集网络。实操心得API密钥的优雅降级项目在API密钥管理上设计得非常人性化。所有集成服务的API密钥都是可选的。如果你没有配置某个服务的密钥比如Shodan对应的查找技能会在被调用时自动跳过而不会导致整个工作流报错中断。系统会优雅地降级仅使用已配置密钥的服务完成调查并在报告中注明哪些数据源因缺少密钥而未被查询。这在实际团队协作中非常实用允许不同权限的成员使用同一套工具。2.2.2 分析与研判Analysis Assessment这是将原始数据转化为可用情报的核心环节。技能包提供了从基础到高级的一系列分析方法论工具。基础分析/threat-actor-profile能快速生成包含别名、历史活动、常用TTP战术、技术与程序的威胁行为者档案。高级分析技术/ach竞争性假设分析技能引导你系统性地评估多个可能性避免认知偏差。/structured-analytic-techniques则可能包含如“关键假设检查”、“象限分析法”等结构化思维工具。专项评估/threat-assessment威胁评估、/horizon-scanning态势扫描等技能帮助你对特定威胁或未来风险进行定性定量的判断。2.2.3 检测工程Detection Engineering这是连接情报与防御行动的关键桥梁。cti-skills直接提供了生成主流检测规则的能力/sigma-writing: 帮助撰写Sigma规则一种通用的日志检测规则格式。/yara-writing: 辅助创建用于恶意软件识别的YARA规则。/kql-writing: 生成用于微软Sentinel等平台的Kusto查询语言KQL查询。 这些技能很可能内嵌了相应规则的最佳实践模板、常见语法陷阱提示并能根据你输入的威胁指标如APT组织使用的特定进程名、注册表路径生成规则草稿极大提升了检测能力落地的速度。2.2.4 情报生产与传播Production Dissemination高质量的情报需要以恰当的形式呈现和分享。这部分技能关注输出物。/intelligence-writing和/writing-assessments: 可能提供了情报报告、评估简报的标准化模板和写作指南。/ioc-export和/stix-bundle: 支持将调查结果以STIX/TAXII等标准格式导出便于在不同安全平台间共享。/apply-tlp,/score-source等“专业严谨性”技能确保所有产出物都自动标记了数据共享范围TLP和数据源可信度评分。2.2.5 领域知识库Knowledge Cells这是项目的“智慧大脑”。它不是静态文档而是可交互、可查询的“活”知识单元。例如/china-cyber-espionage这个知识单元可能内置了关于特定APT组织如APT41、海莲花的最新已知TTP、攻击工具、基础设施等信息。当你在分析一个疑似来自该地区的攻击时可以直接调用此知识单元进行比对和参考让AI助手具备了对特定威胁领域的上下文感知能力。2.3 本地化MITRE ATTCK数据集的价值项目集成了本地的MITRE ATTCK数据集这是一个至关重要的设计。ATTCK框架是CTI领域描述攻击者行为的通用语言。将其本地化意味着离线可用所有TTP映射、查询操作无需联网保证了在隔离环境或注重隐私的场景下的可用性。响应迅速避免了每次查询都调用外部API的网络延迟。深度集成调查和分析技能可以无缝引用ATTCK中的技术ID如T1059.001、战术阶段使生成的报告和规则更具专业性和互操作性。3. 安装与配置实战指南cti-skills提供了多种安装方式以适应不同的技术栈和个人偏好。下面我将详细拆解每种方法并分享一些配置上的细节和注意事项。3.1 安装方式详解与选型建议3.1.1 Claude Code 插件安装推荐给Claude Code用户这是最便捷的一键式安装方法特别适合主要使用Claude Code进行开发的用户。/plugin marketplace add Liberty91LTD/cti-skills /plugin install cti-skills执行上述命令后插件市场会拉取该技能包并将其集成到你的Claude Code环境中。之后在Claude Code的对话或编辑器中你就可以直接通过/命令调用各种技能了。3.1.2 通过npx一键安装最灵活轻量这是我最推荐给大多数尝鲜用户和项目快速集成的方式。npx github:Liberty91LTD/cti-skills这条命令的精妙之处在于它不需要你在系统上全局安装任何东西除了Node.js和npx。npx会临时下载并运行技能包的安装脚本将全部技能、工具集成和插件清单复制到当前目录。你可以通过--target 目录路径参数指定安装到其他位置。在正式集成前你还可以先用npx github:Liberty91LTD/cti-skills list命令预览所有可用的技能列表。注意事项项目结构权限使用npx或git clone后如果安装脚本setup.sh无法执行请检查其是否具有可执行权限。在Linux/macOS上可以使用chmod x ./scripts/setup.sh命令赋予权限。3.1.3 Git克隆与完整部署适合希望深度定制、贡献代码或在无网络环境中部署的用户。git clone gitgithub.com:Liberty91LTD/cti-skills.git cd cti-skills ./scripts/setup.shsetup.sh脚本是关键它会交互式地引导你配置可选的API密钥并自动下载MITRE ATTCK等本地数据集。完成后在项目根目录运行claude如果你配置了Claude Code CLI即可开始使用。3.1.4 其他IDE集成Cursor, Windsurf等对于其他支持Agent Skills规范的IDE安装方式本质上是将技能包克隆到IDE指定的技能目录中。因为其核心是一个符合规范的技能集合所以通用性很强。你需要查阅对应IDE的文档找到其“Agent Skills”或“自定义技能”的目录路径然后将cti-skills的skills/目录内容复制过去或直接克隆到该路径下。3.2 API密钥配置让技能火力全开虽然技能包在没有API密钥时也能工作优雅降级但配置密钥才能解锁全部潜力。setup.sh脚本会引导你将密钥存入.claude/settings.local.json文件该文件通常被.gitignore排除避免了敏感信息误提交的风险。下表整理了各服务的API密钥获取与配置要点服务环境变量名免费层限制获取与配置要点VirusTotalVIRUSTOTAL_API_KEY4次/分钟500次/天注册VirusTotal社区账号后在个人设置中创建API密钥。免费层足够个人和小团队进行非高频调查。URLScan.ioURLSCAN_API_KEY100次扫描/天在其官网注册并创建API密钥。适用于对可疑URL进行安全扫描和截图。ShodanSHODAN_API_KEY1次/秒注册Shodan账号免费API密钥有搜索次数限制。适合用于IP关联的开放端口、服务指纹识别。AbuseIPDBABUSEIPDB_API_KEY1000次查询/天注册后创建API密钥。是查询IP历史恶意行为如垃圾邮件、攻击源的重要来源。GreyNoiseGREYNOISE_API_KEY50次查询/天提供IP背景噪音识别能快速过滤掉扫描器、云服务IP等非针对性威胁。免费层额度较少。AlienVault OTXOTX_API_KEY10,000次/小时注册AlienVault OTXOpen Threat Exchange即可获得。数据源丰富免费额度非常慷慨。CensysCENSYS_API_IDCENSYS_API_SECRET250次查询/月需要两个密钥API ID和Secret。用于深度设备与证书搜索免费层查询次数有限。实操心得密钥管理与团队共享对于团队使用不建议直接将.claude/settings.local.json文件共享。更好的做法是创建一个.claude/settings.local.json.example模板文件列出所有需要的环境变量名但值为空。每位团队成员根据模板创建自己的本地settings.local.json文件。或者在团队服务器或容器化部署时通过Docker环境变量或密钥管理服务如HashiCorp Vault来注入这些密钥。cti-skills也支持直接从环境变量读取这些配置这为自动化部署提供了便利。4. 核心技能深度体验与工作流串联安装配置完成后让我们通过几个典型场景深入体验cti-skills如何改变我们的工作方式。4.1 场景一快速IOC调查与情报报告生成假设你在日志中发现一个可疑IP203.0.113.42这是一个RFC 5737中定义的测试地址实际中请替换为真实IOC。传统做法是打开浏览器分别登录VirusTotal、AbuseIPDB、Shodan等多个标签页手动查询、复制粘贴结果、最后自己汇总成报告。这个过程繁琐、易错、且难以标准化。使用cti-skills你只需在IDE中输入Investigate 203.0.113.42“调度员”技能会接管这个任务。其内部工作流大致如下解析指令识别出这是一个IP调查请求。技能链调用依次异步或同步调用/lookup-virustotal、/lookup-abuseipdb、/lookup-greynoise、/lookup-shodan、/lookup-otx等技能。数据聚合与评分收集各平台返回的原始数据如恶意样本数量、滥用报告次数、标签、开放端口、关联域名等。应用专业规范自动根据数据源的可信度例如VirusTotal的社区投票、AbuseIPDB的置信度分数对信息进行加权评分。同时根据情报的敏感程度自动为报告打上TLP:WHITE或TLP:GREEN的标签假设这是公开信息。生成结构化报告最终输出一个格式统一的调查报告可能包含以下章节执行摘要IP的风险评级如“高危”、“中危”、“低危/背景噪音”。情报详情以表格形式列出各平台查询结果。关联指标发现的关联域名、哈希值、样本。ATTCK映射该IP关联的活动可能涉及的ATTCK技术如T1583.001 - 获取基础设施。建议建议的处置措施如封锁该IP、进一步的调查方向。元数据报告生成时间、使用的数据源及其评分、TLP标签。整个过程可能在几秒到一分钟内完成取决于网络和API速率限制你得到的是一个立即可用于内部共享或写入SIEM的标准化情报产出。4.2 场景二威胁行为者画像与攻击链分析当威胁情报提到“APT28”或“Fancy Bear”时新手分析师可能需要花费大量时间搜索资料。而你可以直接输入Profile APT28/threat-actor-profile技能会被触发。它可能会查询本地知识库和整合的公开情报汇总该组织的已知别名如Sofacy, Sednit, Strontium。列出其历史攻击活动、主要攻击目标地缘政治倾向、行业。提取其标志性的TTP并链接到本地MITRE ATTCK数据集展示详细的技术描述和缓解建议。给出 attribution confidence归因置信度的评估例如使用项目内置的标准化语言如“Confirmed by multiple independent sources”。基于这个画像你可以进一步进行深度分析。例如结合最近一起攻击事件中发现的恶意软件哈希你可以/ach启动竞争性假设分析技能。它会引导你假设1此次攻击是APT28所为使用了其已知的某款恶意软件变种。假设2此次攻击是其他组织模仿APT28的TTP进行的“假旗行动”。假设3此次攻击是APT28与初始访问经纪人IAB合作使用了商业恶意软件。 然后技能会引导你列出支持或反对每个假设的证据并对证据进行诊断力诊断价值评估最终系统性地得出可能性最高的结论。这个过程强制进行了批判性思考避免了直觉偏差。4.3 场景三从情报到检测——自动化规则生成假设通过调查你确认某个恶意软件样本与“伊朗网络间谍活动”相关并且使用了特定的进程注入技术和C2通信域名。传统的下一步是手动编写检测规则。现在你可以首先调用知识单元获取上下文/iran-cyber-espionage。了解该威胁集群的常用手法。然后基于你掌握的IOC如C2域名evil[.]com注入的进程名rundll32.exe特定参数调用检测工程技能/sigma-writing你向技能描述“创建一条Sigma规则检测对evil[.]com域名的网络连接请求并结合可疑的rundll32.exe命令行参数。” 技能可能会生成一条类似下面的规则草稿title: Suspected Iranian C2 Communication via Rundll32 id: abc12345-6789-... status: experimental description: Detects network connections to known Iranian APT C2 domain combined with suspicious Rundll32 execution. references: - https://attack.mitre.org/techniques/T1218/011/ author: Generated by cti-skills date: 2023-10-27 logsource: category: proxy detection: selection: c-uri|contains: evil.com filter: process|endswith: \rundll32.exe commandline|contains: regsvr32 # 示例参数 condition: selection and not filter falsepositives: - Legitimate traffic to similarly named domains level: high同样你可以使用/yara-writing为恶意软件样本文件生成YARA规则或使用/kql-writing为Azure Sentinel生成对应的KQL查询。这些技能内置了规则语法的最佳实践和常见陷阱提示能帮你快速产出高质量、可落地的检测逻辑。5. 高级应用与自定义扩展5.1 构建自定义情报工作流PIR管理对于成熟的情报团队Priority Intelligence RequirementsPIR优先情报需求管理是核心。/pir-management技能为此提供了支持。你可以通过它来定义和维护团队的核心情报需求例如PIR-001监控针对我司金融部门的勒索软件攻击活动。PIR-002跟踪地缘政治紧张地区APT组织对我司供应链的潜在威胁。你可以定期运行/horizon-scanning态势扫描技能并将其输出与PIR进行关联确保你的情报收集和分析工作始终聚焦于对组织最重要的威胁上。5.2 技能组合与自定义调用“调度员”虽然智能但你也完全可以绕过它直接调用底层技能实现更精细的控制。例如你只想快速查一下某个文件哈希在VirusTotal上的声誉而不需要完整的调查报告/lookup-virustotal hash: md5_or_sha256_hash或者你想手动为一份报告应用TLP:AMBER标签仅限组织内部分享/apply-tlp level: AMBER这种灵活性允许你将cti-skills的技能作为更复杂自动化脚本或工作流的组成部分。5.3 贡献与自定义技能开发由于项目是开源的并且技能是模块化的高级用户可以贡献自己的技能。每个技能都是一个自包含的单元。如果你想添加一个新的OSINT数据源例如一个内部威胁情报平台你可以参考现有的lookup-*技能编写一个新的技能模块遵循Agent Skills的规范定义好输入输出格式然后将其放入skills/目录即可。之后它就能被“调度员”自动识别和调用或者被你直接使用。6. 常见问题与排错指南在实际使用中你可能会遇到一些典型问题。以下是一些排查思路6.1 技能调用无响应或报错“Skill not found”检查安装路径确保技能包被正确安装到了你的IDE能识别的技能目录下。对于Claude Code通常是项目根目录或全局插件目录。对于其他IDE请确认其自定义技能加载路径。检查技能名称技能调用是大小写敏感的且需要包含斜杠/。使用npx github:Liberty91LTD/cti-skills list或查看skills/目录下的文件夹名来确认准确的技能名称。重启IDE/Agent有时IDE需要重启来加载新安装的技能。6.2 API查询返回空或速率限制错误确认API密钥运行./scripts/setup.sh重新检查或设置API密钥。确保密钥已正确写入配置文件或环境变量。查看免费额度对照上文表格确认你是否已经用完了该服务的免费API调用额度。VirusTotal、URLScan等都有明确的每日/每分钟限制。网络连通性确保你的网络可以访问这些外部API服务某些企业内网可能有防火墙限制。6.3 输出格式混乱或不符合预期检查输入格式直接调用技能时确保按照技能预期的参数格式输入。例如/lookup-virustotal可能需要hash:或ip:这样的前缀。查看技能源码或文档如果提供了解具体用法。理解“调度员”的逻辑“调度员”的输出是聚合和加工后的结果。如果你需要某个数据源的原始响应建议直接调用对应的lookup-*技能。6.4 本地MITRE ATTCK数据未更新项目初始安装时会下载ATTCK数据集。如果ATTCK框架有重大更新你可能需要手动更新本地数据。可以查看scripts/setup.sh中关于数据下载的部分或关注项目更新日志看是否提供了数据更新脚本。6.5 在团队中推广使用的最佳实践从小范围试点开始先让团队中的1-2名分析师深度使用解决他们工作中的具体痛点如快速IOC调查形成成功案例。建立内部使用指南总结出适合自己团队的常用指令模板和工作流例如“新告警初步调查SOP”降低学习成本。与现有工具链集成探索如何将cti-skills的产出如STIX包、IOC列表自动导入到你们的SIEM、SOAR或案例管理平台中。cti-skills代表了一种新的范式将专业领域的深度知识和方法论封装成AI智能体可以理解和执行的标准化“技能”。它没有试图取代安全分析师而是旨在成为分析师力量的倍增器将分析师从重复、繁琐的信息收集和初步整理工作中解放出来让他们能更专注于高价值的研判、关联分析和战略思考。随着项目的持续迭代和社区的贡献其技能库会越来越丰富有望成为每个威胁情报团队AI工作台上不可或缺的“瑞士军刀”。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2577947.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!