文章总结: 本文介绍了一个名为CodeScan的开源代码审计平台,旨在解决使用AI工具审计代码时报告无法实时展示的问题。平台基于Claude等AI引擎,设计了分阶段的提示词工作流:身份鉴权、任务初始化、路由识别与自愈、以及独立维度审计(如SQL注入、XSS等)。核心创新包括分阶段独立提示词设计、上下文压缩与证据保留机制、以及漏洞复查与查漏补缺功能,最终生成可交互的审计报告。作者基于此前发布的AI代码审计提示词项目进行了平台化升级,项目已在GitHub开源。 综合评分: 68 文章分类: 代码审计,AI安全,安全工具,WEB安全,产品介绍
CodeScan代码审计平台(认真写的版本)
赛博海妖
2026年4月10日 20:47 广东
在小说阅读器读本章
去阅读
编者荐语:
其实我就是作者( 感兴趣的大佬可以相互分享交流下
以下文章来源于E条咸鱼 ,作者现在你看到我的ID了
E条咸鱼 .
平时没事干的时候也许会发一些学习记录,内容多少、更新时间随缘
项目简介
上周发布了一个代码审计的开源项目 项目地址:https://github.com/Ernket/CodeScan
今天看了一下软件右上角,怎么写着个99+,所以趁着周五了,写一个正式一点的介绍( 首先先介绍一下这个项目,之前看过公众号的佬都知道,以前我发过一个代码审计的prompt https://github.com/Ernket/AI-Code-Audit-Prompt-Words 那段时间刚好skill出来了,于是搞了很长一段时间的skill,可能是我方法不对,总之我在claude-code平台使用claude-opus-4-6的效果并没有那么好(skill加上那个agent teams) 同时,使用claude-code、trae、cursor、codebuddy等等这类工具去审计的时候,还会面临报告没法实时展示的问题,所以才有了写一个平台,然后把各个阶段的提示词塞进去
提示词设计
最不一样的肯定是提示词这块,虽然思路都是按照原先的来,但是原先的提示词会有一个问题,会让AI读取到其他内容; 目前整个运行工作逻辑是这样的
┌───────────────────────────────────────────────────────────────────────────┐
│ 1. 身份鉴权阶段 │
└───────────────────────────────────────────────────────────────────────────┘
│
▼
┌───────────────────────┐
│ 用户登录请求 │
│ (携带 auth_token) │
└───────────┬───────────┘
│
┌─────────────▼─────────────┐
│ Token 校验逻辑 │
└─────────────┬─────────────┘
│
┌─────────────────┴─────────────────┐
│ │
┌───────▼───────┐ ┌─────────▼─────────┐
│ 校验失败 │ │ 校验成功 │
└───────┬───────┘ └─────────┬─────────┘
│ │
┌───────▼───────┐ ┌─────────▼─────────┐
│ 拒绝访问 │ │ 进入系统 │
└───────────────┘ └─────────┬─────────┘
│
┌───────────────────────────────────────────────────────────────────────────┐
│ 2. 任务初始化阶段 │
└───────────────────────────────────────────────────────────────────────────┘
│
┌─────────────────▼─────────────────┐
│ 新建任务:上传项目文件 │
│ (支持 ZIP/RAR 格式) │
└─────────────────┬─────────────────┘
│
┌─────────────────▼─────────────────┐
│ 后端处理服务 │
│ 1. 接收文件流 │
│ 2. 自动解压 │
│ 3. 持久化存储至指定目录 │
└─────────────────┬─────────────────┘
│
┌─────────────────▼─────────────────┐
│ 任务创建完成通知 │
└─────────────────┬─────────────────┘
│
┌───────────────────────────────────────────────────────────────────────────┐
│ 3. 阶段一:路由识别与自愈 │
└───────────────────────────────────────────────────────────────────────────┘
│
┌─────────────────▼─────────────────┐
│ AI 引擎:项目路由识别分析 │
└─────────────────┬─────────────────┘
│
┌─────────────────▼─────────────────┐
│ 前端渲染识别结果 │
└─────────────────┬─────────────────┘
│
┌─────────────────▼─────────────────┐
│ 格式/内容校验 │
└─────────────────┬─────────────────┘
│
┌─────────────────────────────┴───────────────────┐
│ │
┌───────▼───────┐ ┌───────▼───────┐
│ 检测到异常 │ │ 结果正常 │
└───────┬───────┘ └───────┬───────┘
│ │
┌───────────────▼───────────────┐ │
│ 触发修复功能 │ │
│ 将异常数据重喂给 AI 进行 │ │
│ 格式修正与重新生成 │ │
└───────────────┬───────────────┘ │
│ │
└──────────────────┐ │
│ │
┌──────▼──────┐ │
│ 重新渲染 │ │
└──────┬──────┘ │
│ │
└──────────────┬───────────────┘
│
┌─────────────────────▼─────────────────────┐
│ 用户确认:Result 查看 │
└─────────────────────┬─────────────────────┘
│
┌───────────────────────────────────────────────────────────────────────────┐
│ 4. 独立阶段审计 │
└───────────────────────────────────────────────────────────────────────────┘
│
┌─────────────────────▼─────────────────────┐
│ 用户选择审计维度 │
└─────────────────────┬─────────────────────┘
│
┌───────────────────────┬───────────────┴───────────────┬───────────────┐
│ │ │ │
┌─────────▼─────────┐ ┌─────────▼─────────┐ ┌─────────▼─────────┐ │
│ SQL 注入审计 │ │ XSS 审计 │ │ 其他专项审计 │ │
│ (独立界面) │ │ (独立界面) │ │ (独立界面) │ │
└─────────┬─────────┘ └─────────┬─────────┘ └─────────┬─────────┘ │
│ │ │ │
└───────────────────────┴───────────────────────────────┴───────────────┘
│
┌───────────────▼───────────────┐
│ 生成最终审计报告 │
└───────────────────────────────┘
================================================================================
也就是说,首先会进行路由的识别(和纯提示词版本不同的是,更侧重漏洞这块的输出,所以就没有技术栈这些的识别),然后接下来所有的阶段任务,都会依赖这个第一阶段的结果
然后每一个阶段的提示词,都是独立的,这样一来能操作的空间就大了,原先纯提示词的版本,写的就比较简单,现在就会比之前的详细一些
但是我个人还是不太希望在提示词里面更详细的去教ai都有什么类型的漏洞,最主要的是担心ai会只审计这些方面的漏洞,考虑到我的覆盖面不一定能够,所以会有遗漏
上下文压缩
最近刚好claude-code泄露了,所以我就让GPT-5.4分析了一下上下文压缩功能的实现,具体的有大佬感兴趣的可以看看这个,我也发到了github https://github.com/Ernket/claude-code-analysis/blob/main/context_compression_analysis_report.md
除了正常的记忆文件、历史工具记录清除等等,我还有一个单独的,”证据保留机制”
为了保证上下文压缩后,一些关键的证据不会丢失(例如哪哪是什么功能或者是什么缺陷),ai可以自己选择去读取证据
漏洞复查和查漏补缺功能
项目是支持查漏补缺的,这个没什么好说的,就是基于当前结果重新扫,看看还有没有别的问题 所以这里会说一下复查的功能
每个漏洞都会去审查一遍,除了确认漏洞的真实性之外,还会去审计漏洞的危害程度是否存在夸大或者说低了
结果展示
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:赛博海妖 《CodeScan代码审计平台(认真写的版本)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论