夜雨聆风学习资料网

ARTICLE · 1189969

Obsius-AI ——AI渗透测试工具

Obsius-AI ——AI渗透测试工具

项目地址

https://github.com/ILOVCTRY/Obsius-AI

项目概述

Obsius-AI 是一个 AI 驱动的安全研究工作台,采用多智能体协作架构,覆盖以下安全研究场景:

  • CTF 解题

  • 渗透测试 / SRC 授权测试

  • 红队行动

  • 逆向分析 / Pwn

  • IoT / 工控 / 车联网研究

  • 恶意样本分析

核心差异点:原生 Windows 优先,按能力自动降级到 Docker / WSL2 执行隔离工作。核心理念是"能力包 × 场景轨正交架构"——同一套方法论跨场景复用。

Obsius-AI 是一个设计密度很高的"AI 安全研究员多智能体工作台",其工程亮点在于:黑板单一写入口 + 执行网关双闸门的纵深防御、意图先行闸与测试维度面的"可证伪收敛"纪律、以及 Windows 原生优先下的四级运行时降级。它本质上把"渗透测试方法论"(专家池、知识库、维度面、死路记账)结构化成了平台代码,而不是简单地把 LLM 套在工具调用上。

技术栈

后端
Python 3.11+、FastAPI、Uvicorn
前端
React、TypeScript、Vite、Tailwind CSS
存储
SQLite WAL(可平移 Postgres)
浏览器
Electron WebContentsView 真实 Chromium + Python CDP(可选)
运行时
Windows 优先,降级 Docker / WSL2
测试
pytest(700+ 用例,零触网注入模式)

LLM 接入:内部传输协议统一为 Anthropic /v1/messages 格式;官方 anthropic/openai SDK 作为主引擎;支持 OpenAI/Anthropic 兼容协议与项目级供应商配置;LLM 三角色路由(planner / executor / classifier);默认请求超时 600 秒,按错误类别有限重试;支持 prompt caching(稳定 system 块打 ephemeral 断点)。

核心子系统

 智能体系统(core/agent)

  • 双循环同构:执行轮与对话轮共用同一条单步流水线(可中断 LLM 调用 + 工具分发 + 上下文裁剪),差异只在纪律而非结构

  • 单步流水线:persona 热换装 → 步号预算提醒 → 卡死检测 → 可中断 LLM 调用 → 记账审计 → 工具串行分发 → 每步落盘现场 → 控制点

  • 卡死升级机制:12 步无进展 → 机械预检活跃探索(静默延长 ≤2 次)→ planner 顾问建议 → 顾问裁决(terminate/continue/human 三选一)→ 第 3 轮硬闸停轮

  • 现场持久化四层:内存态 → 任务现场文件(每步落盘)→ 会话暂停快照 → 任务键快照(跨会话认领即复活)

  • 拒绝熔断:硬拒绝连续 ≥3 个模型步即停轮保护,防拒绝死循环烧完预算

  • 上下文管理:token 分层计数(OpenAI 系走 tiktoken 精确 BPE,其他走加权启发估算);/compact 手动持久压缩 + 85% 轮末自动压缩;/context 用量浮层

