「AI渗透测试拆解」ARTEX:百度攻防冠军,如何被用于入侵韩国银行"

admin 2026-10-24 11:48:51 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

「AI渗透测试拆解」ARTEX:百度攻防冠军,如何被用于入侵韩国银行

原创

句芒安全实验室
句芒安全实验室

句芒安全实验室

2026年10月19日 10:17
上海

去阅读

10 月 7 日,CrowdStrike 发了一份报告。报告里写:9 月底到 10 月初,韩国多家金融机构被入侵,数据被打包带走;攻击者用的工具,是一个中国开发者写的开源 AI 自主渗透系统,名字叫 ARTEX。

两天后,10 月 8 日,ARTEX 的原作者 Autumn-27 把项目转成闭源、停止更新。理由只有一句:它已经出现在真实攻击里。

这个项目 7 月 26 日才在 GitHub 发布,拿过百度 BSRC「Agent+」攻防挑战赛冠军——仓库自述是冠军,韩国媒体报道它在约 150 支队伍里排第一,一度一天涨了一千多星。从拿冠军到被指认用于入侵,中间只隔了两个多月。

这期把它拆开:它到底是什么、凭什么能自主、它自己写了哪些护栏、真实攻击是怎么走的、防御者能做什么。

它是什么

ARTEX 的定位一句话说清:LLM 多 Agent 驱动的自主渗透测试系统。技术栈很好认:

  • 后端 Go 单体,前端 Next.js 静态导出后用 go:embed 内嵌进同一个二进制,所以能只发一个可执行文件;
  • 状态落 PostgreSQL,资产、任务、发现、流量全在库里;
  • Agent 能力由 norma SDK 提供,模块分成 agentcore / tool / permission / harness / memory / transcript;
  • 协议 AGPL-3.0。

一次任务的执行主体是四类 Agent:goals 把目标拆开并划出范围,planner 是唯一生成意图的角色,worker 是执行者(每个任务默认 3 个并发),mainagent 负责人工介入的对话。

我核了一遍数字:原仓库 Autumn-27/ARTEX 现在已经无法公开访问(我核实时返回 404),持续维护版 trhhubsd/ARTEX 截至 10 月 19 日 1244 星、150 fork、0 个未关 issue,最新 release v0.3.15(10 月 18 日),主要贡献者仍是原作者(381 次提交)和团队里的其他几个人;语言构成按字节是 Go 约 3.3MB、TypeScript 约 2.1MB、PLpgSQL 约 79KB。

双图架构:目标是什么 vs 测到什么程度

它的核心设计是把两件事拆成两张图,再用锚点连起来:

  • 资产图(全局共享):跨任务共用的资产真值库,节点是 root_domain / subdomain / ip / service / app / endpoint,域名到子域到服务到端点的父子关系和去重键全部由程序计算,Agent 只提交原始信息;
  • 探索图(每任务独立):一次任务的推进过程,节点是 goal / intent / fact / finding / hint,靠 spawns / derived_from / yields / proves 连成血缘链,回答\"哪个方向从哪些事实派生、产出了什么\";
  • 两张图靠锚点相连:exploration_anchors(node_id, asset_id) 把意图、事实、漏洞锚定到具体资产上,于是既能从探索方向看它打了哪些资产,也能从某个资产反查它被哪些意图测过。资产测试覆盖度和覆盖图就是这条锚点撑起来的。

(这张图里的 acme.com 是演示目标,不是真实站点。)

自主性从哪来

它能在\"事件驱动 + 每次唤醒都是新会话\"的条件下把多步利用链走完,靠两个机制:

planner 的多轮共享待办清单。 planner 图一变就被唤醒,但每次唤醒是一个全新会话;共享的清单让一条串行利用链(发现注入点 → 拿到凭据 → 横向 → 提权)只记一次,然后在后续多轮里按依赖逐步派意图——只对\"前置已完成、依赖的事实已存在\"的下一步派发,而不是把整条链在一轮里全部展开。

worker 之间的过程级信息交换。 很多有价值的观察(一个报错、一段响应、一个隐藏参数)出现在某个 worker 的执行过程里,却未必被写成正式事实。于是 worker 能跨 work 检索别人的执行过程:search_all_worker_traces(q) 按关键字检索本任务其他 work 的步骤(自动排除自己那条意图),get_worker_trace(intent_id, step_ids) 取某几步的完整内容。信息以\"执行过程\"为粒度在 worker 之间流动,边界不变。

引擎本身是闭环:图一变就唤醒 planner,planner 派意图,worker 领一条意图、用真实工具执行、把新资产或事实或漏洞写回两图后即停,写回又触发下一轮,直到目标被证明。

它自己写了哪些护栏

这部分是整件事最该记住的。

它有审批门和流量留痕:工具执行前按优先级逐条匹配拦截规则,首条命中的生效——例如\"破坏性命令需审批\"(正则 rm\\s+-rf|mkfs|dd\\s+if=)、\"外发流量直接拒绝\";worker 的 Bash 和 HTTP 全程走一个记录型 MITM 代理,带 CA 留痕;还有一个复测 Agent,修完之后能重跑一遍,结论分\"仍可复现 / 已修复 / 无法确认\"。

问题出在\"范围\"这一层。Zscaler 在 10 月 14 日的分析里贴了源码:它内置一份默认黑名单,用来挡政府和高校域名;但这份限制没有延伸到金融机构。也就是说,它默认不主动打政府或高校,银行不在默认保护范围里,要靠使用者自己去配。

