ARTEXX 开发者指南:从源码编译到本地开发测试,一次跑通单二进制渗透测试系统

发布时间:2026/10/17 6:09:59

ARTEXX 开发者指南:从源码编译到本地开发测试,一次跑通单二进制渗透测试系统 【免费下载链接】ARTEXXARTEXAI 自主渗透测试系统。百度 agent 攻防挑战赛冠军项目。项目地址https://gitcode.com/gh_mirrors/ar/ARTEXX点击查看免费下载ARTEXXARTEX是一套Go 后端 Next.js 前端的 AI 自主渗透测试系统。这篇开发者指南带你完成源码编译 → 配置启动 → 本地开发 → 测试与发布的完整流程最终得到一个可单文件部署的artex二进制并掌握日常开发调试的全部常用命令。克隆仓库ARTEXX 源码结构与目录速览git clone https://gitcode.com/gh_mirrors/ar/ARTEXX cd ARTEXX仓库核心目录速览熟悉这些目录后读源码会轻松很多目录职责cmd/artex/主入口HTTP 服务、流量代理、优雅退出核心逻辑见 main.goserver/net/http路由、JWT 鉴权、SSE 推送、任务引擎与生命周期管理agent/LLM 多 agent 核心goals / planner / worker / mainagentdb/PostgreSQL 数据层pgx与幂等建表脚本 schema.sqlweb/Next.js 前端静态导出后内嵌进后端二进制traffic/流量录制代理MITM CA 全程留痕skills/agent 可加载的技能包如 api-recon、scopesentry环境准备Go、Node.js 与 PostgreSQL按 go.mod 要求开发环境需要Go 1.26go.mod声明go 1.26.3Node.js 20与 npm前端构建与热更新PostgreSQL 16无现成实例时一条命令起一个docker run -d --name artex-pg -p 5432:5432 -e POSTGRES_USERartex -e POSTGRES_PASSWORDyourpass -e POSTGRES_DBartex postgres:16-alpineLLM API KeyANTHROPIC_API_KEY或OPENAI_API_KEYAI 探索功能依赖它不配也能编译只是 agent 无法工作rsync可选build.sh 同步前端产物时需要前端静态导出build:static 生成内嵌产物ARTEXX 前端是 Next.js 静态导出最终通过go:embed打进 Go 二进制。手动编译时先构建静态资源cd web npm ci npm run build:static # 等价于 NEXT_EXPORT1 next build产物在 web/out cd ..npm run build:static的产出是web/out纯静态目录见 package.json 中的 scripts 定义。关键一步把它拷进内嵌目录否则后端不会带上前端cp -r web/out server/webui/distserver/webui_embed.go 通过//go:embed all:webui/dist读取该目录server/webui_stub.go 则是未内嵌时的兜底实现访问页面会直接返回 404 提示。编译单二进制embedui 构建标签是关键在仓库根目录执行CGO_ENABLED0 go build -tags embedui -o artex ./cmd/artex三个细节决定成败-tags embedui不加它编译出的二进制不含前端8787 端口访问页面会报「前端未内嵌到此二进制」CGO_ENABLED0纯 Go 静态编译无 C 依赖交叉编译也方便产物是单文件artex前端、API、SSE 全部由它提供。首次启动配置数据库与 LLM 密钥./artex启动前只需两处配置1️⃣ 数据库连接——二选一环境变量优先解析逻辑见 config.PostgresDSN复制 config.example.json 为config.json填入database字段支持完整dsn或分字段两种写法或设置环境变量export ARTEX_PG_DSNpostgres://artex:yourpass127.0.0.1:5432/artex?sslmodedisable。2️⃣ LLM 密钥export ANTHROPIC_API_KEYsk-...或OPENAI_API_KEY也可以启动后在 UI 的「LLM 配置」页填写。然后启动./artex # 默认 -addr :8787 -proxy 127.0.0.1:8788 # 或交给守护脚本崩溃自动退避重启详见 start.sh 头部注释 ./start.sh两个省心的机制数据库 schema 随每次启动幂等重跑db/schema.sql含ADD COLUMN/CREATE INDEX IF NOT EXISTS无需手动迁移启动 banner 会打印版本、运行时与监听地址方便确认。开发模式dev.sh 一键起后端与前端热更新日常开发推荐 dev.sh——它并行拉起三件事Ctrl-C一并退出./dev.sh # 后端(:8787) 流量代理(:8788) 前端 next dev(:5173)后端go run ./cmd/artex -addr :8787 -proxy 127.0.0.1:8788不内嵌前端见 dev.sh前端cd web npm run dev端口 5173带热更新/api反代dev 模式下 next.config.mjs 会把所有/api/*请求代理到http://localhost:8787可用环境变量AUTOPENTEST_API覆盖后端地址。所以开发时浏览器打开的是http://localhost:5173不是 8787改前端代码即时生效。没有后端也能预览 UIMock 模式渲染无数据请求cd web NEXT_PUBLIC_MOCK1 npm run dev本地测试go test 与咨询锁机制确认config.json指向的数据库可连后跑全量测试go test ./...值得了解的细节db/agent/server三个包的测试都会先抢占同一把 PostgreSQL咨询锁pg_advisory_lock把跨包的清理操作串行化避免互相删除数据实现见 db/testmain_test.go。无数据库可用时依赖 PG 的测试会自动跳过纯逻辑测试照常运行。竞态检测go test -race ./...项目自带的验证命令参考 sidequestion/VALIDATION.md前端代码质量cd web npm run checkBiome lint 格式检查跨平台发布build.sh 一键打包 Release需要发布多平台版本时构建流程注释详见 build.sh 头部./build.sh --release # 产物dist/artex-版本-linux-amd64.zip、darwin / windows …默认目标Linux / macOS amd64 arm64、Windows amd64可用ARTEX_TARGETS自定义如ARTEX_TARGETSlinux/amd64,windows/amd64 ./build.sh --release版本号默认由git describe --tags注入go run本地构建显示为devdev 版本会禁用页面一键更新避免正式版覆盖调试二进制UPX 压缩默认关闭可能与部分 Linux 内核/虚拟化环境不兼容确认环境兼容时可显式加--upx。常见问题速查ARTEXX 编译与启动报错排查现象原因与解决8787 端口访问页面返回「前端未内嵌到此二进制」编译时漏了-tags embedui或没执行cp -r web/out server/webui/dist启动即报「未找到数据库配置」ARTEX_PG_DSN未设置且config.json缺少database段两者必须提供其一改前端代码没生效开发模式请开 51738787 上运行的是内嵌的静态副本改完需重新构建拷贝流量代理端口外部访问不到有意设计-proxy默认只绑127.0.0.1:8788代理仅本机使用开发常用命令速查场景命令开发模式后端代理前端热更新./dev.sh全量单元测试go test ./...前端热更新cd web npm run dev构建单二进制CGO_ENABLED0 go build -tags embedui -o artex ./cmd/artex多平台发布包./build.sh --release守护启动崩溃自动重启./start.sh核心模块快速索引后端入口 cmd/artex/main.go、内嵌前端 server/webui_embed.go、配置解析 config/config.go、开发脚本 dev.sh、构建脚本 build.sh、建表脚本 db/schema.sql。⚠️合规提醒ARTEXX 采用 AGPL-3.0 协议开源仅供个人学习与本地隔离环境技术验证严禁对任何线上系统发起扫描、探测或攻击相关法律风险由使用者自行承担。赞分享【免费下载链接】ARTEXXARTEXAI 自主渗透测试系统。百度 agent 攻防挑战赛冠军项目。项目地址https://gitcode.com/gh_mirrors/ar/ARTEXX点击查看免费下载相关推荐Freelens 源码构建与开发全指南从零编译、捆绑二进制、HMR 开发到测试与调试Freelens 源码构建与开发全指南从零编译、捆绑二进制、HMR 开发到测试与调试 FreelensFree IDE for Kubernetes是一个云原生开发工具运维KQL威胁狩猎查询高级技巧优化查询性能的7个实用方法KQL威胁狩猎查询高级技巧优化查询性能的7个实用方法 在Microsoft Sentinel和Microsoft Defender XDR中进行威胁狩猎时KMoya 本地开发与测试指南从 Carthage 依赖引导到 ⌘U 一键跑通全量测试Moya 本地开发与测试指南从 Carthage 依赖引导到 ⌘U 一键跑通全量测试 本指南面向想要为 Moya 提交代码、或者想要在本地完整跑通其测试套件开发工具上一篇Android Testing Guide入门轻松掌握JUnit基础与单元测试实战下一篇pwndbg终极指南掌握GDB插件让逆向工程更高效创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/17 6:09:59

