VicroCode
让代码创造价值
VicroCode是一个轻量级代码在线发布、交易平台,开箱即用,免部署、免服务器、免备案,支持接入智能体、通用管理系统、游戏等多种项目
稍候片刻,您可先学习AI编程手册
正在加载中...

AI MARKET GUIDE

黑客都用 Cursor 规划攻击了,防守方的个人开发者能不能也搭个趁手工具

安全公司 CloudSEK 曝光黑客组织 Aurora 用 Cursor 规划攻击。同样是 AI 辅助编码,防守方的个人开发者能怎么反过来落地一个威胁情报速查小工具?我用智能体拆需求、把公开攻击特征灌进知识库做语义检索、再跑段 Python 验证查询逻辑,把搭建过程里的取舍和卡点一起复盘一遍。

前几天看到 CloudSEK 那份报告,我盯着看了挺久。安全公司潜进黑客组织 Aurora 一台配置错误的服务器,把人家内部的攻击工具、赎金谈判界面全掏了出来,还有一份挺扎眼的记录:这帮人主要用 AI 编程助手 Cursor 来协助规划攻击行动。

勒索软件本身没用 AI 写,是拿 Zig 语言开发的,有 Windows 和 Linux/ESXi 版本,扔在 Cloudflare R2 的公开桶里,再用 SCP 传到受害主机上。据报告说,这个组织从今年 4 月开始活跃,到 7 月已经有 9 个国家 20 多家企业中招。

我不是想跟着凑热闹讲一遍新闻。真正戳到我的是那个反差:攻击方已经把 AI 编程助手当成日常工具,用它拆解攻击步骤、整理思路了;而防守这边,尤其是没有安全团队的独立开发者、小工作室,遇到一条 IOC(失陷指标)或者一个可疑特征,往往还在几个网页、几份 PDF、一堆散落的笔记里翻来翻去。

既然攻击方能用 AI 提效,防守方的个人开发者为什么不能反过来,也给自己搭个趁手的小工具?

所以这篇不聊安全大道理,就复盘我拿 VicroCode 搭一个「威胁情报速查小工具」的过程——一个能把手头攒的公开攻击特征丢进去、随口问一句就能语义检索出相关线索的东西。中间踩的坑、犹豫的地方,我尽量都写出来。

先想清楚:这工具到底要解决哪一步

一开始我差点又犯老毛病,想着一步到位做个「威胁情报平台」。后来冷静了下,这种贪大的念头基本都会烂尾。

我把需求砍到最小:手边有一批公开渠道整理来的攻击特征描述,比如「用 SCP 传输载荷」「载荷托管在公开对象存储桶」「用小众编译型语言开发规避检测」这类线索。我要的就是——遇到一个新事件,能用自然语言描述现象,快速捞出我库里语义相近的历史线索,帮自己判断「这套路是不是似曾相识」。

就这么一个诉求,说白了是个语义检索问题,不是什么复杂系统。想清楚这一层,后面就轻松多了。

需要说明一句边界:VicroCode 上我能落地的是检索和判断辅助这一段,真正的取证、抓包、恶意样本分析这些,平台并不涉及,也不该由这么个小工具承担。

让智能体先把需求拆开

我没急着写代码,先用AI智能体开发把需求过了一遍。我把上面那段大白话诉求丢进去,让它帮我拆成几个可执行的模块:一是数据怎么组织,每条线索该带哪些字段;二是检索用什么方式,是关键词匹配还是向量语义;三是验证逻辑怎么跑。

智能体给我拆出来的结构,最有价值的其实是提醒我:如果只做关键词匹配,那我搜「公开存储桶」就搜不到我库里写成「public bucket」或者「R2 公开桶」的条目——同一件事换个说法就漏了。这正是语义检索该上场的地方。

这一步我自己不是没想到,但让智能体过一遍,等于有人陪着把边角料也抠了一遍,省心。

卡点也有。第一版拆出来的字段太细,什么置信度、来源可靠性分级都安排上了,我一看就知道自己维护不动。

个人开发者做工具最忌讳给自己挖坑,我直接砍到只留三个字段:现象描述、涉及的技术手段、我自己的备注。够用就行。

把公开线索灌进知识库做语义检索

核心这块我用LanceDB知识库来做。逻辑很简单:把每条整理好的攻击特征描述存进去,检索时用自然语言提问,靠向量相似度把语义相近的条目捞回来,而不是死抠字面。

拿 Aurora 这事举例,我往库里放了几条从这次公开报告里能提炼的、不涉及任何可复现攻击细节的行为特征,比如「攻击者借助 AI 编程助手规划行动」「载荷托管于公开对象存储」「使用非主流编译型语言开发以规避检测」。这些都是公开报道层面的模式描述,不是操作手册。

之后我试着用「有人把恶意文件放在云存储的公开目录里」这种完全不同的措辞去问,它确实能把「载荷托管于公开对象存储」那条捞出来——这就是我想要的效果,说人话也能命中。

这里我犹豫过一阵:到底该存长句还是短标签?试下来长一点的自然语言描述,语义检索的效果明显更好,短标签反而容易把语境丢掉。

所以我最后统一存成一句话形式的现象描述。

用在线 Python 把查询逻辑先跑通

光有库还不够,我得确认「输入一段话 → 返回排序后的相关线索」这条链路是通的、结果是我要的那个次序。这段验证我直接用Python在线运行来做,不用在本地折腾环境。

我写了段很朴素的脚本:喂几组不同措辞但意思相近的查询,把返回的条目和相似度打印出来,人工看排序合不合理。跑第一遍就发现问题了——有条明显不相关的线索总排得偏前。

回头一查,是我入库时那条描述写得太宽泛,什么场景都能沾上边。这种问题不真跑一遍根本发现不了,光在脑子里想是想不出来的。

改了描述、重新入库、再跑,排序就正常了。

这种「写一版 → 跑一版 → 看结果 → 回去改数据」的小循环,是我觉得整个搭建过程里最实在的部分。它逼着你直面自己数据里的模糊地带,而不是自我感觉良好。

搭完之后的几点老实话

先说清楚这工具不是什么。它不会帮你抵御攻击,也替代不了专业安全能力,它就是个帮你个人「快速回忆和关联」的检索助手,把你自己攒的公开知识盘活。

价值全在于你喂进去的线索质量——库里是垃圾,检索出来的也是垃圾。

再说搭建体感。真正花时间的从来不是写代码,是想清楚要解决哪一步、以及一条条把线索描述打磨清楚。

AI 智能体帮我省了拆需求的力气,知识库省了自己搞向量检索那套基础设施,在线 Python 省了配环境——但「这条线索到底该怎么描述才准」这种判断,AI 替不了,得自己下功夫。

如果你也是个人开发者或者小团队,手头有一类需要反复检索、又散落各处的知识——不一定是安全,客服话术、合规条款、产品 FAQ 都一样——这套「智能体拆需求 + 知识库做语义检索 + Python 验证逻辑」的组合是可以照搬的。搭出来的东西还能在平台上直接托管、分享出去。

攻击方已经在用 AI 提效了,防守方和普通开发者这边,把趁手的小工具搭起来这件事,门槛其实没那么高。