作者利用两天时间,通过CodeBuddy创建了一套代码审计Skill,结合Claude LSP技术实现了AI自动安全审计。该方案包含12个模块、5个阶段,支持从HTTP入口开始的双向追踪漏洞分析,可生成完整调用链和PoC。与传统工具相比,此方案能发现技术漏洞和业务逻辑漏洞,误报率更低,支持攻击链分析。文章详细分享了从概念理解到实现的全过程,展示了"训练AI写代码"的创新方法。

前排提示,文末有大模型AGI-CSDN独家资料包哦!

写在前面

先说结论:我用两天时间,让CodeBuddy帮我写了一套代码审计的Skill,拿去跑真实项目,还真能挖到未公开的漏洞。不过,离好用、通用,还需要不断优化和调整的。

这篇文章,我会从「为什么想做这件事」聊起,到「怎么一步步实现」,再到「实战效果如何」,最后把完整的技术方案也分享出来。如果你对AI辅助安全审计感兴趣,往下看。


一、起点:Skill到底是什么

去年10月,Claude提出了Skill的概念。那会儿我知道这回事,但没太在意。

直到12月,ui-ux-pro-max-skill火爆出圈,短视频刷到的全是各种Skill的使用介绍,GitHub也是一堆给Skill项目点star的动态。

于是想着,用ui/ux给小程序升级一下吧,让色调更活泼、交互更友好。用uipro init --ai cursor给cursor加了个command,之后用了起来。先不说效果吧——我当时最大的感受是:这东西,核心价值是把普通人口语化、不清晰、不规范的表达,转换成专业的、清晰的、规范的描述,让AI更懂你想要什么

所以,Skill本质上是个降低专业门槛的工具

那它和MCP什么区别呢?

还记得MCP火的时候,大家都说它给AI加上了「手」和「脚」,让AI有了更多输入和反馈能力。如果说MCP是手和脚,那Skill就是操作手册——比如篮球Skill可能就定义了什么时候拍球、什么时候跨步、什么时候起跳投篮。这么说,Skill有点workflow的意思了,但似乎又比workflow更加灵活一些。

所以叫「技能」嘛,有执行流程,也能调用「手」和「脚」。


二、灵光:Claude支持LSP了?

前几天刷视频,疯狂给我推Claude支持LSP了,说什么token减少40%之类的。

LSP是什么?全称Language Server Protocol(语言服务器协议)——就是把「跳转定义、自动补全、错误诊断、重命名重构」这些IDE的智能能力,从具体编辑器里抽出来,放进一个独立的服务进程,通过统一协议调用。

说人话就是:让Claude也能像你在VSCode里按Ctrl+点击一样,快速找到变量在哪声明的、函数在哪定义的——而不是每次都靠grep全局搜索

搜索不仅慢,结果还可能很多,多了就浪费token、浪费钱。


三、碰撞:这两个东西加一起,不就是我想要的吗?

等等——

  • • LSP能做各种代码跳转
  • • Skill能写流程、调用工具

那我很早之前想过的那个事,是不是能实现了?

当时我想写一个VSCode插件,辅助做代码审计:从HTTP请求处理的地方开始,挨个函数跟下去,自动看逻辑、找漏洞

现在,用Claude Code + Skill + LSP,似乎可以实现?

刚巧那天中午遛弯,又刷到另一个视频,大致是用CodeBuddy创建一个写PPT的Skill,能自动解析PDF、Excel,梳理内容,用指定风格生成PPT。

我想:那我是不是也可以创建一个「代码审计Skill」?

说干就干。


四、动手:周末两天,从零到一

于是,周末两天,各种push各种编码客户端。我轻声细语地给AI说:

