被安全圈疯传的多智能体渗透框架:Docker隔离+AI自主决策,企业级红队实战"

admin 2026-10-16 02:30:04 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

被安全圈疯传的多智能体渗透框架:Docker隔离+AI自主决策,企业级红队实战

原创

菜狗
菜狗

只会看监控的实习生

2026年10月9日 16:00
广东

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

【AI渗透测试工具】BlacksmithAI:多个AI Agent协同工作,让渗透测试流程自动跑起来

做过渗透测试的都知道,一次完整的测试往往要用到不少工具。前期收集资产,中间做端口扫描、服务识别,发现问题后还要进一步验证,最后再整理漏洞证据和测试报告。

这些工作单独做起来不难,麻烦的是不同工具之间需要人工衔接,很多时间都花在重复操作上。

BlacksmithAI 是一个尝试解决这个问题的开源项目。它采用多 Agent 架构,把信息收集、端口扫描、漏洞分析和漏洞验证等任务交给不同的 Agent,再由总控 Agent 统一协调。

简单理解,就是让 AI 根据当前测试结果,决定下一步该做什么,并调用相应的安全工具执行任务。

0x01 项目介绍

项目地址:https://github.com/yohannesgk/blacksmith

BlacksmithAI 是一个基于 Python 和 LangGraph 的 AI 渗透测试框架,提供 CLI 和 Web UI 两种使用方式,安全工具则通过 Docker 环境运行。

项目的思路比较直接:不重新开发一套扫描器,而是把现有的安全工具组织起来,让 AI 参与任务规划、工具调用和结果分析。

主要功能包括:

  • 多个 Agent 分工执行不同测试任务
  • 集成常见的信息收集、端口扫描和漏洞检测工具
  • 支持云端模型及本地模型配置
  • 提供命令行和 Web 界面
  • 汇总测试发现、风险和相关证据
  • 使用 Docker 管理安全工具运行环境

0x02 多个 Agent 怎么配合

BlacksmithAI 的重点是多 Agent 协作,不同 Agent 负责不同的工作,总控 Agent 负责协调任务。

Agent 主要工作
Orchestrator 制定测试计划、分配任务、汇总结果
Recon Agent 收集域名、DNS、证书等信息
Scan/Enum Agent 扫描端口、识别服务、枚举入口
Vulnerability Analysis Agent 分析扫描结果,判断潜在漏洞
Exploit Agent 对发现的问题进行进一步验证
Post-Exploit Agent 分析漏洞可能造成的影响

举个例子,在授权测试中,前面的信息收集发现了一个开放服务,后续就可以继续识别服务类型、分析可能存在的漏洞,再根据结果决定是否需要验证。

这比单纯执行一批扫描命令多了一层任务编排。不过,Agent 的判断也可能出错,扫描结果更不能直接等同于漏洞成立,关键结论还是要结合证据复核。

0x03 集成的安全工具

项目通过 Docker 中的安全工具环境执行各类命令,涉及资产发现、端口扫描、Web 检测和漏洞验证等环节。

使用场景 工具示例
信息收集 assetfinder 、subfinder、whois、dig、dnsrecon
端口扫描 nmap 、masscan
服务识别 whatweb 、fingerprintx
Web 检测 gobuster 、nikto、wpscan
漏洞扫描 nuclei 、sslscan
漏洞验证 sqlmap 、hydra、medusa、ncrack
其他辅助工具 curl 、httpie、netcat、socat
敏感信息检查 trufflehog

具体工具及其可用功能,以仓库当前版本为准。

这些工具本身并不陌生,比较有意思的是,Agent 可以根据前一步的结果继续安排后续任务,而不是每次都要测试人员手动切换工具。

0x04 一次测试大致怎么跑

按照项目的设计,整个流程可以拆成几个阶段。

第一步:收集目标信息。

从域名、DNS、证书等信息入手,先把目标的基本情况摸清楚。

第二步:扫描和服务识别。

对授权范围内的目标进行端口扫描,识别开放服务和相关技术栈,整理出值得进一步检查的入口。

第三步:分析潜在漏洞。

结合服务信息和扫描结果,分析可能存在的漏洞或配置问题,并确定下一步的检查方向。

第四步:验证发现的问题。

对需要确认的漏洞进行验证,尽量获取可以复核的证据,而不是只根据扫描器的一条告警就下结论。

第五步:分析影响并整理结果。

根据验证情况,评估漏洞可能带来的影响,汇总问题、证据和修复建议。

整个流程的价值,在于减少人工衔接工具的工作量。但具体能自动完成多少,仍然取决于模型能力、工具执行情况和目标环境。

0x05 模型配置

BlacksmithAI 支持配置不同的模型服务,项目文档提供了 OpenRouter、vLLM 等接入方式。

相关配置主要涉及两个文件:

文件 用途
blacksmithAI/.env 保存 API Key 等环境变量
blacksmithAI/config.json 配置模型提供方、接口地址和默认模型

先复制环境变量模板:

cp blacksmithAI/.env.example blacksmithAI/.env

然后根据自己使用的模型服务填写相应配置。

如果使用云端模型,需要准备对应的 API Key;如果使用本地 vLLM,则需要先把模型服务启动起来,再配置对应的接口地址。

需要注意的是,换一个模型不代表测试效果一定会更好。工具调用是否稳定、模型能否正确理解输出,以及多轮任务中的上下文管理,都会影响实际效果。

