跳到正文

正在自动登录…

← 返回项目列表

Ernket/CodeScan-Artex

代码审计依赖分析漏洞复核

SCA Audit 是一个由 LLM 多 Agent 驱动的静态代码审计平台,用于审计代码仓库,产出接口清单、所需权限、缺陷结论和依赖可达性判定,并支持人工复核。

AI 中文解读 · 根据仓库描述与 README 生成 · 2026/10/22 18:16:34 · 查看原文

值得看Go应用与服务
累计 Stars
162
当前热度
未达当前门槛
仓库创建时间
打开 GitHub ↗

选用指南

AI 根据 README 整理 · 2026/10/22 18:16:34

适用场景

适用于审计自己拥有或已获授权的代码,进行安全自查、内部代码审阅和学术研究。

查看 README 依据
这意味着任何人都可以自由使用、修改和分发本项目,但**衍生作品必须同样以 AGPL-3.0 开源**;特别地,**若你修改本项目并通过网络(如部署为在线服务)向用户提供,也必须向这些用户公开对应的完整源码**。 > ⚠️ **重要提示**:开源协议本身不限制软件的使用用途。以下的「使用限制」与「免责声明」是作者对使用者的额外约定与郑重声明,请务必遵守。 **SCA Audit 只做静态源码分析:它不发起任何网络请求、不执行任何系统命令、不接触任何运行中的系统。** ### 允许使用范围 - 审计**你自己拥有**的代码,或**已获得权利人明确书面授权**的代码; - 阅读、学习与研究本项目源码,以及在**本地隔离环境**中进行技术原理验证; - 个人学习、学术研究、内部代码审阅与安全自查。 ### 禁止事项 - **严禁审计你无所有权、也未获授权的代码**——包括但不限于通过非正当途径取得的商业软件、他人私有的源代码仓库; - **严禁将本项目的产出用于攻击、入侵、勒索或任何破坏性、犯罪性活动**,或将缺陷信息用于未授权披露、勒索与敲诈; - 严禁将本工具用于任何实际的渗透测试、攻防对抗或对生产环境的变更; - 严禁利用本工具从事违反所在国家/地区法律法规的行为。 ### 合规责任
目标用户

面向需要静态代码审计的安全研究人员、开发者和内部审计人员。

查看 README 依据
<div align="center"> # SCA Audit LLM 多 Agent 驱动的 **静态代码审计平台**(Go 后端 + Next.js 前端) </div> --- ## 这是什么 SCA Audit 把「审计一个代码仓库」拆成**可并行的意图**,交给多个 LLM Agent 分工静态读完源码,把结果写成两张可回溯的图:**资产图**(这个系统对外暴露了什么)与**探索图**(我们是怎么一步步查到结论的)。 它和扫描器的区别在于**产出物**: | | 扫描器 / SAST 规则 | SCA Audit | | --- | --- | --- | | 输入 | 代码 | 代码(**只读**) | | 产出 | 规则命中列表 | **接口清单 + 每条接口所需权限**、缺陷结论(带 `文件:行号` + 代码片段)、依赖可达性判定 | | 判断依据 | 模式匹配 | 读完整条**数据流**:参数从哪来 → 过没过校验 → 到没到 Sink | | 误报处理 | 人工逐条看 | **独立会话复核**,结论三态回写漏洞状态 | | 过程 | 黑盒 | 探索图 + 每次工具调用留痕,可复算 |
这意味着任何人都可以自由使用、修改和分发本项目,但**衍生作品必须同样以 AGPL-3.0 开源**;特别地,**若你修改本项目并通过网络(如部署为在线服务)向用户提供,也必须向这些用户公开对应的完整源码**。 > ⚠️ **重要提示**:开源协议本身不限制软件的使用用途。以下的「使用限制」与「免责声明」是作者对使用者的额外约定与郑重声明,请务必遵守。 **SCA Audit 只做静态源码分析:它不发起任何网络请求、不执行任何系统命令、不接触任何运行中的系统。** ### 允许使用范围 - 审计**你自己拥有**的代码,或**已获得权利人明确书面授权**的代码; - 阅读、学习与研究本项目源码,以及在**本地隔离环境**中进行技术原理验证; - 个人学习、学术研究、内部代码审阅与安全自查。 ### 禁止事项 - **严禁审计你无所有权、也未获授权的代码**——包括但不限于通过非正当途径取得的商业软件、他人私有的源代码仓库; - **严禁将本项目的产出用于攻击、入侵、勒索或任何破坏性、犯罪性活动**,或将缺陷信息用于未授权披露、勒索与敲诈; - 严禁将本工具用于任何实际的渗透测试、攻防对抗或对生产环境的变更; - 严禁利用本工具从事违反所在国家/地区法律法规的行为。 ### 合规责任
使用方式

