强烈建议二开!ARTEX深度拆解:从PostgreSQL“黑板”到Planner-Worker调度优化
前言在AI渗透测试工具层出不穷的今天大多数项目给人的感觉是“在聊天框里接了个能执行命令的Agent”——对话一长模型忘了自己扫到哪了页面一刷新执行状态全丢了想复盘的时候只能翻聊天记录。今天给大伙分享渗透测试智能体开源项目——ARTEX。项目地址GitHub - Autumn-27/ARTEX: AI 自主渗透测试系统 · GitHub在线Demohttp://artex-demo.vercel.app/简述ARTEX是一个把AI Agent、资产图谱、流量录制和任务编排放进同一套工作台的自主渗透测试系统后端用Go前端用Next.js开箱就带Web UI。这篇文章会从技术原理、架构设计、使用体验到二开建议带你完整认识这个项目。快速部署方式git clone https://github.com/Autumn-27/ARTEX.git cd ARTEX ./install.sh脚本会引导你选择两种模式模式适合谁特点全部Docker想快速跑起来自动拉起ARTEX和PostgreSQL本地编译运行想改代码或二开可自定义数据库和构建方式一、解决了什么问题先问一个问题你用过的AI渗透工具是不是都长这样一个聊天窗口你跟AI说“扫一下这个站点”AI开始调用工具、输出结果对话越来越长AI开始“失忆”你刷新页面一切归零想复盘只能从头翻聊天记录ARTEX的核心设计理念是不要把所有上下文都堆在聊天记录里。它把渗透流程拆成几层稳定的运行单元再让Agent在这套约束里工作。层级作用对应实现数据层保存资产图、探索图、任务状态、流量记录PostgreSQL data/traffic执行层跑Planner、Worker、Chat Agentagent/编排层派生子任务、管理目标、处理触发器server/orchestration.go、server/scheduler.go安全控制层对高风险工具调用做拦截和审批guard/guard.go、intercept/接入层MCP、Web UI、录制代理、资产同步mcphttp/、server/、sync_scopesentry.go二、核心架构双图模型2.1 资产图与探索图分离ARTEX最核心的设计是两张图资产图存域名、站点、接口、参数、指纹、服务这些结构化对象探索图存目标、意图、事实、发现和执行链路这两个东西分开意义很大。普通Agent工作流的问题是“把所有上下文都堆在聊天记录里”。轮数一长模型只知道自己说过什么却很难稳定回答三个问题现在已经摸到了哪些入口哪些方向已经证伪哪些目标还没完成ARTEX的做法是把结构化信息写回图里。graph_overview、list_assets、list_findings这些工具不是装饰它们是Agent每轮重新建立态势感知的入口。任务暂停、页面刷新、甚至换一轮执行都还能回到同一份状态。2.2 存储实现PostgreSQL就够了有意思的是ARTEX没有使用Neo4j等独立图数据库。所有图数据都在PostgreSQL中以关系表的方式存储exploration_nodes探索节点goal、intent、finding、hintexploration_edges探索边spawns、derived_from、yields、provesexploration_anchors节点-资产关联表前端用antv/graphin渲染图后端从PostgreSQL查询组装成nodesedges JSON直接返回。部署只需要一个PostgreSQL大大降低了上手门槛。三、Planner Worker像“黑板架构”一样协作3.1 什么是黑板架构如果你接触过AI多智能体系统可能听说过黑板架构Blackboard Architecture——这是一种经典的多智能体协作模式所有智能体共享一个全局黑板共享内存/数据库各自独立读取黑板上的信息、做出决策、把结果写回黑板。没有中心化的“总指挥”每个智能体各司其职通过黑板间接协作。ARTEX的设计哲学与黑板架构高度相似PostgreSQL就是那块“黑板”——所有状态都持久化在这里Planner是“全局规划者”——盯着黑板上的全局态势拆解目标Worker是“具体执行者”——执行动作、把发现写回黑板Chat Agent是“对外接口”——解释当前进展、回答人的问题3.2 Planner和Worker的分工ARTEX没有把一个大模型当万能执行器而是把任务拆成Planner和Worker两类角色角色主要职责典型行为Planner看全局态势、拆目标、决定下一步意图读取graph_overview创建或收束任务Worker执行具体测试动作、写回事实和资产调工具、跑命令、登记insert_assets、report_findingChat Agent处理人机对话、解释当前进展回答“现在做到哪了”这类问题这种拆法的好处是规划和执行不抢同一段上下文。执行Agent可以把注意力放在当前意图上比如枚举接口、验证参数、读流量记录。规划Agent则盯住整场任务状态负责避免重复探索也负责在足够证据出现时推进目标完成。总结Planner是“项目经理”负责看全局、派活Worker是“一线工程师”负责干活、汇报。各干各的互不干扰。四、不得不提的几个亮点4.1 流量录制代理把“可回放”当一等公民ARTEX有一个很实用的设计把录制代理直接放进运行时。流量捕获开启后系统会把代理地址和CA证书注入到WebFetch、Bash子命令以及浏览器MCP里。结果就是Agent发起的HTTP请求能自动被录下来Playwright这类浏览器动作也能走同一条代理后续回看时可以优先查traffic_search/traffic_get不用重复打目标很多“AI渗透”项目只强调自动化执行但不太处理留痕问题。ARTEX反过来把“可回放、可复查、可检索”当成一等公民。对团队协作来说这比单次跑出一个PoC更值钱。4.2 MCP和平台工具直接进系统ARTEX不只是调用外部工具还把工具管理本身做进了平台。它内置了创建和更新Skill、自定义Tool、MCP服务的能力。这个平台不仅让Agent使用工具还想让Agent参与“扩工具”这件事。能力方向常见平台ARTEX任务执行扫描器或脚本为主Agent Tool协作资产管理多为结果列表资产图 探索图流量复盘常依赖外部代理内建录制代理和检索工具工具扩展人工接脚本Skill / Custom Tool / MCP一起管理自动编排通常较弱有子任务、触发器、调度器4.3 ScopeSentry同步解决“目标从哪来”很多自主测试平台最开始就卡在资产喂给谁、怎么喂。ARTEX补了ScopeSentry同步它可以按项目或任务维度把域名、子域、IP、端口、站点、端点这类资产导进来再归并到平台内部的资产图。这意味着它不只适合“我手工输一个URL让Agent跑起来”的场景更适合接到已有ASM或资产测绘链路后面。五、使用场景场景1内网或私有化测试环境给一组内部站点做持续探索把接口、参数和指纹自动沉淀到资产图里。PostgreSQL持久化了状态任务不会因为聊天窗口关闭直接丢掉。场景2接在ASM平台后面做二次探索先由ScopeSentry这类平台测绘资产再把结果同步进ARTEX让Agent继续按站点和端点深挖。对大型目标来说比纯手工喂URL更稳。场景3多Agent协作排查一个Agent做信息收集、另一个做漏洞验证、Planner负责全局协调——全部通过“黑板”PostgreSQL进行状态同步。六、使用心得✅ 值得肯定靶场验证能力不错在Vulhub、DVWA等靶场环境测试时Worker能按Planner的意图有序执行不会出现“扫到一半跑去干别的”的情况。攻击图和探索图清晰简洁前端用antv/graphin渲染的图非常直观节点和边的颜色、类型区分明确一眼就能看出当前探索到了哪一步、哪些方向已经走通、哪些还在进行中。主Agent和Worker调度清晰Planner读取graph_overview做全局决策Worker专注执行具体动作并写回结果。分工明确上下文不打架。流量录制是真香跑完一轮测试后直接去查流量记录请求响应一目了然复盘效率翻倍。部署简单只需要一个PostgreSQLDocker不需要折腾Neo4j、Redis、消息队列这些额外组件。七、二开建议ARTEX是一个值得深度二开的项目。以下是几个我认为有价值的优化方向1. Planner并发瓶颈当前架构是单Planner 多Worker所有意图生成都走同一个Planner loop。当多个Worker同时完成各自意图时Planner只能串行处理。建议将通知机制改为事件驱动用Channel直接触发而非Timer debounce并考虑按探索子方向分片让多个Planner并行规划不同分支。2. 图查询性能优化探索图用PostgreSQL关系表存储边的遍历依赖多次SQL JOIN。当探索链路很深时几十个节点串联递归查询会变重。建议对需要递归遍历的场景用PostgreSQL递归CTE一次查询替代多次JOIN为频繁的图遍历路径加物化缓存3. Worker超时回收机制Worker对于大工具输出采用了写入磁盘文件的方式防止内存膨胀但超时后的收尾机制可能出现“已拿到关键结果却被超时切断”的情况。建议在Bash工具层面做“最后N行”的增量截断超时时把已有的有价值输出先写回探索图再终止LLM调用而不是一刀切。4. 资产图关联索引assets表依赖task_ids[]数组做任务归属exploration_anchors做节点-资产关联但资产之间的关联如子域名→IP→服务只能在应用层靠多次查询拼出来。建议加一张轻量的asset_edges表表达资产间拓扑domain→resolves_to→ip、ip→hosts→service让资产图真正可高效遍历。5. 拦截规则优先级缓存拦截规则每次变更需要手动Invalidate()重载。若规则数量增多每次Match()逐条遍历会有性能损耗。建议按工具名分组建立二级索引toolName → []compiledRule匹配时只遍历目标工具对应的规则子集。八、总结ARTEX不是一个“在聊天框里接个LLM”的玩具项目。它把资产图谱、探索图、流量录制、任务编排和AI Agent真正融为了一体。双图模型解决了状态持久化和上下文管理的问题PlannerWorker分工解决了规划和执行抢上下文的问题流量录制代理解决了执行留痕和可复盘的问题ScopeSentry同步解决了目标资产从哪来的问题