黑板系统(core/blackboard)

  • Schema 版本化:SCHEMA_VERSION=33,每版迁移幂等(检缺列 ALTER / IF NOT EXISTS),当前已演进至 Team 执行单元独立表

  • 业务语义层:发现门禁(info 全类别拒收、verified 无复现证据拒收)、漏洞收录三件套(危害描述 impact / 复现步骤 repro_steps / 修复建议 remediation)、资产合并证据并集

  • 资产三态模型:未测试(open)/ 已访问(visited)/ 已测试干净(tested_clean)——有洞与状态正交,has_findings 是独立标签不参与状态判定

  • 单站攻击链路图:目标 → 子目标/意图 → 收尾(漏洞|有效发现|死路)→ … 可循环延伸的主脊;四条硬规则:意图必收尾、收尾必带证据、边是逻辑推导、死路是意图关闭态

  • 意图先行闸:每个实质动作前必须先声明 open 意图(declare_intent),且意图必须有资产锚点

  • 测试维度面:轨级维度清单(pentest 首版 11 个面:unauth/authz/weakpass/sqli/upload/rce/traversal/ssrf/xss/infoleak/deserial),收敛判据是"面是否都有结论"而非覆盖率

  • 资产树:host(IP) 为根 → domain 子节点 → url/service 再挂;CDN 判定(命中 CDN 的域名保持根行不挂树);根状态读时派生

 编排与执行(core/orchestrator + core/team)

  • 指挥模型:编排器 = 项目主 agent,职责两条——build_team(组建队伍)+ execute(亲自执行)

  • Team 执行单元(2026-10-06 任务机制退役后):Team / Member / Run 三层;创建 Team 只登记 roster,启动必须经 preflight 乐观锁 + 人工四项确认(members/goal/safety/execution)

  • 对话化编排器:人类通过对话窗与编排器交互(POST /orchestrator/chat),goal 闭环(阶段目标 + 验收判据),异常订阅唤醒(团队收尾/预算软警/阶段门开/高危发现四类触发)

  • 分阶段工作流(pentest 轨):信息收集 recon ⇄ 渗透测试 pentest → 报告 report,重心+配额软引导、入场门是唯一硬约束

  • 自主档三级:L0 提案模式 / L1 建窗待命+审批 / L2 自动起跑;authorization 审批(扩大授权/影响升级/判级覆写)恒为人类决策

  • 独立验证器:验收条目由服务端验证器自动判定(flag_capture/effect_proof/poc_crash/oracle 四策略),Agent 自报被存储层拒绝,判定回执脱敏防反套答案

执行网关(core/runtime)

  • 四级隔离模型:L0 host < L1 wsl < L2 docker < L3 sandbox(--rm 一次性 / 断网 / 512m / cap-drop ALL)

  • 三条硬规则写死代码:WSL 信任级 = 宿主机;未知样本默认按活体恶意样本处理;net=real 不默认

  • 渗透命令容器化:"大脑在宿主、容器为手"——trusted 渗透命令引导走 cyberstrike/pentest-box:0.1 Linux 容器(nmap/sqlmap/dirsearch/ffuf 等预装),一次性消除 PowerShell 转义/编码/工具链现装的环境摩擦

  • 静态护栏双子星:pathguard 写逃逸静态判定(命令词跟踪、重定向截断)+ rateguard 扫描频控

  • 会话级常驻容器:docker run -d sleep infinity 起常驻容器,后续命令走 docker exec,把 create/destroy 从每工具调用一次降到每会话一次;L3 sandbox 恒 per-execution 零挂载

  • 双层权限模型:角色工具白名单约束可调用面,网关 threat_class × runtime 负责执行环境硬校验,人类命令同层经网关、审计无旁路

 技能与知识体系(core/skills + packs/)

  • 四层知识体系:SKILL.md 薄路由入口 → kb/route.json 任务导航表 → route_index.yaml 全局测试点索引 → kb/ 厚方法论手册

  • 专家池:17 个扁平单文件专家(packs/experts/<id>.yaml),支持轨变体字段级覆写;项目绑定专家后运行时角色源唯一

  • 检索质量:中文 2-gram 段落级索引、同义词查询扩展、字段加权(title 命中 2.0)、检索黄金集(recall@4≥0.8 防退化)

  • 提案制治理:Agent 永不直写 packs,全部经提案落 packs/.proposals/ 人审应用;任务收尾自动复盘(done+verified 触发 kb/index/case 三去向提案)

  • 战役记忆:campaign.db 跨项目记忆库,成功打法索引 + 死路记账负知识分组注入;条件写入(verified 产出/ exploited 链/ FP-only/高质量复盘四档)

 浏览器与 Web Fuzzer

  • 内置浏览器:持久化上下文默认 ignore_https_errors=True(导航前必经资产白名单硬校验);抓包、拦截、重放、爆破;Playwright MCP 复用项目内嵌浏览器

  • 重放工作台:顶级"重放"视图,raw 报文编辑 → 发送 → 完整响应;传输双路:默认 httpx,国密 TLS 切 Go gmtls sidecar(tools/gmhttp/,Python 无 SM 套件 TLS 栈的通行解法);二进制缺失绝不静默降级成普通 TLS

  • 代理池:托管外部 fir-proxy 为全局单池,抓取→验证→清理闭环,多目标内容指纹交叉验证识别劫持型出口,后台巡检线程自动补池

 逆向领域集成

  • 反编译双通道:IDA headless 优先 → Ghidra analyzeHeadless 兜底(按 sha256 缓存,export_version=3 契约)+ IDA GUI MCP 实时桥(loopback 13337)

  • 大样本加速:≥20MB 样本 Ghidra 多进程并行分片主产(workers 默认 CPU-1,上限 16 防 OOM);控制文件交换进度;协作式停止保留部分结果;全局 sha 缓存跨项目零重导

  • 分析包基础层:安全导入(拒路径穿越/符号链接,限大小/深度/数量);manifest hash 内容树复用;自动识别 PE/ELF/Mach-O/DEX/APK/AAB;ANALYZER_REGISTRY 插件化

  • 三层数据纪律:客观全量层(headless 导出缓存)/ 主观分析层 / 产物分离