继续教育论文写作难?两款AI写作工具同题实测对比

前几天帮一位在继续教育方向读在职研究生的A同学救急毕业论文,我注意到一个很有意思的现象:他电脑里装了不下三个AI写作工具,每个都用不到三次就被放弃。有的工具界面太“学术产品经理”了,提示词参数设置得像在写说明书&#xff…

2026/10/17 6:09:59

具身智能系统全解:传感器为何是感官天花板

1. 从“会计算的机器”到“会做事的身体”具身智能这四个字,放在三五年前还是个学术圈的专有名词。最近两三年,随着大模型和机器人技术的碰撞,它几乎成了整个AI行业最热的赛道关键词。所谓具身智能,直白一点说,就是让A…

2026/10/17 6:09:59

软考 系统架构设计师历年真题集萃(100)

接前一篇文章:软考 系统架构设计师系列知识点之杂项集萃(99) 第183题 Internet网络核心采取的交换方式为()。 A. 分组交换 B. 电路交换 C. 虚电路交换 D. 消息交换 正确答案:A。 所属知识点:旧版教材 计算机网络 -> 其它。 试题解析: Internet网的网络层核心…

2026/10/17 7:20:02

基于YOLOv8的固体废物识别检测系统搭建与部署实践

做过多年的目标检测项目,最近把一套基于YOLOv8的固体废物识别检测系统完整跑通了。从训练数据标注、模型训练、评估调优,到最后的UI界面集成和打包,整个流程走下来踩了不少坑,也攒下了一些可以复用的经验。这套系统本质上是一个目…