0x06 CLI 和 Web UI

项目提供了两种使用方式。

CLI 模式更适合习惯终端的安全人员,可以直接在命令行中操作。

Web UI 模式则提供浏览器界面,方便查看和管理任务。

如果只是想研究框架怎么调用工具,可以先从 CLI 开始;如果需要观察整个任务的执行过程,再部署 Web UI。

0x07 环境准备

项目使用 Python、Docker 和前端工具链,主要环境要求如下。

组件 用途
Python 3.12 运行 Python 部分
uv 管理 Python 环境和依赖
Docker 运行安全工具容器
Docker Compose 管理容器服务
Node.js 18+ 前端运行环境
pnpm 管理前端依赖
大模型服务 提供 AI 分析和任务规划能力

项目给出的基础内存参考为 2GB,建议 4GB 或以上。实际运行时还要考虑 Docker 镜像、前端服务和任务并发带来的额外开销。

如果打算在本地运行大模型,还需要根据模型规模单独评估内存、显存和推理性能。

0x08 安装部署

先克隆项目:

git clone https://github.com/yohannesgk/blacksmith.git
cd blacksmith

查看项目提供的命令:

make help

按照项目提供的 Makefile,执行环境初始化:

make setup

接下来配置环境变量:

cp blacksmithAI/.env.example blacksmithAI/.env

根据使用的模型服务,填写 API Key,并检查 blacksmithAI/config.json 中的相关配置。

启动 CLI

make start-cli

启动 Web UI

按照项目文档,需要分别启动相关服务。

启动 Docker 工具环境:

cd blacksmithAI
docker compose up -d

启动前端:

cd frontend
pnpm install
pnpm build
pnpm start

启动 LangGraph 开发服务:

cd blacksmithAI
uv run langgraph dev

以上命令需要结合项目当前版本的目录结构执行。如果启动失败,优先检查 README、Makefile 中的实际命令,以及模型接口和 Docker 环境是否配置正确。

0x09 安全人员能拿它做什么

如果平时就在做渗透测试,这类框架比较适合拿来研究自动化测试流程。

比如,资产收集完成后,让 Agent 接着做服务识别;扫描器发现问题后,再结合服务信息分析风险;测试结束后,把不同工具的输出统一整理成报告。

另外,对于想研究 AI Agent 的人,也可以重点看它是怎么规划任务、调用工具、处理返回结果,以及决定下一步操作的。

不过,涉及漏洞利用、凭据测试和后续影响分析时,还是要设置明确的授权范围和执行限制。建议先在本地靶场或自建测试环境中跑通,再考虑用于真实业务资产。

0x0A 使用时需要注意的地方

AI 参与渗透测试,并不意味着测试人员可以完全放手。

首先,扫描器会误报,模型也可能误判。发现问题后,仍然需要结合请求响应、服务版本和实际环境进行验证。

其次,自动化工具可能对目标产生影响。特别是漏洞利用、口令测试等操作,需要限制执行范围,避免影响正常业务。

还有一点容易被忽略:如果使用云端模型,测试过程中涉及的资产信息、请求内容和漏洞证据可能会发送到外部服务。用于企业环境前,需要确认数据处理要求和模型服务的安全边界。

Docker 可以帮助隔离工具环境,但不能替代权限控制、网络限制和操作审计。

0x0B 项目信息

项目 说明
项目名称 BlacksmithAI
项目地址 https://github.com/yohannesgk/blacksmith
核心技术 Python、LangGraph、Docker
操作方式 CLI、Web UI
主要用途 AI 辅助渗透测试与安全工具编排
许可证 GPL-3.0-only,使用和分发前建议核对仓库许可证文件

0x0C 写在最后

BlacksmithAI 这个项目,核心还是把已有的安全工具串起来,再通过多个 Agent 组织测试流程。

它适合用来研究 AI 如何参与资产收集、漏洞分析和测试结果整理,也能给想做自动化渗透测试的人提供一些思路。

但现阶段,AI 更适合做辅助。扫描结果是否准确、漏洞能否复现、操作是否会影响业务,最终还是需要安全人员把关。

项目地址:https://github.com/yohannesgk/blacksmith


    被安全圈疯传的多智能体渗透框架:Docker隔离+AI自主决策,企业级红队实战" 网络安全文章

    被安全圈疯传的多智能体渗透框架:Docker隔离+AI自主决策,企业级红队实战"

    本文介绍开源项目BlacksmithAI,一个基于Python和LangGraph的多AgentAI渗透测试框架,通过Docker隔离安全工具环境,实现信息收集、端口扫描、漏洞分析与验证等任务的自动化编排。文章详述了Agent分工、集成工具、测试流程、模型配置及部署方式,并强调AI仅适合辅助渗透测试,最终结论仍需安全人员复核验证。
    数据分类分级、数据安全评估报告,数据安全合规的“最后一公里”:标准已经就位,为什么落地还是难" 网络安全文章

    数据分类分级、数据安全评估报告,数据安全合规的“最后一公里”:标准已经就位,为什么落地还是难"

    本文分析数据安全合规落地难的原因,指出资产底数不清、分类分级靠人工、接口出域管不住、评估报告手工拼四大痛点,提出资产盘点到审计溯源的治理闭环,并介绍数安盾评估平台作为解决方案,强调对齐国标、管住接口、自动报告、私有化部署四大选型标准。
    评论:0   参与:  0