231 lines
20 KiB
Markdown
231 lines
20 KiB
Markdown
# seep
|
||
|
||
面向大语言模型智能体(Pi Agent、Claude Code、Codex、DeepSeek Harness 等)的**多平台客户端逆向工程与授权流安全审计专精工作台**。深度覆盖 Windows 原生 PE / 动态库、Android APK / DEX / SO、Linux ELF 等二进制目标的特权判定分析、离线许可检验走查(CWE-602)、二进制微创补丁注入、运行时动态插桩以及 CTF 靶标分析。
|
||
|
||
它是一个**面向智能体闭环作业的工程工作台(Agent-Native Workbench)**,而不是泛泛的文字教程:内置了以门控机制(Gate)驱动的总控分发协议(`softseep`)、开箱即用的自动化分析 MCP 工具集、体系化渗透与逆向战术知识库(289 篇)、标准化沙盒执行流水线以及 9 类实战脱敏架构范式库。
|
||
|
||
---
|
||
|
||
## 智能体如何消费与驱动本工作台 (How an agent is expected to consume this)
|
||
|
||
本仓库的指令集与核心入口文件并非供人类漫读的参考文档,而是针对大模型“容易陷入幻觉、偏离授权目标或在长推理链条中发生退缩”这一常见缺陷设计的**程序化执行门禁(Procedures with Gates)**。
|
||
|
||
当任何兼容的 AI Agent 挂载本仓库作为上下文时,其推理逻辑受以下四层机制硬性约束:
|
||
|
||
- **强制门禁(G-Auth & G0–G6)**:任何任务开展前,第一行为永远是判定目标是否属于受权白盒测试资产;随后通过“四问”确定鉴权权威(服务端 vs 客户端本地)与交付形态(补丁 / 内存劫持 / 算号 / 协议中继 / 载荷提取)。任何一步通不过则立即终止或重定向,严禁凭第一性原理盲目逆向。
|
||
- **两击失败熔断纪律(Two-Strike Rule)**:同一假设、同一种内存补丁或逆向利用路径若连续失败两次,立即视为当前技术模型错误,强制回退至上一级判型,严禁进行第三次同构盲试。
|
||
- **先查知识库再动手(Zero-Waste Recon)**:发现特征信号(如特定加壳混淆、JWT、加密通信、驱动对抗、自引用校验)时,禁止从零手写分析脚本,必须优先通过 `seep_kb_search` 索引成熟战术库并直接映射 MCP 工具调用。
|
||
- **完工严格定义(Definition of Done)**:仅有控制台日志无错误绝不等于任务完成。“完成”必须满足端到端证据链闭环:从原始目标指纹、判定点 RVA 逆向还原、补丁或验证 PoC 实施、断网离线实测(确证无云端依赖)到结构化三段式报告交付,缺一不可。
|
||
|
||
---
|
||
|
||
## 本工作台的核心能力 (What it is good at)
|
||
|
||
- **自然语言输入穿透与两级自动判型**:无需使用者记忆繁杂的逆向参数或选单,自然语言下达测试意图(如“分析此程序特权分支”、“定位本地卡密校验”、“去广告”),总控引擎自动提取文件魔数与语义动词,瞬时收敛出“目标平台(Windows / Android / Linux / Web)”与“逆向业务类型(9 类)”,自发路由至最轻量有效的工具链。
|
||
- **客户端鉴权脆弱性走查(CWE-602)与特权分支判定**:在几分钟内断定受限特权是由本地布尔值/时间戳驱动,还是由服务端强验签与远程资产下发决定。严密规避“强改本地标志位导致客户端向服务端索要数据失败从而发生白屏或静默崩溃”的经典伪 VIP 陷阱。
|
||
- **跨平台运行时与商用保护壳对抗分流**:
|
||
- 原生 C/C++ PE:识别已知压缩壳与动态注入通道,指导无源码环境下的免杀代理 DLL 劫持跳板研发与单点分支修正。
|
||
- .NET / Mono:解构元数据流、定位动态 IL 注入点与可逆算法,实现无私钥签名依赖的纯本地算号(Keygen)。
|
||
- Android DEX / SO:基于 JADX / Apktool / Frida 自动识别加壳类型、抽取壳形态,对 Native 层 OLLVM 平坦化分支或签名衍生密钥进行针对性提取与 RPC 服务化转换。
|
||
- 强保护环境(EXECryptor / VMProtect / Denuvo):快速识别 VM stub 特征,果断放弃不可逆的代码还原,自动转向内存态取载荷或外部调用点旁路。
|
||
- **零破坏性与 Authenticode 签名完整性保全**:对于具备官方数字签名的 Windows 关键进程,全流程杜绝直接落盘修改主程序 EXE,统一通过 Windows DLL 搜索顺序劫持(代理系统库如 `version.dll`、`sentry.dll`)在内存加载期施加微创打桩,保全宿主二进制的数字签名合法性。
|
||
- **开箱即用与零外网依赖**:底层工具集(Radare2、JADX、Apktool、Playwright 自动化组件、IDA 桥接适配层等)全量物理预置;核心分析命令均可在隔离沙箱与离线网络中稳定执行。
|
||
- **多模型推理防御与无感合规降拒**:内置实验环境状态机(Lab Mode)、底座级请求放行映射与思维重定向词表,彻底消除模型在面对逆向与攻防术语时的主观推诿与虚假拒绝。
|
||
|
||
---
|
||
|
||
## 目录结构体系 (Structure)
|
||
|
||
本工作台遵循严格的组件分层与渐进式披露规范:
|
||
|
||
```
|
||
Seep\ (251 MB)
|
||
├── README.md ← 全局架构与工作台标准规范说明(本文件)
|
||
├── CLAUDE.md ← 面向 Claude Code 的项目级原生指令
|
||
├── .mcp.json ← 项目级标准 MCP 注册配置文件(供 Claude Code / OpenCode 读取)
|
||
├── DSH-PROFILE.md ← 面向 DeepSeek Harness 的 Cordis 插件配置模板
|
||
│
|
||
├── Tool\ ← 工作台核心资产仓
|
||
│ ├── skill\ ← 9 大逆向与白盒审计专业 Skill
|
||
│ │ ├── softseep\ ← ⭐ 核心总控 Skill(主控路由 + 8 大专题按需加载库)
|
||
│ │ ├── apkseep\ ← Android 移动端一体化逆向全链路专精 Skill(115 个工程文件)
|
||
│ │ ├── ida-reverse\ ← IDA Pro 自动化唤醒、无头探测与 MCP 深度分析协同
|
||
│ │ ├── client-license-validation-bypass\ ← 跨运行时通用许可/卡密校验战术手册
|
||
│ │ └── safe-skills\ ← 5 组独立战术包(通用逆向 / APK 差分 / Radare2 / JS 逆向 / IDA 辅助)
|
||
│ │
|
||
│ ├── mcp\ ← 自动化工具服务层(MCP Engine)
|
||
│ │ ├── seep_mcp_server.py ← seep 核心自研 MCP 服务端(承载 22 个底层分析与知识库工具)
|
||
│ │ ├── mcp.json.template ← 全局 MCP 挂载配置标准模板
|
||
│ │ └── Tool\ ← ⚠️ MCP 内部强约束底层工具运行时(严格保持相对路径)
|
||
│ │ ├── safe\ ← 已物理内置的跨平台逆向工具箱(JADX、Radare2、Apktool、Hook 引擎等)
|
||
│ │ └── reverselab\ ← 攻防知识库核心(687 个架构文件,含 289 篇系统化战术实战笔记)
|
||
│ │
|
||
│ ├── prompts\ ← 智能体协同规范与扩展注入层
|
||
│ │ ├── SYSTEM.md ← Pi Agent 专用系统指令(包含 Lab 状态机、反退缩规则、SOP 约束)
|
||
│ │ ├── AGENTS.md ← 跨 Agent(Codex、OpenCode 等)无状态通用指令规范
|
||
│ │ └── extensions\ ← 运行时底层拦截器(安全解封注入与口令自动转译)
|
||
│ │
|
||
│ ├── cases\ ← 9 大经典实战脱敏架构工程库(项目 A ~ 项目 I)
|
||
│ │ ├── 项目A\ (单进程离线) ├── 项目B\ (多进程协同) ├── 项目C\ (资源模板与显示层伪造)
|
||
│ │ ├── 项目D\ (壳保护多策略) ├── 项目E\ (VM 保护在线核验)├── 项目F\ (.NET 混淆可逆算法算号)
|
||
│ │ ├── 项目G\ (自引用校验补丁) ├── 项目H\ (公钥密文替换) ├── 项目I\ (弱模 RSA 验签入口补丁)
|
||
│ │
|
||
│ ├── upstream\ ← 上游溯源验证层(apk-reverse 开源验证集与离线回归测试套件)
|
||
│ ├── docs\ ← 运维与工程标准文档库(MCP 验证、下载溯源、资产依赖总清单)
|
||
│ └── scripts\ ← 工作空间管理与自动化辅助脚本集(建档、签名、IDA 启动挂载等)
|
||
│
|
||
├── setup\ ← 自动化安装、依赖配置与环境健康自检脚本
|
||
└── MANUAL\ ← 基础设施依赖与商业环境自备说明(Python、Node、IDA Pro 授权等)
|
||
```
|
||
|
||
---
|
||
|
||
## 核心分析链路与技术范畴 (Scope)
|
||
|
||
本工作台深度聚焦于**CTF 攻防、跨平台逆向工程、Android 移动安全与二进制深度分析**,将常见的工业级防御、私有虚拟机与授权校验机制抽象为四大核心领域:
|
||
|
||
### 1. CTF 攻防竞赛与 Web/二进制靶标分析 (CTF & Challenge Workflows)
|
||
- **实战攻防网络路由(Attack-Network Routing)**:
|
||
基于内置 `reverselab` 体系,以“信号检测 → 战术检索(`seep_kb_search`)→ 现成 PoC/模板装配 → MCP 工具执行”的确定性链条驱动。
|
||
- **Web 靶标与复杂协议研判**:
|
||
覆盖 JWT 弱签及 KID 注入、SSRF 链路穿透、SSTI 模板注入、原型链污染、反序列化 Gadget Chain 匹配及无 Schema 约束的 Protobuf 逆向解析。
|
||
- **竞赛自动化提效支撑**:
|
||
提供标准化的漏洞测试种子库(`seep_kb_payloads`)与应急排查清单(`seep_kb_checklist`),杜绝临场手写脆弱性探测脚本。
|
||
|
||
### 2. 客户端决策与授权体系审计(CWE-602)
|
||
- **权威定性模型**:通过断网、回环拦截、时钟偏移等动态观测手段,判定权益授予的真实裁决方。
|
||
- **九大典型架构范式闭环**:
|
||
- **单进程单点布尔判断(项目 A 型)**:标量函数出口修正(如 `mov eax, 1; ret`)。
|
||
- **现代多进程拓扑(项目 B 型)**:前台渲染层、守护服务与虚拟机 IPC 通信的跨进程分流过滤与三层状态护航。
|
||
- **资源模板与显示层重构(项目 C 型)**:双射掩码混淆解析;针对自研皮肤引擎下沉至 `SetDlgItemTextW` 的 IAT Hook 显示层文案伪造。
|
||
- **压缩壳与混合激活(项目 D 型)**:MPRESS 壳分析、18 点微创二进制修补、签名数据目录截断剥离与 Windows ACL 注册表试用期冻结。
|
||
- **代码虚拟化与集中裁决(项目 E 型)**:面对不可直接还原的 EXECryptor VM 验签过程,利用其判定函数复用特征,实施 2 点 Call 指令重定向至内存 Stub。
|
||
- **托管混淆与纯算号路径(项目 F 型)**:针对 .NET 动态方法体剥离实施 Harmony 内存转储,还原 96 位组合哈希算法,构造离线合规 Keygen。
|
||
- **自引用校验处理(项目 G 型)**:识别载荷对自身 SHA-384 哈希校验的死结特征,转向入口点 5 字节微创修补并部署登录项守护。
|
||
- **非对称公钥就地替换(项目 H 型)**:利用 Ed25519 内嵌公钥密文流的单向推导漏洞,在可执行文件内部以相同密码流重写自持公钥,签发自定义载荷。
|
||
- **高阶数字签名入口旁路(项目 I 型)**:分析 CNG 结构与弱模数 RSA 滑动窗口特征,直接对导出接口施加激活态注入。
|
||
|
||
### 3. Android 移动安全与全链路逆向 (Android & DEX/SO Deep Analysis)
|
||
- **DEX 层微创手术与字节级修补**:
|
||
提供等长字节修补机制(规避重排校验与方法膨胀)、Dex 头部校验和/SHA-1 签名逆向重算规则,对抗 R8 深度优化代码混淆。
|
||
- **加壳防护与抽取壳深度辨析**:
|
||
建立 Java2C(编译下沉至 SO)、原生落地壳、抽取壳(Trivial-body ratio 判定)与私有 Dex-VMP 差分分析的明确诊断树,杜绝盲目倾倒空壳 DEX。
|
||
- **运行时环境自检与对抗绕过**:
|
||
涵盖设备 Root 检测规避、多层 SSL Pinning 证书绑定剥离、基于 Frida 的 Native 动态插桩与基于 Frida-RPC 的跨进程服务化调用。
|
||
- **构建与签名工程完备性**:
|
||
封装自动化重打包流水线,原生处理 `resources.arsc` 的 STORED 状态与 4 字节边界对齐(Zipalign),实施 v1+v2+v3 完整数字证书重签名。
|
||
|
||
### 4. 二进制反编译、动态分析与 Native 逆向 (PE/ELF/Mach-O Native RE)
|
||
- **多平台底层静态解剖**:
|
||
- 基于内置 Radare2 执行无头模式的架构探测、节区熵分析、符号提取、反汇编与类 C 伪代码生成。
|
||
- 挂载 IDA Pro MCP 服务,全自动反编译函数、重命名局部符号、恢复复杂结构体与交叉引用追踪。
|
||
- **底层防御机制识别与规避**:
|
||
深入研判进程自杀式故意崩溃(如特意触发 `fault addr 0x4` 等空指针陷阱以伪装缺陷)、线程守卫注入、系统调用(Raw `svc`)直接调用以及内核级驱动对抗,给出“以返回正常状态代替强制挂起死循环”的防进程锁死规范。
|
||
|
||
---
|
||
|
||
## 工具链与自动化服务矩阵 (Tools & MCP Matrix)
|
||
|
||
工作台底层挂载的自研 `seep` MCP 服务直接暴露出 22 项专用分析工具,由智能体在分析过程中依据战术需要自主调用:
|
||
|
||
| 分类 | 工具标识 | 核心功能 |
|
||
|---|---|---|
|
||
| **状态检测** | `seep_status` | 快速核对底层 Radare2、JADX、Apktool 及知识库的就绪状态 |
|
||
| | `seep_ida_status` | 探测 IDA Pro 远程 MCP 服务的连通性 |
|
||
| **二进制分析 (R2)** | `seep_r2_info` | 读取目标文件架构、位宽、大小端以及安全缓解机制(DEP/ASLR/Canary/PIE) |
|
||
| | `seep_r2_strings` | 提取可读字符串并支持基于关键词的正则过滤 |
|
||
| | `seep_r2_functions` | 枚举二进制内部函数拓扑、导入导出表及入口点 |
|
||
| | `seep_r2_disasm` | 输出指定函数或虚拟地址的高精度反汇编文本与交叉引用标记 |
|
||
| | `seep_r2_decompile` | 调用反编译引擎直接输出类 C 伪代码 |
|
||
| | `seep_r2_diff` | 对两个二进制样本实施代码级或十六进制差异比对 |
|
||
| | `seep_r2_asm` | 汇编单条指令为机器码或将 Hex 反解析为汇编语法 |
|
||
| | `seep_r2_cmd` | 执行底层 radare2 管道命令 |
|
||
| **Android 逆向** | `seep_apk_info` | 免安装快速解析 APK 的清单文件、组件声明、签名与架构 |
|
||
| | `seep_apk_decompile` | 调度内置 JADX 引擎输出反混淆后的 Java 源码工程 |
|
||
| | `seep_apk_unpack` | 调度 Apktool 解析明文资源与 Smali 汇编树 |
|
||
| | `seep_apk_smali_search`| 在 Smali 代码树中极速搜索密钥、API 路由或安全门禁位点 |
|
||
| | `seep_apk_gen_hook` | 根据类与方法签名自动生成开箱即用的 Frida 运行时拦截脚本 |
|
||
| **知识库检索** | `seep_kb_search` | 在 289 篇战术实战笔记中进行全文检索,输出最佳匹配的攻击面与代码片段 |
|
||
| | `seep_kb_read` | 精确读取特定技术主题手册全文 |
|
||
| | `seep_kb_checklist` | 输出专项安全排查核对清单与战术矩阵 |
|
||
| | `seep_kb_payloads` | 提取针对特定常见漏洞与认证协议的高危安全测试载荷模板 |
|
||
| **流水线编排** | `seep_task_init` | 在隔离工作区内一键初始化标准化白盒审计沙盒任务档案 |
|
||
| | `seep_auto_triage` | 对未知二进制样本执行全量快速体检 |
|
||
| | `seep_gen_security_report`| 自动归纳当前任务目录的逆向成果并输出三段式合规交付报告 |
|
||
|
||
---
|
||
|
||
## 部署规范与各智能体适配 (Deployment & Harness Integration)
|
||
|
||
本工作台针对当前主流智能体环境提供了一体化分发适配:
|
||
|
||
### 1. 运行依赖要求 (Prerequisites)
|
||
- **操作系统**:Windows 10 / 11 x64(主推荐)或兼容 Linux / macOS 环境。
|
||
- **基础运行时**:Python 3.11+、Node.js 18+、Git。
|
||
- **环境初始化**:进入项目根目录的 `setup/`,在终端执行自动化配置脚本:
|
||
```powershell
|
||
cd setup
|
||
powershell -ExecutionPolicy Bypass -File .\install.ps1
|
||
```
|
||
该脚本将自动校验内置离线工具的完好性、解压运行库归档、补齐 Python `mcp` 协议支持,并完成环境自检。
|
||
|
||
### 2. 各主流智能体环境接入方式
|
||
|
||
| 智能体平台 | 核心指令来源 | MCP 服务挂载点 | 接入说明 |
|
||
|---|---|---|---|
|
||
| **Pi Agent** | `Tool/prompts/SYSTEM.md` | `~/.pi/agent/mcp.json` | 运行 `install.ps1` 自动完成用户级配置写入与技能注册 |
|
||
| **Claude Code** | 项目根 `CLAUDE.md` | 项目根 `.mcp.json` | 在工作台根目录直接执行 `claude` 命令,自动读取上下文 |
|
||
| **DeepSeek Harness (DSH)** | `Tool/prompts/AGENTS.md` | `DSH-PROFILE.md` (Cordis YAML) | 将通用指令部署至工作目录,将 MCP 插件配置写入 DSH Profile |
|
||
| **OpenCode / Codex** | 项目根 `AGENTS.md` | 客户端全局配置 | 复制 `AGENTS.md` 至当前项目工作根目录即可 |
|
||
|
||
---
|
||
|
||
## 操作工作流与交互规范 (Quick Start)
|
||
|
||
### 1. 实验工作环境打卡 (Lab Mode Protocol)
|
||
为了在日常对话与敏感逆向测试之间建立清晰边界,工作台设计了不依赖长文本记忆的磁盘状态切换机制:
|
||
- **进入测试工作环境**:向智能体发送:
|
||
```
|
||
lab:
|
||
```
|
||
*(或直接跟附任务:`lab:分析样本 X.exe`)*
|
||
智能体将在本地标记实验环境开启,随后全量加载逆向技术映射、思维重定向与防拒绝策略。在后续工作中,**无需重复携带任何前缀**。
|
||
- **退出测试工作环境**:发送 `退出实验`,智能体即刻卸载状态标记,恢复日常常规对话。
|
||
|
||
### 2. 常用任务口令 (Task Shortcuts)
|
||
在实验环境开启状态下,可直接通过标准化前置口令触发全套审计流水线:
|
||
- `poc <目标>`:快速展开客户端特权决策脆弱性(CWE-602)排查并生成验证代码。
|
||
- `find-auth <目标>`:全局检索本地授权、许可证、到期时间、机器码相关函数与判定分支。
|
||
- `hook <函数/方法>`:针对指定符号自动生成带堆栈打印与返回值拦截的 Frida 验证脚本。
|
||
- `gen-patch <位点>`:输出指定 RVA 或文件偏移的二进制内存补丁代码或代理 DLL 框架。
|
||
- `triage <样本>`:执行包括架构、导入表、加壳形态与关键字符串在内的快速体检。
|
||
- `report`:一键扫描当前分析目录留存的全部技术证据,自动导出符合行业交付规格的三段式安全审计报告。
|
||
|
||
---
|
||
|
||
## 交付与报告标准 (Deliverable Specification)
|
||
|
||
任何针对客户端脆弱性的研判与审计,最终产物统一固化为咨询级安全报告架构,杜绝模糊推测:
|
||
|
||
1. **脆弱性原理与业务危害 (Vulnerability Detail & Risk)**:
|
||
- 准确定位问题指令所处的 RVA / 文件偏移与调用链上下文。
|
||
- 深入阐述客户端判定与业务剥离的根因,明确关联 CWE-602 等行业安全分类与威胁等级。
|
||
2. **复现路径与可验证工程 (Reproduction & PoC)**:
|
||
- 提供 100% 可在本地沙盒复算的指令证据、代理 DLL 源代码工程或 Frida 动态注入脚本。
|
||
- 提供严格的断网测试验证结论(证明相关特权或决策分支脱离服务端验证依然能够在离线状态下强行生效)。
|
||
3. **纵深防御修复方案 (Defense-in-Depth Remediation)**:
|
||
- **加载期**:收敛动态链接库搜索路径(`SetDefaultDllDirectories`)杜绝环境劫持。
|
||
- **运行期**:启用进程级动态代码策略(`ProcessDynamicCodePolicy`)封锁非法内存属性改写。
|
||
- **逻辑层**:确立“服务端权威”原则,关键受限资源以服务端动态签名与短期令牌为唯一授权凭据。
|
||
|
||
---
|
||
|
||
## 免责声明 (Disclaimer)
|
||
|
||
**本工作台及其所载之一切文档、规则、脚本与工程范例仅供合法授权的安全研究、白盒安全走查、合规漏洞测试及 CTF 教学演练使用。**
|
||
|
||
- **严格授权约束**:使用者在针对任何具体软件、客户端或系统展开分析前,必须自行确保已取得资产所有者完备、合法的书面测试授权。
|
||
- **无附带保证**:本工作台提供的所有技术方案与分析结论均基于特定沙盒环境与软件版本的实测结果按“现状”提供,不构成对任何特定商业软件或生产环境的适用性保证。
|
||
- **最小侵入原则**:针对二进制目标的测试工作应优先在隔离虚拟机或独立副本中开展,严禁在生产系统或未经许可的网络中实施未受控的逆向测试与补丁注入。
|
||
- **免责条款**:工作台作者与贡献者不对任何因不当使用、超出授权范围操作或违反属地法律法规所导致的任何直接或间接后果承担法律责任。
|