2026/10/17 7:20:02

AI生成财务报告的合规挑战与落地实践路径

如果上周有人告诉我,某个财务团队能把月度经营分析报告的出具时间从三天压缩到半天,我大概率会觉得他在夸张。但当我亲手把一个AI财务报告生成流程搭起来之后,我才明白,真正的难点根本不在"怎么让大模型读数据"&#xf…

2026/10/17 7:20:02

手搓LLaMA4-MoE:从数据到部署的全栈实现与踩坑实录

手搓一个LLaMA4-MoE,听起来像是典型的造轮子行为,但它们恰恰是最快理解大模型工程细节的路径。这篇指南来自我在自建测试集群上的实操记录,目标是只用PyTorch这门基础框架,把从数据构造、模型实现、分布式训练到推理部署的整条链路…

2026/10/17 7:20:02

低代码平台jeecgboot注解全解析:原理、用法与避坑指南

在 Java 后端这个圈子里,凡是搞过企业级管理系统开发的,对 jeecgboot 这个名字应该都不陌生。它本质上是一套基于 Spring Boot 的低代码快速开发平台,集成了 MyBatis-Plus、Shiro、Quartz 等一大堆主流组件,目标就是让人能快速拼装…

2026/10/17 7:20:02

供应链预测实战:把专家经验训练进模型,比堆参数更有效

有一段时间我特别迷信模型规模:预测不准,先换更深的网络;精度不够,再加几层注意力。直到我参与了一个和NVIDIA供应链团队思路类似的预测项目,才彻底转变想法——供应链预测这种场景,真正的天花板不是模型容…

2026/10/16 5:33:43

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/16 4:03:48

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/15 13:42:16

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/17 0:04:32

PlanarSLAM:面向曼哈顿世界的点线面联合SLAM系统

简介:本资源是面向机器人视觉与SLAM研究者的C开源RGB-D SLAM系统实现,专为结构化室内场景(如办公室、走廊)设计,通过融合点、线、平面三类几何特征并引入“曼哈顿世界”假设,显著提升位姿跟踪鲁棒性与稠密地…

2026/10/17 0:04:32

TDH Workflow调度实战:从DAG依赖驱动到任务编排与故障排查

1. 从一个调度脚本说起:TDH Workflow到底在解决什么问题第一次接触TDH的Workflow,是在一个数据清洗项目里。当时团队每天要跑几十个ETL任务,任务之间有严格的先后依赖——A表清洗完才能跑B表的关联,B表跑完才能触发C表的聚合。最开…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