情报系统(core/intel)

NVD/CISA KEV/GHSA + RSS 抓取,LLM 三处降级链(LLM→规则/模板→放弃)保证永不上 503;upsert 只升不降;Obsidian vault 只读圣域(笔记正文永不出本机);16 端点触发式生命律动(全站唯一零轮询主视图)。

快速开始

环境要求

  • Windows 10/11(推荐)

  • Python 3.11+

  • Node.js 和 npm

  • 可选:Docker、WSL2

安装与启动

# 后端

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[api]"
python -m pip install -e ".[browser]"   # 可选:浏览器能力
python -m playwright install chromium

# 前端

cd webui && npm install && npm run build

# 启动(最简单:双击 启动平台.bat)

python scripts/serve.py            # 后端 http://127.0.0.1:8420
python scripts/serve.py --window   # 桌面窗口模式

API 文档位于 http://127.0.0.1:8420/docs。

目录结构

core/        后端核心:API、智能体、黑板、编排、LLM、浏览器、运行时
packs/       能力包与场景轨(capabilities × tracks、experts/、kb/)
tools/       逆向、情报和 MCP 工具适配器(registry.json 工具链注册表)
webui/       React + TypeScript 前端
workspaces/  项目工作区、样本包和任务现场(顶层只允许项目目录 + .trash/)
config/      本地配置与供应商设置(敏感凭据不入库不入日志)
data/        全局运行时数据(campaign.db、decompiler-cache、proxy/)
scripts/     启动、迁移、构建和维护脚本
docs/        方案与补充文档
tests/       自动化测试(700+ 用例)

安全边界与开发硬约束

  1. 黑板所有写操作必须经 Core API 单一入口,禁止旁路直写存储

  2. 不可信代码只允许在 Docker 容器执行(WSL 信任级 = 宿主机)

  3. 安全默认值宁严勿松:未知样本默认按恶意处理,L3 沙箱 + fakenet

  4. Agent 无裸 shell,一切命令经 run(cmd, runtime) 网关 + 服务端策略校验

  5. 宁严勿松策略(THREAT_ALLOWED、unknown→按恶意等)永不前端可编辑

  6. 逆向和动态分析应在授权范围内进行,样本、凭据和外部目标的处理责任由使用者承担

相关学习资料