> 核心诉求:我想做一个能"自动做代码安全审计"的Claude Skill,请帮我实现。>> 任务背景:我经常需要做代码审计,找出源码中的安全风险,生成漏洞报告。报告需要给出完整的source到sink的调用链路径,并提供漏洞触发PoC。我希望这个工具能一键搞定。>> 具体要求:> 1. 仅针对Web框架,从HTTP请求入口出发作为source点> 2. 支持正向审计:从source出发,完整分析代码逻辑,找调用链,理解业务,发现漏洞> 3. 支持反向审计:通过规则梳理所有sink点,从sink往回找,最终必须能追溯到HTTP入口> 4. 利用Claude LSP来做代码跳转和检索,而不是单纯搜索匹配> 5. 最终漏洞必须可通过网络请求触发,需要完整调用链和PoC> 6. 能组合多个漏洞/功能,构建完整攻击链

很顺利,第一版Skill就这么跑起来了。


五、靶场验证:效果还真不错

原本想支持Python、Java、Go三种语言。想了想,先从Python开始吧。

于是找了个Python靶场——PyHackMe

随便一跑,你还别说,效果挺好,两三分钟跑完:

靶场测试结果和项目说明一对比,嘿,挺准的。信心来了。

但我转念一想:是不是因为它是靶场,漏洞名都写在路径上了?文件也少、代码量也小,不用Skill是不是也能找出来?

于是,去掉Skill再跑一次

⏺ 安全审计完成。我已经生成了完整的安全审计报告。  审计结果摘要:共发现 16个安全漏洞