相关新闻

关于面向对象和面向过程:

关于面向对象和面向过程:

面向过程把视野聚焦在完成一件事情的过程上,把一件事情的完成看作由一系列的步骤完成。这样写出来的代码逻辑很清晰,而且相比于我们要谈的另外一个编程思路而言不需要过多的进行过多的性能开销。 写下来的大概框架就是 数据a → 函数(1&#…

2026/7/30 9:51:35阅读更多 →
2026年最新网络安全零基础教程:Kali Linux与内网渗透实战指南

2026年最新网络安全零基础教程:Kali Linux与内网渗透实战指南

这次我们来看一套2026年最新的网络安全零基础入门教程。这套教程主打全程干货、新手友好,号称是B站最好的网络安全保姆级教学视频,内容覆盖兔杀、内网渗透、Kali Linux和VMware虚拟机安装等核心技能点。 对于想要入门网络安全的新手来说,最关…

2026/7/30 9:49:35阅读更多 →
词嵌入中“语义类比“任务(如 king - man + woman ≈ queen)依赖的是什么性质?

词嵌入中“语义类比“任务(如 king - man + woman ≈ queen)依赖的是什么性质?

语义类比任务依赖的核心性质:向量空间的线性结构 词嵌入能完成 king - man woman ≈ queen 这类类比任务,依赖的是词向量空间中存在的线性平移不变性(linear translation invariance),具体表现为以下几个层面&#xf…

2026/7/30 9:49:35阅读更多 →
Lottie-Windows常见问题解决:20个你必须知道的警告与限制

Lottie-Windows常见问题解决:20个你必须知道的警告与限制

Lottie-Windows常见问题解决:20个你必须知道的警告与限制 【免费下载链接】Lottie-Windows Lottie-Windows is a library (and related tools) for rendering Lottie animations on Windows 10 and Windows 11. 项目地址: https://gitcode.com/gh_mirrors/lo/Lot…

2026/7/30 17:31:47阅读更多 →
Countly SDK高级特性:自定义事件跟踪与深度数据分析技巧

Countly SDK高级特性:自定义事件跟踪与深度数据分析技巧

Countly SDK高级特性:自定义事件跟踪与深度数据分析技巧 【免费下载链接】countly-sdk-android Countly Digital Analytics Android SDK 项目地址: https://gitcode.com/gh_mirrors/co/countly-sdk-android Countly Digital Analytics Android SDK是一款功能…

2026/7/30 17:31:47阅读更多 →
靠谱的AI面部情绪识别系统哪家正规

靠谱的AI面部情绪识别系统哪家正规

在当今数字化时代,AI面部情绪识别系统在众多领域都展现出了重要的应用价值。无论是教育、医疗还是司法等行业,这类系统都为情绪监测和心理健康评估提供了强有力的支持。那么,靠谱且正规的AI面部情绪识别系统该如何选择呢?北京一心…

2026/7/30 17:31:47阅读更多 →
5分钟构建企业级监控告警系统:amis低代码框架的实战指南

5分钟构建企业级监控告警系统:amis低代码框架的实战指南

5分钟构建企业级监控告警系统:amis低代码框架的实战指南 【免费下载链接】amis 前端低代码框架,通过 JSON 配置就能生成各种页面。 项目地址: https://gitcode.com/GitHub_Trending/am/amis 在数字化转型浪潮中,系统监控告警已成为企业…

2026/7/30 17:31:47阅读更多 →
如何高效使用智能游戏工具:3步完全掌握League Akari终极辅助

如何高效使用智能游戏工具:3步完全掌握League Akari终极辅助

如何高效使用智能游戏工具:3步完全掌握League Akari终极辅助 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为《英雄联盟》游…

2026/7/30 17:31:46阅读更多 →
[ BLE4.0 ] 伦茨ST17H66开发-OSAL系统中添加自己的Task任务

[ BLE4.0 ] 伦茨ST17H66开发-OSAL系统中添加自己的Task任务

目录 一、开发背景 二、任务要求 三、实现步骤 四、效果展示 一、开发背景 本文的开发是在基础的SimpleBlePeripheral工程中进行的,在此之前,应该熟悉伦茨ST17H66例程中的OSAL系统的基本组成。 复习OSAL系统任务调度:OSAL的任务结构 二、…

2026/7/30 17:29:46阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/30 15:03:16阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/30 12:22:27阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/30 15:13:02阅读更多 →
3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 [特殊字符]

3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 [特殊字符]

3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 🚀 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 你是否曾经因为iOS系统的严格…

2026/7/30 0:00:58阅读更多 →
[GESP202606 四级] 扫雷

[GESP202606 四级] 扫雷

B4557 [GESP202606 四级] 扫雷 https://www.luogu.com.cn/problem/B4557 中国计算机学会(CCF)2026年6月C四级讲解——扫雷 https://www.bilibili.com/video/BV1MCMg6AEXR/ B4557 [GESP202606 四级] 扫雷 https://www.bilibili.com/video/BV1ZKTj6ZEVh/ 2…

2026/7/30 0:00:58阅读更多 →
Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:58阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/30 0:27:26阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/30 4:47:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/30 15:43:46阅读更多 →