这是这件事对 AI 安全最直接的一课:写在默认名单里、或者靠自然语言交代给模型的范围,不是安全控制。 Zscaler 的建议第 8 条说得很直白:要用开源的渗透 harness,就把它隔离在生产之外、不要在里面放生产凭证,范围要用配置和代码强制,而不是只靠自然语言交代;执行前先审一遍 fork。同一份报告的第 9 条是给防守方的:把授权测试变成常规动作,确认一个用户碰不到他权限外的记录和功能。

真实攻击是怎么走的

CrowdStrike 和 Zscaler 两家复盘基本一致,攻击链四步:

  1. 侦察:ARTEX 的 Agent 自主找到并探测外围的互联网暴露面——客户查询门户、员工移动办公后端,都不是核心银行系统;
  2. 利用:LLM 驱动的 Agent 找到并利用 SQL 注入和鉴权绕过,拿到未授权访问;
  3. 外泄:带走的是姓名、手机号、年收入、贷款额度这类结构化数据;
  4. 变现规划:攻击者用 Claude Code 会话去问这类数据通常在哪卖、帮找韩国的 Telegram 数据群。

模型后端这一项很值得记:主模型是 DeepSeek v4.1-flash,另配智谱 GLM-5.3 和 Grok 4.6 做补充推理,DeepSeek 疑似经一个 LLM API 转售商走。CrowdStrike 在攻击者控制的开放目录里翻到了 Claude Code 会话记录、ARTEX 配置文件和 Claude memory 文件,甚至同一批 AI 还被用来生成一份\"安全研究员简历\"。报告列了 10 个 IP(9 个代理加 1 个托管 ARTEX 实例的地址),把这件事归到 MITRE 的 T1588.007(获取能力:人工智能)。受影响机构数两家口径不完全一致:CrowdStrike 说至少七家韩国金融企业(涉及新韩、KB 国民、韩亚等),Zscaler 说约 6.7 万人的个人信息被外泄。

最值得记住的不是\"AI 会打洞\",而是:一个拿过攻防赛冠军的开源工具,配上现成的商用模型和代理 IP,就能让一个人在两三周里打完多轮入侵。它同时把技术门槛和规模这两件事降下来了。

防御者该看什么

Zscaler 给的行为指标可以直接抄进检测规则:

  • 出站到 api.anthropic.com、api.deepseek.com、open.bigmodel.cn、api.x.ai 这类 LLM 服务的异常调用;
  • 登录和搜索端点上高频、有顺序的枚举请求;
  • 姓名、手机号、金融信息这类结构化数据经 HTTPS 往未授权目的地出站;
  • 意外的 web 路径下出现 *.aspx、*.jsp 文件(可能是 web shell)。

再加三条结构性的:把开源的渗透 harness 当不可信代码(隔离运行、不放生产凭证、范围写进配置和代码);对枚举行为告警并限流;服务端强制鉴权、只返回业务必需的字段。CrowdStrike 的判断是:攻击者会继续把 AI 塞进自己的流程里提节奏,这个方向不会退回去。

上手与避坑

上手门槛不高:仓库给了一键脚本 install.sh(先检测或装 Docker,然后选全 Docker 或本地编译)、Docker Compose(cp .env.example .env 填 Postgres 密码后 docker compose up -d),或者从源码编一个内嵌前端的单二进制。默认端口 8787,需要 PostgreSQL 和一个 LLM key(Anthropic 或 OpenAI,也能在界面里配)。

几个具体的坑:

  • 反代部署时事件流是长连接,必须关缓冲(proxy_buffering off),否则页面能连上却收不到事件,表现是活动流一直转圈;
  • 页面一键更新走 SHA256SUMS 校验加 -h 冒烟测试,失败不留坏程序,连续三次启动失败自动回滚上一版;但 Docker 下只换程序不换镜像,镜像里的工具链不会跟着升级;
  • 升级只换程序不动数据,schema.sql 每次启动幂等重跑,等于\"重启即迁移\",升级前仍建议先备份数据和 ./data;
  • 协议 AGPL-3.0:改过之后通过网络对外提供服务,要把对应源码一起公开;
  • 作者在仓库里写明了使用边界:仅限本地隔离环境做学习与原理验证。原仓库已闭源,但此前下载的副本和 fork 仍在流通(韩语和英语本地化版本都有),所以看星数要看这些镜像,而不是已经 404 的原仓库。

适合谁

如果你在做 AI 红队或者蓝队、想知道\"AI Agent 现在真实的攻击能力边界在哪\",这个仓库的源码值得读一遍——尤其是双图的数据模型、planner 共享待办的设计、以及拦截规则那套按优先级逐条匹配的实现。它回答的不是\"AI 能不能挖洞\",而是\"AI 自主能把一次多步利用链走多远、哪些环节还得靠人\"。读之前先记住它的两件事:它默认的范围保护挡不住金融机构,它的规则写在配置里而不是模型里——这两点,也正是它能被拿去打真人的原因。

吓哭了,赏金图贴成小火炬师傅的了" 网络安全文章

吓哭了,赏金图贴成小火炬师傅的了"

隐雾安全团队发布文章,因误将他人赏金截图当作自己成果展示而道歉,随后补发自身漏洞赏金成果、学员漏洞收录评级及项目产出截图,并推广第11期SRC漏洞挖掘实战训练营课程,强调AI是普通人最大杠杆,引导用户咨询报名。
评论:0   参与:  0