结果差别不大。(信心受打击了…


六、真刀真枪:拿真实项目试试水

靶场不够有说服力,那真实项目呢?

Python项目里跟大模型相关的挺多。我突然想起2月份的时候,WeDetect抓到过一个反序列化漏洞。去项目的issue和security看了看,似乎没人提CVE,可能还在。

于是clone下代码开跑。

结果出来一些漏洞,仔细看了一遍——都是些无伤大雅的,比如「存在沙盒的代码执行」之类。并没有出现我预期的那个反序列化漏洞。

仔细看了看代码,哦,某个版本被修掉了。

于是,回退到3月份的版本,再跑一次

这下有了:

反序列化漏洞发现

这么看,效果是有的


七、进阶挑战:能不能自动找出攻击链?

单点漏洞能找了,那复杂的攻击链呢?

想起之前RR挖的ComfyUI的洞,是多个步骤组合才能利用的。拿来试试。

于是把ComfyUI-Manager拉下来跑了一波。结果只找到了git下载和Python库安装的问题:

ComfyUI扫描结果1

ComfyUI扫描结果2

但并没有把完整攻击链组合起来。

手动看了看代码,发现是因为还需要ComfyUI主项目的代码一起分析。加上后,确实多跑出了几个漏洞。

但完整攻击链还是没出来。

于是我提示它:“那你看看userdata是不是可以用来更改安全级别呢?”

这下,它输出了完整的攻击链:

完整攻击链

看起来挺完美。

但问题是:怎么让它自动发现这个链路,而不是靠我提示?

我都知道洞在哪了,还需要你找啥呢?


八、自我进化:让AI反思,优化Skill

于是我反问它:

“反思一下,为什么第一次审计没有发现这个漏洞/攻击链路?结合当前Skill,站在通用漏洞发现的角度,给出优化建议——但不可以包含当前漏洞的信息和特征。”

于是它认真思考了一下:(下图是某个越权没找出来的反思,上面case的反思图没截到~

AI反思优化建议

就这样,一次一次让Skill反思、进化


九、最终成果:12个模块、5个阶段的完整方案

经过多轮迭代,最终形成了一套完整的代码审计Skill体系。

架构图

┌─────────────────────────────────────────────────────────────────┐│              code-security-audit (主控协调器)                     ││                                                                 ││        协调所有Skill,按阶段执行审计流程,生成最终报告                 │└─────────────────────────────────────────────────────────────────┘                                 │       ┌─────────────────────────┼─────────────────────────┐       ▼                         ▼                         ▼┌──────────────┐      ┌──────────────────┐      ┌──────────────────┐│ Phase 1      │      │ Phase 2          │      │ Phase 3          ││ 资产发现      │      │ 漏洞审计          │      │ 业务审计          │├──────────────┤      ├──────────────────┤      ├──────────────────┤│入口扫描       │      │Sink点扫描         │      │访问控制审计        ││Sink点扫描    │      │数据流追踪(双向)    │      │业务逻辑审计        ││安全资产扫描   │      │漏洞验证           │      └──────────────────┘│数据模型分析   │      │PoC生成            │└──────────────┘      └──────────────────┘                                 │                                 ▼                      ┌──────────────────┐                      │ Phase 4          │                      │ 攻击链分析        │                      └──────────────────┘

审计流程

Phase 1: 资产发现├─ web-entry-discovery      → 发现所有HTTP入口├─ sink-point-scanner       → 扫描危险Sink点├─ security-asset-scanner   → 识别敏感配置和代码加载点└─ data-model-analyzer      → 分析数据模型和所有权关系Phase 1.5: 入口功能分析└─ entry-function-analyzer  → 理解每个接口的业务逻辑Phase 2: 技术漏洞审计 (反向追踪)├─ dataflow-tracer          → 从Sink往回追到Source├─ vulnerability-validator  → 验证漏洞是否真实可利用├─ vulnerability-correlator → 搜索同类漏洞模式└─ poc-generator            → 生成可验证的PoCPhase 2.5: 正向数据流追踪  └─ forward-flow-tracer      → 从Source追到SinkPhase 3: 业务逻辑审计├─ access-control-auditor   → 发现越权漏洞(IDOR/垂直越权)└─ business-logic-auditor   → 发现业务流程缺陷Phase 3.5: 交叉验证└─ 正向 + 反向结果交叉验证,减少漏报和误报Phase 4: 攻击链分析└─ attack-chain-analyzer    → 漏洞组合利用分析Phase 5: 报告生成└─ 整合所有发现,生成Markdown格式审计报告

十、核心价值:和传统工具的区别

维度 传统安全扫描 这套Skill方案
漏洞类型 只能发现注入类技术漏洞 技术漏洞 + 业务逻辑漏洞
追踪方式 单向追踪 双向追踪 + 交叉验证
误报率 多层验证,显著降低
业务理解 结合数据模型,理解资源所有权
攻击链 单独漏洞分析 支持漏洞组合分析

写在最后

两天时间,从一个想法到一套可用的代码审计Skill,这个过程本身就挺有意思的。

关键在于:不是我在写代码,而是我在"训练"AI写代码。我的角色更像是产品经理+QA,负责提需求、验收结果、反馈问题,让AI不断迭代。

这套Skill目前只支持Python,后续计划扩展到Java和Go。如果你也对AI辅助安全审计感兴趣,欢迎交流。


最后的最后,这套方案的核心思想其实很简单:

Skill定义"怎么做审计"的流程和规范
LSP提供"看懂代码"的能力
Claude负责"理解和执行"

三者结合,就有了一个能自动挖漏洞的AI安全研究员。

虽然离完美还有距离,但确实能用一些些了。当然,随着不断使用,这里肯定会遇到越来越多的问题,然后Skill或者项目也会越来越复杂,这是肯定的。

在做加法的同时,可能也需要做减法,比如,是不是把覆盖的漏洞类型,再聚焦一点?

读者福利:倘若大家对大模型感兴趣,那么这套大模型学习资料一定对你有用。

针对0基础小白:

如果你是零基础小白,快速入门大模型是可行的。
大模型学习流程较短,学习内容全面,需要理论与实践结合
学习计划和方向能根据资料进行归纳总结

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

请添加图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

这里我们能提供零基础学习书籍和视频。作为最快捷也是最有效的方式之一,跟着老师的思路,由浅入深,从理论到实操,其实大模型并不难

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