CodeScan代码审计平台(认真写的版本)

admin 2026-04-13 04:57:44 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: CodeScan是一个开源代码审计平台,作者基于先前AI代码审计提示词项目的不足进行优化开发。平台通过分阶段流程(身份鉴权、任务初始化、路由识别与自愈、独立审计)实现自动化安全检测,重点解决传统AI审计工具存在的上下文干扰和报告展示问题。项目提供完整的本地部署方案,支持ZIP/RAR格式项目文件上传,具备AI驱动路由识别和自动修复功能。 综合评分: 85 文章分类: 代码审计,AI安全,安全工具,安全开发,WEB安全


cover_image

CodeScan代码审计平台(认真写的版本)

原创

现在你看到我的ID了 现在你看到我的ID了

E条咸鱼

2026年4月10日 20:44 广东

在小说阅读器读本章

去阅读

项目简介

上周发布了一个代码审计的开源项目 项目地址: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可以自己选择去读取证据

漏洞复查和查漏补缺功能

项目是支持查漏补缺的,这个没什么好说的,就是基于当前结果重新扫,看看还有没有别的问题 所以这里会说一下复查的功能

每个漏洞都会去审查一遍,除了确认漏洞的真实性之外,还会去审计漏洞的危害程度是否存在夸大或者说低了

结果展示


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:E条咸鱼 现在你看到我的ID了 现在你看到我的ID了《CodeScan代码审计平台(认真写的版本)》

评论:0   参与:  0