fthsrbst/TIRPAN

GitHub: fthsrbst/TIRPAN

一款基于 ReAct 循环的 AI 自主渗透测试智能体,能自动完成从网络侦察到漏洞利用的全流程并生成带 CVSS 评分的结构化报告。

Stars: 6 | Forks: 0

TIRPAN # TIRPAN **目标入侵侦察、渗透与自主节点** *一款像高级渗透测试专家一样思考和执行的 AI 智能体。* [![许可证](https://img.shields.io/badge/license-Non--Commercial-blue.svg)](LICENSE) [![Python](https://img.shields.io/badge/python-3.11+-blue.svg)](https://python.org) [![FastAPI](https://img.shields.io/badge/FastAPI-0.110+-green.svg)](https://fastapi.tiangolo.com) [![测试](https://img.shields.io/badge/tests-329%20passing-brightgreen.svg)]() [![覆盖率](https://img.shields.io/badge/coverage-79%25-green.svg)]() [![状态](https://img.shields.io/badge/status-active%20development-orange.svg)]() [![仅限授权使用](https://img.shields.io/badge/use-authorized%20environments%20only-red.svg)](docs/05_SAFETY_AND_LEGAL.md) **其他语言版本:** [Türkçe](README.tr.md)
给 TIRPAN 一个目标和范围,剩下的交由它处理。 该智能体会扫描网络、枚举服务、搜索已知漏洞、选择并执行最佳攻击路径、执行后渗透侦察,并生成带有 CVSS 评分的结构化漏洞报告——所有这一切均自主、实时进行,并内置了一键终止开关。 ## 演示 [![TIRPAN 演示](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/c6266f19f4062017.gif)](https://www.youtube.com/watch?v=t5nF3lujWJg) ## 工作原理 TIRPAN 运行一个 **ReAct 循环** —— 推理、行动、观察、反思 —— 持续进行,直到任务完成或所有目标达成。 ``` Operator: "Scan 192.168.1.0/24, exploit what you find, collect post-exploitation data." TIRPAN: [Thought] No hosts discovered yet. Starting ping sweep. [Act] nmap_scan — ping sweep on 192.168.1.0/24 [Observe] 4 live hosts: .5, .10, .23, .42 [Thought] Running full service detection on all hosts in parallel. [Act] nmap_scan — service scan x4 [Observe] Host .5: SMB/445 (Windows Server 2008 R2), SSH/22, HTTP/80 [Thought] SMB on an old Windows host. Checking for EternalBlue. [Act] searchsploit_search — "ms17-010" [Observe] exploit/windows/smb/ms17_010_eternalblue — CVSS 9.8 [Thought] Critical severity, high confidence. Running exploit with post-commands. [Act] metasploit_run — ms17_010_eternalblue + post_commands [Observe] Shell opened. Session 1. whoami: NT AUTHORITY\SYSTEM [Thought] Root shell on .5. Recording recon. Moving to next host. ... [Act] generate_report [Done] 3 critical findings. HTML and PDF reports saved. ``` 每一步都能在 Web UI 中实时可见。每一个动作都会被记录以供审计。 ## 当前功能 (V1) | 功能 | 详情 | |------------|--------| | 网络发现 | 对任何 CIDR 范围执行 Ping 扫描 | | 服务枚举 | 带有版本和操作系统检测、NSE 脚本的全端口扫描 | | 漏洞搜索 | 针对每个发现的服务和版本进行 SearchSploit / ExploitDB 查询 | | 漏洞利用 | Metasploit RPC 及 msfconsole 降级方案;自动 payload 选择;并行漏洞利用批处理 | | 后渗透 | 内联后渗透命令,持久 SSH 会话,绑定和反向 shell,脚本上传与执行 | | 报告生成 | 包含每个发现项的 CVSS v3.1 评分的 HTML 和 PDF 报告 | | 实时 UI | 基于 WebSocket 流式传输智能体的每个想法、动作和结果 | | 知识库 | 记录哪些漏洞成功利用了哪些服务版本的跨会话记忆 | | 审计日志 | 仅追加的日志记录,包含每个动作的时间戳、目标和结果 | | 终止开关 | 一键或一个信号立即停止所有操作 | **运行时注册的工具:** `nmap_scan`、`searchsploit_search`、`metasploit_run`、`ssh_exec`、`shell_exec` ## 架构 ``` +----------------------------------------------------------+ | TIRPAN | | | | +----------+ +----------------------------------+ | | | Web UI |<--->| FastAPI — REST + WebSocket | | | +----------+ +----------------+-----------------+ | | | | | +------------v-----------+ | | | ReAct Agent Core | | | | | | | | Reason -> Act -> | | | | Observe -> Reflect | | | | | | | | +----------------+ | | | | | Safety Guard | | | | | | (every action) | | | | | +----------------+ | | | +------------+-----------+ | | | | | +------------v-----------+ | | | Tool Registry | | | | | | | | nmap_scan | | | | searchsploit_search | | | | metasploit_run | | | | ssh_exec | | | | shell_exec | | | | [+ plugins] V2+ | | | +------------------------+ | | | | +---------------------+ +--------------------------+ | | | LLM Layer | | SQLite Database | | | | OpenRouter + Ollama| | Sessions / Findings / | | | | (cloud or local) | | Knowledge Base / Audit | | | +---------------------+ +--------------------------+ | +----------------------------------------------------------+ ``` **设计原则:极简核心,庞大的插件扩展面。** ReAct 循环、安全层和 LLM 客户端是稳定的。每一个攻击能力都是一个插件。 ## 快速开始 **前置条件:** Python 3.11+、Nmap 7.94+、Metasploit Framework 6.x、SearchSploit ``` # Clone git clone https://github.com/fthsrbst/tirpan.git cd tirpan # 安装依赖项 python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt # 配置 cp .env.example .env # 为 cloud LLM 设置 OPENROUTER_API_KEY,或配置 OLLAMA_MODEL 用于本地推理 # 启动 Metasploit RPC(漏洞利用所必需;仅扫描模式请跳过) msfrpcd -P your_password -S # 启动 web UI python3 main.py # 打开 http://localhost:8000 # 或者从终端运行 headless python3 main.py run --target 192.168.1.0/24 --mode full_auto --scope 192.168.1.0/24 ``` **使用 Docker 快速搭建实验环境:** ``` # 启动一个易受攻击的目标 (Metasploitable 2) docker run -d --name target tleemcjr/metasploitable2 # 将 TIRPAN 指向它 python3 main.py run --target $(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' target) ``` ## CLI 参考 TIRPAN 在两种模式下运行:**Web UI**(默认)和 **终端**(无头模式)。 ### Web UI ``` python3 main.py [--host HOST] [--port PORT] [--no-reload] [--log-level LEVEL] ``` | 标志 | 默认值 | 描述 | |------|---------|-------------| | `--host` | `127.0.0.1` | 绑定地址 | | `--port` | `8000` | 监听端口 | | `--no-reload` | 关闭 | 禁用热重载 | | `--log-level` | `info` | debug / info / warning / error | ### 终端模式 ``` python3 main.py run --target TARGET [options] ``` | 标志 | 默认值 | 描述 | |------|---------|-------------| | `--target` / `-t` | 必填 | IP、CIDR、主机名或 URL | | `--mode` / `-m` | `scan_only` | `full_auto` / `ask_before_exploit` / `scan_only` | | `--scope` | `0.0.0.0/0` | 硬 CIDR 边界 —— 智能体不能离开此范围 | | `--exclude-ips` | — | 逗号分隔的要完全跳过的 IP | | `--exclude-ports` | — | 逗号分隔的要跳过的端口 | | `--time-limit` | `0` (无) | N 秒后自动停止 | | `--rate-limit` | `10` | 每秒最大请求数 | | `--max-iterations` | `50` | 最大智能体决策周期 | | `--no-dos-block` | 关闭 | 允许 DoS 类别的漏洞利用(危险) | | `--no-destructive-block` | 关闭 | 允许破坏性漏洞利用(危险) | | `--output` / `-o` | `reports/` | 报告输出目录 | **示例:** ``` # 仅侦察 — 无漏洞利用 python3 main.py run --target 10.0.0.0/24 # 具有范围强制执行和时间限制的全面交战 python3 main.py run --target 10.0.0.1 --mode full_auto --scope 10.0.0.0/24 --time-limit 3600 # 带排除项的扫描 python3 main.py run --target 192.168.1.0/24 --exclude-ips 192.168.1.1,192.168.1.254 --exclude-ports 22,3389 ``` ## 安全护栏 TIRPAN 对每一个动作强制执行十项可配置的安全约束。这些约束无法被 LLM 绕过——它们在任何工具执行前会在一个独立的层中被评估。 | 护栏 | 默认值 | 描述 | |-----------|---------|-------------| | `target_scope` | 必填 | CIDR 边界 —— 智能体不能针对此范围外的 IP | | `allow_exploits` | `true` | 设为 `false` 进入仅侦察模式 | | `no_dos` | `true` | 阻止所有拒绝服务类型的漏洞利用 | | `no_destructive` | `true` | 阻止修改或删除数据的漏洞利用 | | `max_exploit_severity` | `critical` | CVSS 上限 —— 将不会尝试高于此级别的漏洞利用 | | `max_duration_seconds` | `7200` | N 秒后自动停止 | | `max_requests_per_second` | `50` | 速率限制,防止网络中断 | | `excluded_ips` | `[]` | 始终跳过的 IP | | `excluded_ports` | `[]` | 始终跳过的端口 | | `port_scope` | `1-65535` | 将扫描限制在特定端口范围内 | ## 任务配置 对于结构化的任务,TIRPAN 接受 `MissionBrief` 配置,该配置控制范围、权限、凭据和目标。 ``` { "target": "10.0.0.50", "mode": "full_auto", "target_type": "webapp", "speed_profile": "stealth", "objectives": ["find flag.txt", "dump /etc/shadow", "achieve root"], "known_tech": ["apache/2.4", "php/8.1"], "scope_notes": "Production system. Ports 80 and 443 only.", "allow_exploitation": true, "allow_post_exploitation": true, "allow_lateral_movement": false, "excluded_targets": ["10.0.0.1", "10.0.0.254"] } ``` **速度配置:** | 配置 | Nmap 定时 | 行为 | |---------|-------------|----------| | `stealth` | `-T1 --scan-delay 5s` | 慢速、IDS 规避、最小日志痕迹 | | `normal` | `-T3` | 均衡,适用于大多数任务的默认设置 | | `aggressive` | `-T5 --min-rate 5000` | 最快速度,仅限实验室和 CTF 目标 | **支持的凭据类型:** SSH(密码或密钥)、SMB/NTLM、SNMP、数据库(MySQL、PostgreSQL、MSSQL、MongoDB)、HTTP(basic、digest、form、bearer token)。 ## 路线图 TIRPAN 分三个阶段构建。V1 是网络级别的基础——之后的所有功能都将以插件形式提供。 ### V1 — 网络渗透测试 (已完成) - ReAct 智能体循环 (推理、行动、观察、反思) - Nmap / SearchSploit / Metasploit 集成 - 通过 SSH、绑定 shell、反向 shell、脚本执行进行后渗透 - 10 项安全护栏和终止开关 - 具有实时流传输的 Web UI - SQLite 知识库和完整审计日志 - 带有 CVSS v3.1 评分的 HTML 和 PDF 报告 - MissionBrief 结构化配置 - 速度配置:stealth / normal / aggressive - 插件架构 (基础设施已就绪) ### V2 — 完整攻击生命周期 (计划中) **被动侦察** - OSINT:theHarvester、subfinder、amass、crt.sh 证书透明度、Shodan、WHOIS - GitHub 和源代码机密扫描 - DNS 区域传送和子域名枚举 **服务枚举** - SMB:enum4linux-ng、CrackMapExec (共享、用户、密码策略) - LDAP / Active Directory:ldapsearch、ldapdomaindump - SNMP、SMTP、Redis、MongoDB 未授权访问 - DNS 暴力破解和区域传送 **Web 应用程序测试** - 技术指纹识别:WhatWeb、WAF 检测 - 目录和文件发现:Feroxbuster、ffuf、Gobuster - 漏洞扫描:Nuclei (9000+ 模板)、Nikto - SQL 注入:sqlmap (检测和利用) - 跨站脚本:Dalfox、XSStrike - 命令注入:Commix - 服务端模板注入:tplmap - SSRF、XXE、LFI/RFI、文件上传绕过、开放重定向 - JWT 攻击、GraphQL 枚举、OAuth 配置错误 - HTTP 请求走私和反序列化漏洞 **Active Directory 攻击** - BloodHound-python 收集 - 通过 Impacket 进行 Kerberoasting 和 AS-REP roasting - Pass-the-hash:CrackMapExec、evil-winrm - DCSync:impacket-secretsdump **凭据攻击** - 在线暴力破解:Hydra、Medusa - 带有锁定保护的凭据喷洒 - 离线哈希破解:Hashcat、John the Ripper **后渗透** - 自动化 linpeas / winpeas 上传和执行 - 自定义代码生成、上传和在目标上执行 (LLM 编写的 payload) - 权限提升路径分析 **横向移动** - TCP 隧道:Chisel、Socat - Impacket psexec / wmiexec - 内部子网发现和枢轴扫描 **CTF 和漏洞赏金模式** - 自动 flag 检测与捕获 (HTB、THM、CTFd) - 漏洞赏金范围强制执行和范围外阻断 - 为 HackerOne / Bugcrowd 提交模板提供的经 CVSS 过滤的报告 **基础设施** - 带有安装提示的工具健康检查系统 - 插件类型:Python 类、CLI 包装器、REST API 包装器 (CLI 和 API 插件无需代码) - 包含证据、复现步骤和修复建议的结构化 `Finding` 模型 - 用于 CI/CD 和 IDE 集成的 SARIF 输出 - 使用本地 embeddings 的向量搜索知识库 (RAG) ### V3 — XBOW 级别 (计划中) - Coordinator 和 Solver 多智能体架构 - 每个 Solver 的 Docker 隔离工具执行 - 通过 Semgrep 和 LLM 进行的白盒源代码分析 - 针对异常服务行为的 0day 推理 - LLM 生成的自定义漏洞利用脚本 - 用于减少误报的内部 Reviewer 智能体 - CI/CD 流水线集成 (GitHub Actions、GitLab) - 云环境支持 (AWS、Azure、GCP 资产发现) ## 编写插件 任何新的攻击能力都是一个插件。只需三个文件;完全无需触碰核心代码。 **Python 类插件** (复杂逻辑): ``` # plugins/my_tool/tool.py from tools.base_tool import BaseTool, ToolMetadata class MyTool(BaseTool): @property def metadata(self) -> ToolMetadata: return ToolMetadata( name="my_tool", description="Scans for X vulnerability.", parameters={ "type": "object", "properties": { "target": {"type": "string", "description": "IP or hostname"} }, "required": ["target"] }, category="recon", version="1.0.0" ) async def execute(self, params: dict) -> dict: target = params["target"] # implementation return {"success": True, "output": results, "error": None} ``` **CLI 包装器插件** (V2 — 无需 Python): ``` { "name": "nuclei_scan", "type": "cli_wrapper", "binary": "nuclei", "install_hint": "go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest", "args_template": ["-u", "{target}", "-t", "{templates}", "-o", "{output_file}", "-json", "-silent"], "output_format": "jsonlines", "parameters": { "type": "object", "properties": { "target": {"type": "string"}, "templates": {"type": "string", "default": "cves/"} }, "required": ["target"] } } ``` 智能体会自动发现、加载并使用插件——包括将它们作为可用操作暴露给 LLM。 ## 与 XBOW 的对比 XBOW 是目前自主 AI 渗透测试的商业标杆。TIRPAN 是其对应的开源实现。 | 功能 | XBOW | TIRPAN V1 | TIRPAN V2+ | |------------|------|----------|-----------| | 网络扫描和漏洞利用 | 是 | 是 | 是 | | AI 驱动的 ReAct 循环 | 是 | 是 | 是 | | 安全护栏 | 是 | 是 | 是 | | 跨会话知识库 | 是 | 是 | 是 | | 完整审计日志 | 是 | 是 | 是 | | Web 应用程序测试 | 是 | 否 | 是 | | Active Directory 攻击 | 是 | 否 | 是 | | OSINT 和被动侦察 | 是 | 否 | 是 | | 失败时的自我纠正 | 是 | 否 | 是 | | Docker 隔离的工具执行 | 是 | 否 | V3 | | 多智能体协调器架构 | 是 | 否 | V3 | | 开源 | 否 | 是 | 是 | | 免费使用 | 否 | 是 | 是 | | 可扩展的插件生态系统 | 否 | 是 | 是 | | 本地 LLM 支持 | 否 | 是 | 是 | 完整对比:[docs/01_XBOWARISON.md](docs/01_XBOW_COMPARISON.md) ## 技术栈 | 组件 | 技术 | |-----------|------------| | 语言 | Python 3.11+ | | Web 框架 | FastAPI 0.110+ 与 WebSocket 流传输 | | LLM (云端) | OpenRouter —— Claude、GPT-4、Gemini 及其他 | | LLM (本地) | Ollama —— Llama 3、Qwen、Mistral 及其他 | | 攻击工具 | Nmap 7.94+、SearchSploit、Metasploit 6.x (pymetasploit3) | | 数据库 | SQLite 通过 aiosqlite | | 报告生成 | Jinja2 + WeasyPrint (HTML 和 PDF) | | 前端 | 原生 HTML/CSS/JS 搭配 TailwindCSS | | 测试 | pytest + pytest-asyncio + pytest-cov —— 329 个测试,79% 覆盖率 | | 代码检查 | ruff + black | | CLI | argparse + Rich | | 插件加载 | importlib (标准库) | ## 安全测试环境 切勿对您不拥有或未获得明确书面授权测试的系统进行测试。请使用以下环境: | 环境 | 描述 | 设置 | |-------------|-------------|-------| | Metasploitable 2 | 故意存在漏洞的 Linux 虚拟机 | `docker run -d tleemcjr/metasploitable2` | | DVWA | 易受攻击的 Web 应用程序 | `docker run -d vulnerables/web-dvwa` | | HackTheBox | CTF 和实验平台 | hackthebox.com | | VulnHub | 可下载的易受攻击虚拟机 | vulnhub.com | | TryHackMe | 引导式学习实验室 | tryhackme.com | ## 文档 | 文档 | 描述 | |----------|-------------| | [架构](docs/02_ARCHITECTURE.md) | 包含图表的完整系统设计 | | [前置条件](docs/03_PREREQUISITES.md) | 安装与依赖设置 | | [路线图](docs/04_ROADMAP.md) | V1 至 V3 的功能计划 | | [安全与法律](docs/05_SAFETY_AND_LEGAL.md) | 全部 10 项护栏及法律要求 | | [XBOW 对比](docs/01_XBOW_COMPARISON.md) | 功能差异分析 | | [插件系统](docs/09_PLUGIN_SYSTEM.md) | 插件编写指南 | | [V2 功能规范](docs/11_V2_FEATURE_SPEC.md) | 详细的 V2 技术设计 | ## 贡献 TIRPAN 通过其插件生态系统不断发展。欢迎贡献: - **新插件** —— 按照插件指南添加新的攻击类型 - **核心改进** —— 智能体循环、安全层、LLM 客户端 - **Bug 报告** —— 在 GitHub 上开启一个 issue - **文档** —— 改进设置指南和示例 详情请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 法律免责声明 本软件严格仅供在**授权的安全测试环境**中使用——即具有明确书面许可的渗透测试任务、受控实验室环境、CTF 竞赛和学术研究。 使用本软件即表示您同意: - 您将仅测试您拥有或获得明确书面授权测试的系统。 - 您需全权负责遵守所有适用的地方、国家及国际法律。 - 未经授权对您不拥有或缺乏明确许可的系统进行测试,可能构成 CFAA、《计算机滥用法》及其他司法管辖区同等立法下的刑事犯罪。 **作者对因使用或滥用本软件而导致的任何损害、数据丢失、法律后果或其他伤害不承担任何责任。** ## 许可证 [TIRPAN 非商业许可证](LICENSE) —— 供个人、教育和研究免费使用。商业使用需获得作者的明确书面许可。
[为本仓库加星](https://github.com/fthsrbst/tirpan) · [报告 bug](https://github.com/fthsrbst/tirpan/issues) · [请求功能](https://github.com/fthsrbst/tirpan/issues)
标签:AI安全, AI渗透测试, AI风险缓解, AV绕过, Chat Copilot, CISA项目, CTF工具, CTI, CVSS评分报告, FastAPI, Nmap, Python, ReAct推理模型, 云存储安全, 后渗透侦察, 安全规则引擎, 插件系统, 攻击路径规划, 无后门, 无线安全, 服务枚举, 本地模型, 检测规则, 流量嗅探, 漏洞搜索, 目标入侵侦察, 网络安全, 网络安全审计, 网络扫描, 网络资产发现, 自主智能体, 自动化漏洞评估, 虚拟驱动器, 隐私保护