ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

将 Burp Suite 流量直接送入 CyberStrikeAI:cyberstrikeai-burp-extension 插件安装、构建与流式渗透测试实战指南

将 Burp Suite 流量直接送入 CyberStrikeAI:cyberstrikeai-burp-extension 插件安装、构建与流式渗透测试实战指南 将 Burp Suite 流量直接送入 CyberStrikeAIcyberstrikeai-burp-extension 插件安装、构建与流式渗透测试实战指南【免费下载链接】CyberStrikeAIThe system of action for AI-native cybersecurity—where intent becomes governed execution, evidence becomes operational memory, and every operation improves the next.项目地址: https://gitcode.com/GitHub_Trending/cy/CyberStrikeAICyberStrikeAI 为 AI 原生安全平台提供了一套官方 Burp Suite Java 扩展cyberstrikeai-burp-extension让安全测试人员无需离开 Burp 即可把任意 HTTP 请求/响应一键发送到 CyberStrikeAI 后端以流式SSE方式驱动 Eino 单代理、Deep、Plan-Execute、Supervisor 等 Agent 模式执行 Web 渗透测试。读完本文你将掌握该插件的完整功能、三种构建方式、Burp 加载与配置流程、四种 Agent 模式与后端 API 的映射关系以及常见问题的排查方法。插件能做什么核心功能总览根据插件 READMEplugins/burp-suite/cyberstrikeai-burp-extension/README.md与中文说明plugins/burp-suite/cyberstrikeai-burp-extension/README.zh-CN.md该扩展提供以下能力连接配置在 Burp 顶部的CyberStrikeAI标签页配置 Host / Port / HTTPS / Password选择 Agent 模式Validate 登录验证点击Validate完成登录POST /api/auth/login与 Token 校验GET /api/auth/validate验证通过后 Token 保存在插件内存中仅当前 Burp 会话有效一键发送在 Burp 的 Proxy / HTTP history / Repeater 等任意列表中对 HTTP 消息右键选择Send to CyberStrikeAI (stream test)即可将其发送到后端进行流式 Web 渗透测试对应/api/eino-agent/stream或/api/multi-agent/stream流式端点可搜索测试历史每次发送都会在左侧Test History侧边栏新增一条记录支持按标题搜索方便回看与对比多次测试分区的输出视图输出被拆分为可折叠的Progress过程日志与Final Response最终回复最终回复支持 Markdown 富文本渲染可开关Request / Response 回看右侧 Tab 可直接查看该次捕获到的原始请求与响应报文Stop 停止任务任务创建会话后可调用/api/agent-loop/cancel按conversationId停止当前运行中的任务。工作原理与源码结构该扩展共由 8 个 Java 源文件组成全部位于plugins/burp-suite/cyberstrikeai-burp-extension/src/main/java/burp/目录下职责划分清晰文件职责BurpExtender.java扩展入口注册套件标签页与右键菜单工厂CyberStrikeAITab.java主 UI连接配置、测试历史、输出面板、停止/复制/清空等操作CyberStrikeAIClient.java后端 HTTP 客户端登录、验证、拉取项目/角色、SSE 流式请求、按会话取消HttpMessageFormatter.java把 Burp 捕获的请求/响应格式化为发给 Agent 的 promptSendOptionsDialog.java发送前对话框选择项目、角色、Agent 模式并编辑测试指令SslTrustAll.java信任自签名证书的 HTTPS 连接工具逐连接生效不改全局 JVM 配置MarkdownRenderer.java无依赖的最小 Markdown→HTML 渲染器供 Final Response 富文本展示SimpleJson.java极简 JSON 字段提取工具从源码结构看插件采用了「UI 线程 后台工作线程」的设计CyberStrikeAIClient内部用AtomicReferenceHttpURLConnection和AtomicReferenceThread跟踪当前活跃连接与线程从而支持cancelActiveRequest()的即时中断流式请求则运行在名为CyberStrikeAI-Stream的独立线程中逐行读取 SSE 响应并回调StreamListener接口。扩展生命周期与右键菜单BurpExtender实现IBurpExtender与IContextMenuFactory两个接口registerExtenderCallbacks中设置扩展名为 CyberStrikeAI Extension注册套件标签页CyberStrikeAITab与右键菜单工厂createMenuItems则向任何 HTTP 消息的右键菜单注入Send to CyberStrikeAI (stream test)菜单项点击后取第一个选中的IHttpRequestResponse消息进入发送流程。若尚未 Validate 获取 Token插件会弹出提示框要求先完成验证见 BurpExtender.java。流量如何变成 Agent 的输入发送前HttpMessageFormatter.java 会把 Burp 捕获的报文组装成结构化的 prompt包含用户自定义测试指令默认指令为“针对该流量做web渗透测试并输出测试结果要求只针对该接口流量做测试切勿拓展其他接口”、[Target]目标方法 URL、[Request]请求头与请求体以及可选的[Optional: Response (truncated)]响应摘要响应体截断为最多 4096 字节。测试记录标题则由方法、Host 与路径自动生成超长路径截断至 80 字符。四种 Agent 模式与后端端点映射CyberStrikeAIClient.AgentMode枚举定义了四种模式及其对应的流式端点和编排参数见 CyberStrikeAIClient.java模式展示名流式端点请求体中的 orchestrationEino SingleEino Single (ADK)/api/eino-agent/stream无DeepDeep (DeepAgent)/api/multi-agent/streamdeepPlan-ExecutePlan-Execute/api/multi-agent/streamplan_executeSupervisorSupervisor/api/multi-agent/streamsupervisor流式请求的 JSON 负载结构为message格式化后的 prompt、conversationId新会话传空字符串、role角色名可为空、可选projectId绑定项目与orchestration多代理模式编排参数。请求头设置Accept: text/event-stream与Authorization: Bearer token见 CyberStrikeAIClient.java。SSE 事件流与界面呈现插件按行解析 SSE 格式data: {json}根据事件type分发到不同 UI 区域核心事件类型包括response_start/response_delta/response主回复Final Response增量写入最终输出区eino_agent_reply_stream_start/_delta/_end、eino_agent_reply子代理回复写入 Progress 区reasoning_chain_stream_*、reasoning_chain推理过程写入 Progress 区无streamId时thinking_stream_*思考过程仅在勾选 Show debug events 时展示tool_call/tool_result/tool_result_delta工具调用与结果同样受 Show debug events 开关控制conversation携带conversationId插件据此记录会话以便后续 Stop 取消progress进度消息cancelled/error终止或出错done流结束。上述事件分发逻辑见 BurpExtender.java。当勾选 Render Markdown 且最终回复非空时MarkdownRenderer.java 将最终输出渲染为富文本支持标题、围栏代码块、行内代码、加粗、列表与段落并内置适配 Swing HTML 渲染器的样式流式过程中出于性能考虑保持原始文本视图。环境要求构建该扩展需要满足JDK 11pom.xml中maven.compiler.release为 11且 Gradle 构建同样面向 Java 11Maven推荐或Burp Extender API jar离线模式。Maven 构建对 Burp 的唯一依赖是net.portswigger.burp.extender:burp-extender-api:2.3其scope为provided——即编译期需要、运行期由 Burp 提供见 pom.xml。因此普通用户无需编译直接加载发布好的 jar 即可编译仅是开发者/CI 打包一次的动作。构建插件的三种方式方式 A推荐Maven 一键构建无需定位 Burp适合开发者或 CI 环境打包发布。Maven 会自动从 Maven Central 拉取burp-extender-api依赖不需要知道 Burp 安装在哪里cd plugins/burp-suite/cyberstrikeai-burp-extension ./build-mvn.sh构建产物为dist/cyberstrikeai-burp-extension.jar方式 B离线纯 JDK 编译需要 Burp 的 API jar适合无法访问 Maven Central 的环境。步骤在插件目录创建lib/并把 Burp 自带的 API jar 复制进去cd plugins/burp-suite/cyberstrikeai-burp-extension mkdir -p lib # 复制 Burp 自带的 API jar 到这里例如 # cp /path/to/burp-extender-api.jar lib/一键编译打包cd plugins/burp-suite/cyberstrikeai-burp-extension ./build.sh产物同样为dist/cyberstrikeai-burp-extension.jar方式 C可选Gradle如果本机已安装 Gradle也可以直接使用插件目录下的build.gradle与settings.gradle进行构建仓库根目录下另有 Maven 的 pom.xml 作为等价选择。在 Burp Suite 中加载插件打开 Burp Suite进入Extensions→Installed→AddExtension type 选择Java选择上面构建出的dist/cyberstrikeai-burp-extension.jar。加载成功后Burp 顶部的标签栏会出现CyberStrikeAI标签页同时所有 HTTP 消息的右键菜单中会出现Send to CyberStrikeAI (stream test)菜单项。配置连接与使用流程1) 填写连接参数在CyberStrikeAI标签页第一行填写Host例如127.0.0.1Port例如8080HTTPS默认勾选。插件对接config.yaml中tls_enabled/ 自签证书场景并自动信任本地自签证书无需手动导入若后端为纯 HTTP 部署取消勾选即可Password你的 CyberStrikeAI 登录密码对应服务端配置auth.password。第二行是运行控制与视图选项Stop停止任务、Copy复制输出、Clear Output清空当前输出、Show debug events展示调试事件、Render Markdown富文本渲染开关。2) 点击 Validate 验证点击Validate后插件会依次执行POST /api/auth/login用密码换取 Token请求体为{password:...}GET /api/auth/validate携带Authorization: Bearer token校验 Token 有效性通过后将 Token 保存在插件内存中状态栏显示OK (token saved)。验证失败时状态栏会显示具体原因如密码错误、服务不可达、401/403 等。插件对登录验证整体设置了约 10 秒的硬性超时上限AUTH_OVERALL_TIMEOUT_MS避免两次读超时叠加拖到半分钟若服务端返回的是 HTML 而非 API JSON例如误把地址填成了 Burp 自身的代理页会给出明确的“请检查 IP/端口并确认指向 CyberStrikeAI 后端”的提示见 CyberStrikeAIClient.java。3) 发送流量进行流式渗透测试在 Burp 的 Proxy / HTTP history / Repeater 等列表中选中一条 HTTP 包右键 →Send to CyberStrikeAI (stream test)。弹出的对话框中可以针对当前流量选择项目来自GET /api/projects?limit500新建对话时绑定projectId已归档项目会标注[已归档]角色来自GET /api/roles仅列出enabled的角色对话模式Eino Single / Deep / Plan-Execute / Supervisor 四种之一测试指令可编辑的 prompt 前缀默认为针对当前接口流量做 Web 渗透测试的指令。插件会记住上次选择的项目、角色与 Agent 模式便于连续测试同类流量。确认后插件新建一条测试记录并异步发起流式请求。4) 查看测试结果每次发送后左侧Test History会新增一条记录展示请求标题 模式/角色 状态圆点状态以颜色区分蓝色 running、绿色 done、红色 error、橙色 cancelled/cancelling。点击记录可在右侧查看Output可折叠的Progress过程日志进度、推理、工具调用、子代理回复等Final Response最终回复可 Markdown 渲染Request / Response该次捕获的原始请求与响应报文可回看、可一键 Copy。进度区支持智能跟随滚动只有当用户停留在底部附近时才自动滚动向上翻阅历史输出时不会抢滚动条阈值 48 像素见 CyberStrikeAITab.java。5) 停止正在运行的任务点击Stop分两种情况处理见 CyberStrikeAITab.java若当前有活跃的流式连接直接disconnect()底层连接并中断工作线程若流已结束但服务端会话仍在执行则使用已捕获的conversationId调用POST /api/agent-loop/cancel请求体{conversationId:...}请求后端取消任务记录状态变为cancelling。如果conversationId尚未生成服务端还未创建会话会提示等待服务端创建会话后再试。常见问题与排错Validate 失败 / 401确认密码是否正确服务端auth.password确认 IP/端口是否可访问例如浏览器能打开https://IP:PORT/服务端启用 TLS 时勾选HTTPS默认已勾选自签证书无需手动导入若为纯 HTTP 部署取消勾选HTTPS。选择 Multi Agent 模式后提示“多代理未启用”服务端需要在config.yaml中开启multi_agent.enabled: true并重启服务或按项目的动态 apply 配置流程启用。右键发送后无流式输出先确认已 Validate 拿到 Token未验证时插件会直接弹出提示确认 Burp 所在主机能访问到 CyberStrikeAI网络/代理/防火墙服务端流式端点为 SSE插件逐行解析data: {json}若中间存在代理缓冲可能影响实时性。登录响应不是 JSON插件会在login中对响应做 HTML 探测若响应以!doctype html、html开头或包含head、body标记会抛出“服务端返回 HTML 而非 API JSON请检查 IP/端口并确认指向 CyberStrikeAI 后端”的明确错误而不是给出难以理解的解析异常见 CyberStrikeAIClient.java。小结cyberstrikeai-burp-extension把 Burp Suite 的报文捕获能力与 CyberStrikeAI 的 Agent 渗透测试能力无缝衔接一次 Validate 建立会话右键即测流式输出实时可见历史记录可搜索、可回看、可取消。对于希望把 AI Agent 引入日常 Web 渗透测试流程的团队这是从“手工复制报文到聊天窗口”升级为“在 Burp 内闭环完成流量驱动的自动化测试”的轻量方案。开发者若需二次开发可直接阅读 BurpExtender.java 与 CyberStrikeAIClient.java 两个核心文件理解其事件分发与连接管理后即可扩展新的 Agent 模式或事件类型。【免费下载链接】CyberStrikeAIThe system of action for AI-native cybersecurity—where intent becomes governed execution, evidence becomes operational memory, and every operation improves the next.项目地址: https://gitcode.com/GitHub_Trending/cy/CyberStrikeAI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表