通过 Web 界面使用,支持仪表盘、任务管理、漏洞复核和系统配置,也可通过命令行启动。

查看 README 依据
> 以下截图取自 `NEXT_PUBLIC_MOCK=1` 的离线 Demo(无后端、内置 `acme-mall` 演示数据)。完整交互见[在线 Demo](https://artex-demo.vercel.app/)。 | 仪表盘(总览 / Token 消耗 / 活动流) | 任务列表 | | :---: | :---: | | ![仪表盘](screenshots/dashboard.png) | ![任务](screenshots/tasks.png) | | 任务 · 执行过程(会话 / 工具调用) | 探索链路(意图 · 事实 · 漏洞血缘) | | :---: | :---: | | ![执行过程](screenshots/sessions.png) | ![探索链路](screenshots/graph.png) | | 发现(跨任务漏洞汇总 · 按严重度 / 任务分组) | 漏洞复核(三态结论 + 逐条核对依据) | | :---: | :---: | | ![发现](screenshots/findings.png) | ![复核](screenshots/retests.png) | | 测试资产 · 接口与**所需权限** | 资产覆盖图(力导向 · 已测高亮 · 节点折叠) | | :---: | :---: |
| **前端** | Next.js 静态导出,`go:embed` 内嵌进单二进制;可视化任务 / 资产 / 探索链路 / 覆盖图,人在环路对话 | | **server** | `net/http` 路由 + JWT 鉴权 + SSE;`Manager` 托管任务、引擎、DB store 的生命周期 | | **engine** | 每任务一个 `plannerLoop` + N 个 worker goroutine;意图领取、超时 / 暂停 / drain | | **agent** | goals / planner / worker / mainagent 的编排循环,外加两个单脑 Agent:独立审计、漏洞复核 | | **db** | 双图的 Postgres 落地(pgx);schema 随 `go:embed` 每次启动幂等建表 | | **支撑** | 源码包解压与工作目录、依赖索引与按需反编译、拦截门、技能 / 记忆 / 报告 | --- ## 安装 > 依赖数据库 **PostgreSQL**;需配置 **LLM**(`ANTHROPIC_API_KEY` 或 `OPENAI_API_KEY`,也可在 UI 里配)。 ### 方式一:一键安装脚本(推荐) ```bash
git clone https://github.com/Autumn-27/ARTEX.git cd ARTEX ./install.sh ``` 脚本会:检测 / 自动安装 Docker → 让你选 **① 全部 Docker** 或 **② 本地编译运行**: - **① 全部 Docker**:填一个 Postgres 密码(可回车随机)→ 自动写 `.env` → `docker compose up -d`。 - **② 本地运行**:选数据库(连已有 / 用 Docker 起一个)→ 生成 `config.json` → `go` 编译内嵌单二进制 → 启动。 装好后打开 **http://localhost:7878**(首次进入 `/setup` 设置管理员密码)。 ### 方式二:Docker Compose(手动) ```bash git clone https://github.com/Autumn-27/ARTEX.git cd ARTEX cp .env.example .env # 填 POSTGRES_PASSWORD、可选 ANTHROPIC_API_KEY docker compose up -d # 拉取 autumn27/artex 镜像 + postgres
部署要求

需要 PostgreSQL 数据库,并配置 LLM API 密钥(ANTHROPIC_API_KEY 或 OPENAI_API_KEY)。

查看 README 依据
| **前端** | Next.js 静态导出,`go:embed` 内嵌进单二进制;可视化任务 / 资产 / 探索链路 / 覆盖图,人在环路对话 | | **server** | `net/http` 路由 + JWT 鉴权 + SSE;`Manager` 托管任务、引擎、DB store 的生命周期 | | **engine** | 每任务一个 `plannerLoop` + N 个 worker goroutine;意图领取、超时 / 暂停 / drain | | **agent** | goals / planner / worker / mainagent 的编排循环,外加两个单脑 Agent:独立审计、漏洞复核 | | **db** | 双图的 Postgres 落地(pgx);schema 随 `go:embed` 每次启动幂等建表 | | **支撑** | 源码包解压与工作目录、依赖索引与按需反编译、拦截门、技能 / 记忆 / 报告 | --- ## 安装 > 依赖数据库 **PostgreSQL**;需配置 **LLM**(`ANTHROPIC_API_KEY` 或 `OPENAI_API_KEY`,也可在 UI 里配)。 ### 方式一:一键安装脚本(推荐) ```bash
已知限制

只做静态分析,不发起网络请求或执行系统命令;反编译产物非原始源码,行号等可能不同;LLM 结论可能有误报,需人工复核。

查看 README 依据
**只做静态分析。** 平台不发起任何网络请求、不执行任何系统命令、不做任何运行时验证——结论必须由源码证据支撑。这不是靠提示词约束,而是**在工具装配层物理删除**(见下节)。 --- ## 安全边界(红线) `agent/codeaudit_tools.go` 是「Agent 能调用什么」的唯一真源。工具来源侧是**三层防线**,缺一不可;写入侧另有拦截规则兜底: **① Agent 的通用工具集只从 7 个本地文件工具构造** ``` Read · Write · Edit · MultiEdit · LS · Glob · Grep ``` 没有 `Bash`。没有 `WebFetch` / `WebSearch`。其余全是平台自己的领域工具(登记资产、写回图、登记漏洞、依赖查询、复核结论)。 **② 装配层不再注入危险来源** `server/hostTools()` 不返回流量工具、自定义工具与 MCP;`server/assembly.go` 不再展开 MCP 服务器——所以**连 `mcp__*` 工具都不会出现在 Agent 的工具列表里**。系统设置里的「MCP」「自定义工具」入口只保留历史数据查看。 **③ 兜底黑名单:配置也绕不过去**
1. 先 `Grep ../deps/index/classes.txt` 定位「这个类在哪个依赖里」(很便宜); 2. `list_dependencies` 看坐标、版本与源码状态; 3. **只对确有必要的那一个**依赖调 `ensure_dependency_source(gav="group:artifact:version")`,它把该 jar 变成可读源码并返回**落盘路径**(不会把整包代码倒进上下文),拿到路径后自己 `Read` / `Grep`。 > 实测一个 1.7 MB 的 jar 反编译要 40~60 秒,所以平台不提供「全部反编译」。**反编译产物不是原始源码**(行号、结构、变量名都可能不同),引用时必须注明。 **可达性三步**(缺一步都不算缺陷): | 步骤 | 怎么做 | 判不通过的典型情形 | | --- | --- | --- | | ① 版本命中 | `pom.xml` / `build.gradle` 的坐标与版本落在已知漏洞区间 | **这一步只是候选,不是结论** | | ② 调用点可达 | `Grep` 该组件的类是否被业务代码 `import` / 调用 | 没有 import → 直接排除 | | ③ 入参可控 | 命中的那处调用,参数是否来自请求或外部数据 | 参数是常量 / 内部可信值 / 已被白名单约束 |
使用者须自行遵守所在国家/地区关于网络安全、数据保护与计算机犯罪的全部法律法规(在中国大陆包括但不限于《网络安全法》《数据安全法》《个人信息保护法》及相关司法解释)。**因使用本工具产生的一切法律责任与后果,均由使用者自行承担。** ### 免责声明 本项目按“现状(AS IS)”提供,不附带任何明示或默示的担保。**本工具基于 LLM 生成审计结论,可能存在漏报与误报,不构成任何形式的安全保证或合规背书**——请务必人工复核后再据以决策。作者及贡献者不对使用本工具(无论使用方式是否得当)所导致的任何直接或间接损失、数据丢失、系统损坏或法律纠纷承担责任。**下载、安装或使用本项目,即表示你已阅读、理解并同意上述全部条款。**

README

正在加载 README…

收录信息

仓库创建时间
2026/10/14 23:35:51
首次达标收录
2026/10/15 18:16:22
统计更新时间
2026/10/22 19:06:02

按创建时长与累计 Stars 判断等级。首次达标收录后,即使未达当前门槛仍保留;累计 Stars 和仓库状态会定期更新。确认只有 README 及辅助文件的仓库会停止公开。

模型评估

值得看加权总分 4.0 / 5

新颖度
3.9
实用价值
4.2
成熟度
4.7
实质含量
3.6

由 Jev 模型根据仓库描述与 README 评估,2026/10/22 18:16:35 生成。评分仅供参考,不是代码、安全或许可证审查;热度等级另按创建时长与累计 Stars 计算。

仓库信息

最近推送
2026/10/19 23:11:23
许可证标识
AGPL-3.0
Fork 数
84
当前状态
未归档

收录记录

按创建时长与累计 Stars 首次收录:小火
首次发现项目