PauloBernardo90/Drake-X

GitHub: PauloBernardo90/Drake-X

一个本地优先、证据驱动的恶意软件分析与威胁调查平台。

Stars: 0 | Forks: 0

Drake-X logo

# Drake-X Drake-X 是一个本地优先、证据驱动的恶意软件分析与威胁 调查平台,适用于 Kali Linux,具备本地 AI 辅助、可重现的工作空间、人工参与操作和可审计的 报告。 Drake-X 将证据组织为 APK/移动恶意分析、原生二进制文件检查、IoC 增强、分析辅助的动态验证, 以及支持收集工作流程(如侦察和网络检查)。它将工具输出规范化为关联的工件、发现、指标和假设, 然后生成可审计的报告,清晰区分观察到的事实、外部情报、分析评估和 AI 支持的推理。 Drake-X 使用 Python 3 编写。它通过子进程调用原生 Kali 工具,但不包含任何仅限 Kali 的 Python 依赖。 ## 仅限授权使用 Drake-X 不是漏洞利用框架。它不执行利用、暴力破解、凭据攻击、载荷生成、后利用、 持久化、横向移动、网络钓鱼或任何形式的武器化。代码和 AI 提示共同约束这一边界。 ## 当前平台状态 Drake-X v1.0 将平台从一个强大的单样本分析工具转变为工作空间级别的证据平台。 证据图以 SQLite 形式持久化,可在工作空间内查询,用于跨样本关联、结构化验证规划、 案例级报告和平台范围的 AI 可审计性。 v0.9 的 PE 漏洞感知层在 v1.0 中保持完整:PE 分析仍能检测与漏洞相关的指标,提取疑似 shellcode 工件,执行有界解码用于分类初筛,评估保护交互,将发现映射到 ATT&CK,并支持 AI 辅助的漏洞感知评估(严格引用证据)。 v1.0 增加了第一类 ELF 分析、带强制来源证明的外部证据摄取、全局图查询、整合的案例报告, 以及一个最小化的实验性作业/队列/工作者基础架构。 重心仍在恶意软件分析、原生检查、情报关联和分析辅助验证。侦察和网络收集仍保留在平台中, 但作为支持性的证据收集领域,而非主要产品身份。 ## 设计原则 - **设计上的人工参与循环。** 操作员声明范围,选择模块,确认主动操作并验证每个发现。 Drake-X 协助分类和报告 — 它从不自主行动。 - **严格的 operator 控制。** 网络面向的收集工作流程需要明确的范围和确认。 样本分析工作流程保持本地优先且保护证据。超出范围或未授权的目标交互默认被拒绝。 - **证据优于假设。** 每个发现都携带 `source`(规则、AI、解析器、操作员)和 `fact_or_inference` 标志。报告从不将 AI 生成的解释作为观察到的事实呈现。 - **本地优先的 AI。** 可选的 LLM 层仅与同一主机上的本地 Ollama 实例通信。代码库中没有远程 AI 客户端。 无遥传。无云端依赖。 - **可重现性和可审计性。** 每个工作空间是一个自包含目录,包含配置、范围、数据库、证据和 仅追加的审计日志。复制该目录即可在另一主机上重现所有报告。 ## 能力 **工作空间模型。** `~/.drake-x/workspaces//` 包含 `workspace.toml`、`scope.yaml`、`drake.db`(SQLite)、`runs/` 和 `audit.log`。 **证据模型。** 结构化的发现、指标、保护措施、活动相似性评估、导入的外部证据, 以及动态验证假设汇聚为一个共享的证据图,并持久化在 SQLite 中。 **恶意软件分析工作流程。** APK 分析、Windows PE 静态分析、 ELF/原生二进制分析(v1.0 第一类工作流)、原生二进制检查、VirusTotal 关联、 Frida 观察模板、Ghidra 深度分析,以及用于分析师审查的证据关联报告。 **跨样本平台能力(v1.0)。** 证据图持久化到 SQLite 并可在工作空间范围内查询。 操作员可通过共享指标、导入、shellcode 前缀和 IOC 值(`drake correlate run -w …`)关联样本。 默认相关器表面针对分析师信号而非原始召回进行了优化:`min_shared` 默认为 `2`, 普遍通用的加载器导入被抑制,稀有重叠比工作空间范围的套话具有更高权重。操作员 可运行全局节点查询以遍历每个持久化图(`drake graph query -w …`); 摄取保留来源的外部证据(`drake ingest evidence …`);生成结构化多域验证计划 (`drake validate plan …`);并生成跨越 PE、APK、ELF 和导入证据的整合案例报告 (`drake report case -w …`)。每个 AI 任务 —— 而不仅仅是 PE 漏洞评估 —— 都通过共享的可审计执行路径运行, 并在工作空间的 `ai_audit/` 目录中写入记录。 一个基于 SQLite 的最小作业/队列/工作者基础架构 (`drake_x.execution`)已就绪并标记为实验性;它是未来队列 + 工作者部署的接缝。 **PE 分析(v0.9)。** `drake pe analyze sample.exe` 解析 PE 头、节、导入、导出和资源。 评估保护状态(ASLR、DEP、CFG、SafeSEH、GS),使用 ATT&CK 映射对导入风险进行分类, 检测结构异常,识别与漏洞相关的指标,提取疑似 shellcode 工件,执行有界解码用于分类初筛, 并评估保护交互。生成包含漏洞感知部分的结构化技术报告。 `pefile` 和 `capstone` 为可选项,缺失时优雅降级。 v0.9 还将 PE 分析写入 **证据图** 作为其规范集成总线(`pe_graph.json`),节点 ID 证据引用 将指标链接到支持的导入、节和保护措施。 使用 `--ai-exploit-assessment`(可选,本地托管的 Ollama 模型)可生成有界的、图检索的漏洞能力评估; 每次调用记录在 `ai_audit/` 下的仅追加审计日志中(`docs/ai-auditability.md`)。使用 `--detection-output` Drake-X 输出 **候选** YARA 规则和 STIX 2.1 包供分析师审查(`docs/detection-outputs.md`); 规则从不作为已验证的检测呈现。 **范围强制。** 操作员声明的范围内和范围外网络资产(域名、通配符、IP、CIDR、URL 前缀)。 范围外规则始终优先;未匹配任何范围内规则的目标默认被拒绝。 **支持收集模块。** `recon_passive`、`recon_active`、`web_inspect`、`tls_inspect`、`headers_audit`、 `content_discovery`、`api_inventory`。 **集成。** 内置:nmap、dig、whois、whatweb、nikto、curl、sslscan。 实际可选:httpx、ffuf、subfinder。 未来工作的存根:amass、naabu、dnsx、nuclei、feroxbuster、eyewitness、testssl。 **任务工作流。** `drake mission run web/recon/apk/full ` 协调多步骤证据收集与分析, 包含进度输出、范围强制和确认门控。参见 [`docs/ux-layer.md`](docs/ux-layer.md)。 **AI 辅助。** `drake assist start ` 提供一个引导式 AI 循环, 建议基于证据的下一步调查步骤,解释推理,并仅在操作员确认后执行。 **流程导航。** `drake flow` 为偏好不记忆子命令名称的操作员提供基于菜单的交互式导航。 **持久化控制台。** `drake console` 打开一个工作空间感知的调查控制台, 包含持久化工作空间/会话上下文、单条横幅渲染,以及在现有 CLI 表面上的命令派发。 **工作空间可观测性。** `drake status` 显示工作空间信息、范围摘要、会话历史、 发现严重性分布、证据图统计和工具可用性,所有信息在一个只读命令中呈现。 **审计日志辅助会话。** 每次辅助模式的建议/确认/执行/跳过步骤都会被持久化。 可通过 `drake assist history` 查看或通过 `drake assist export` 导出。 **自定义任务模板。** 将操作员工作流定义为 `/missions/` 下的 TOML 文件。 可列出、显示并完整执行范围强制。参见 [`docs/operator-control.md`](docs/operator-control.md)。 **安全头审计。**规则的发现,针对缺失的 HSTS、CSP、 X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Cookie 标志和服务器版本泄露。 每个条目关联 CWE 和 OWASP 引用。 **速率限制器。** HTTP 风格的集成尊重每主机节奏和全局并发预算, 两者均在范围配置文件中可配置。 **发现模型。** CWE / OWASP / MITRE ATT&CK 引用、证据回溯、事实与推断标志、 修复占位符、操作员标签。 **本地 AI 辅助。** 基于文件的提示和任务类别: `summarize`、`classify`、`next_steps`、`observations`、`report_draft`、 `dedupe`。所有任务均针对已存储工件运行 —— 它们从不调用外部工具。 **报告输出。** 五种每会话输出格式仍可用: 技术 Markdown、执行摘要 Markdown、JSON、扫描清单和证据索引。 v1.0 还新增 `drake report case`,用于生成跨越持久化会话、关联和验证计划的整合多域案例报告。 **API 清单。** 解析操作员提供的 OpenAPI/Swagger 规范,生成结构化端点清单, 无需发起网络调用。有助于威胁调查的上下文支持。 **APK 恶意软件分析。** 专为 Android 恶意软件分析的管道: 清单解析、权限审计、行为检测、混淆评估、保护检测、活动相似性、 VirusTotal 增强、Frida 动态验证目标,以及可选 Ghidra 深度分析, 并生成结构化的技术报告。参见 [`docs/apk-analysis.md`](docs/apk-analysis.md)。 **证据图。** 结构化发现、工件、指标与评估之间的关系。 节点携带域、类型和来源。边编码 derived_from、supports、related_to 和 duplicate_of 关系。 图在 SQLite 中按会话持久化,可通过 `drake graph show` 和 `drake graph query` 查询, 并被 AI 任务用于图感知推理。 参见 [`docs/evidence-model.md`](docs/evidence-model.md)。 **可审计性。** 每个计划、运行、拒绝、确认和完成事件都会以 JSON 行追加到 `/audit.log`。参与范围在会话开始时快照到数据库。 ## 安装(Kali Linux) ``` sudo apt update sudo apt install -y python3 python3-venv python3-pip \ nmap dnsutils whois whatweb nikto curl sslscan git clone https://github.com/PauloBernardo90/Drake-X.git cd Drake-X python3 -m venv .venv source .venv/bin/activate pip install -e ".[dev]" ``` 验证: ``` drake --help drake tools ``` 完整指南请参见 [`docs/kali-setup.md`](docs/kali-setup.md)。 ## 本地 LLM(可选) Drake-X 不会向远程提供者发送数据。若需本地 AI 辅助, 在同一主机上运行 [Ollama](https://ollama.com/): ``` curl -fsSL https://ollama.com/install.sh | sh ollama pull llama3.2:1b ollama serve & drake ai status -w my-engagement ``` 模型选择与提示词定制请参见 [`docs/llm-setup.md`](docs/llm-setup.md)。 ## 快速导览 ``` # Initialize a workspace drake init my-engagement # Define the engagement scope $EDITOR ~/.drake-x/workspaces/my-engagement/scope.yaml drake scope validate -w my-engagement drake scope check example.com -w my-engagement # Plan and execute supporting passive recon drake recon plan example.com -m recon_passive -w my-engagement drake recon run example.com -m recon_passive -w my-engagement # Execute active recon (requires scope.allow_active=true) drake recon run example.com -m recon_active -w my-engagement --yes # Ingest an OpenAPI spec drake api ingest /path/to/openapi.json -w my-engagement # Malware analysis of an Android APK drake apk analyze sample.apk -o ./apk-output --vt --ghidra # Malware analysis of a Windows PE sample drake pe analyze sample.exe -w my-engagement --vt # Malware analysis of an ELF/native sample drake elf analyze sample.elf -w my-engagement # Correlate sessions across the workspace drake correlate run -w my-engagement # Query persisted graph nodes across the workspace drake graph query -w my-engagement --kind indicator --domain pe # Register and ingest external evidence with mandatory provenance drake ingest register-producer sandbox-prod -w my-engagement --trust high drake ingest evidence ./sandbox.json -w my-engagement --type json # Merge into an analysis session only if the workspace policy explicitly # allows it; release workspaces default to blocking this operation drake ingest evidence ./sandbox.json -w my-engagement --session \ --merge-into-analysis # Build and export a validation plan drake validate plan -w my-engagement drake validate export -w my-engagement -o validation_plan.md # Enter the persistent investigation console drake console # Generate reports drake report generate -f md -w my-engagement drake report generate -f json -w my-engagement drake report generate -f executive -w my-engagement drake report generate -f manifest -w my-engagement drake report case -w my-engagement -o case_report.md # Compare two sessions drake report diff -w my-engagement # Explore the evidence graph drake graph show -w my-engagement drake graph show -w my-engagement --format summary drake graph show -w my-engagement --node --depth 2 drake graph show -w my-engagement --findings --format json # Run AI tasks (requires Ollama) — graph-aware when graph is present drake ai summarize -w my-engagement drake ai classify -w my-engagement drake ai dedupe -w my-engagement --apply # Inspect findings drake findings list -w my-engagement drake findings show -w my-engagement ``` 完整导览请参见 [`docs/usage.md`](docs/usage.md)。 如需紧凑的命令参考,请参见 [`docs/cheat-sheet.md`](docs/cheat-sheet.md)。 ## 文档 - [`docs/README.md`](docs/README.md) — 文档索引 - [`docs/drake-unleashed.md`](docs/drake-unleashed.md) — 引导式平台概览与操作员导览 - [`docs/cheat-sheet.md`](docs/cheat-sheet.md) — 紧凑的 CLI 命令参考 - [`docs/usage.md`](docs/usage.md) — 端到端使用导览 - [`docs/kali-setup.md`](docs/kali-setup.md) — Kali 安装与设置 - [`docs/llm-setup.md`](docs/llm-setup.md) — Ollama 与本地 AI 配置 - [`docs/architecture.md`](docs/architecture.md) — 架构与包布局 - [`docs/safety.md`](docs/safety.md) — 安全与范围强制 ## 安全 Drake-X 通过四层强制执行所有操作: 1. **目标验证** — 拒绝回环、链路本地、多播、保留范围以及过于宽泛的 CIDR,无论范围如何。 2. **参与范围** — 范围外规则优先;未匹配范围内规则的目标默认被拒绝。 3. **操作策略** — 所有集成分为被动、轻量、主动或侵入式。主动与侵入式集成需 `scope.allow_active=true`。 4. **确认门控** — 主动与侵入式集成会提示操作员确认。`--dry-run` 计划不执行。 每个事件均记录在仅追加的审计日志中。完整安全模型请参见 [`docs/safety.md`](docs/safety.md)。 ## 开发 ``` pip install -e ".[dev]" pytest -q ruff check drake_x tests ruff format drake_x tests ``` 包布局、引擎生命周期、存储架构和扩展指南请参见 [`docs/architecture.md`](docs/architecture.md)。 快速 CLI 参考请参见 [`docs/cheat-sheet.md`](docs/cheat-sheet.md)。 ## 非目标 Drake-X 不会也不打算实现: - 漏洞利用执行或 Metasploit 集成 - 暴力破解或凭据攻击 - SQL 注入、XSS、SSRF、CSRF 或 RCE 测试 - 横向移动、持久化或权限提升 - 网络钓鱼或恶意软件模拟 - 执行任意命令的自主智能体循环 - 遥传或向远程 AI 提供商发起网络调用
标签:AI推理, AI辅助分析, AI风险缓解, APK分析, ATT&CK映射, DAST, ELF分析, IoC丰富化, IP 地址批量处理, PE分析, Python 3, SQLite, Web检查, 人机协作, 假设, 分析评估, 动态验证, 原生二进制检查, 可审计报告, 可重现工作区, 后渗透, 外部情报, 外部证据摄取, 威胁调查, 子域名变形, 工件关联, 平台级AI可审计性, 恶意软件分析, 指标, 授权使用, 搜索语句(dork), 收集工作流程, 无Kali专用依赖, 本地优先, 来源证明, 案例级报告, 移动恶意软件, 网络安全审计, 观察事实, 证据图, 证据驱动, 跨样本关联, 速率限制处理, 非利用框架