AI渗透工具——基于大型模型的自主渗透测试智能体鸾鸟(LuaN1ao)

鸾鸟Agent------ **认知驱动的 AI 黑客**


📖 简介

鸾鸟 (LuaN1ao) 是新一代基于大模型的自主渗透测试智能体

传统自动化扫描工具依赖预定义规则,难以应对复杂多变的实战场景。鸾鸟突破这一局限,创新性地融合了 P-E-R (Planner-Executor-Reflector) 智能体协同框架因果图谱推理 (Causal Graph Reasoning) 技术。

鸾鸟模拟人类安全专家的思维方式:

  • 🎯 战略规划:基于全局态势动态规划攻击路径
  • 🔍 证据驱动:构建严密的"证据-假设-验证"逻辑链
  • 🔄 持续进化:从失败中学习,自主调整战术策略
  • 🧠 认知闭环:规划-执行-反思,形成完整的认知循环

从信息收集到漏洞利用,鸾鸟将渗透测试从"自动化工具"提升为"自主智能体"。

🖼️ 展示


🚀 核心创新

1️⃣ P-E-R 智能体协同框架 ⭐⭐⭐

鸾鸟将渗透测试思维解耦为三个独立且协作的认知角色,形成完整的决策闭环:

  • 🧠 Planner (规划器)

    • 战略层大脑:基于全局图谱进行动态规划
    • 自适应能力:识别死胡同,自动生成备选路径
    • 图操作驱动:输出结构化的图编辑指令而非自然语言
    • 并行调度:基于拓扑依赖自动识别可并行执行的任务
  • ⚙️ Executor (执行器)

    • 战术层执行:专注于单一子任务的工具调用和结果分析
    • 工具编排:通过 MCP (Model Context Protocol) 统一调度安全工具
    • 上下文压缩:智能管理消息历史,避免 token 溢出
    • 容错重试:自动处理网络瞬时错误和工具调用失败
  • ⚖️ Reflector (反思器)

    • 审计分析:复盘任务执行,验证产出物有效性
    • 失败归因:L1-L4 级失败模式分析,防止重复错误
    • 情报生成:提取攻击情报,构建知识积累
    • 终止控制:判断目标达成或任务陷入困境

关键优势:角色分离避免了单一 Agent 的"精神分裂"问题,每个组件专注于其核心职责,通过事件总线协作。

2️⃣ 因果图谱推理 (Causal Graph Reasoning) ⭐⭐⭐

鸾鸟拒绝盲目猜测和大模型幻觉,构建显式的因果图谱来驱动测试决策:

复制代码

核心原则

  • 证据必须先行:任何假设都需要明确的前置证据支撑
  • 置信度量化:每个因果边都有置信度评分,避免盲目推进
  • 可追溯性:完整记录推理链条,支持失败溯源和经验复用
  • 防止幻觉:强制要求证据验证,拒绝无根据的攻击尝试

示例场景

复制代码
Evidence: 端口扫描发现 3306/tcp 开放
  ↓ (置信度 0.8)
Hypothesis: 目标运行 MySQL 服务
  ↓ (验证成功)
Vulnerability: MySQL 弱口令/未授权访问
  ↓ (尝试利用)
Exploit: mysql -h target -u root -p [爆破/空密码]

3️⃣ Plan-on-Graph (PoG) 基于图的动态任务规划 ⭐⭐⭐

告别静态任务清单,鸾鸟将渗透测试计划建模为动态演进的有向无环图 (DAG)

核心特性

  • 图操作语言 :Planner 输出标准化的图编辑操作 (ADD_NODE, UPDATE_NODE, DEPRECATE_NODE)

  • 实时自适应 :任务图随测试进度实时变形

    • 发现新端口 → 自动挂载服务扫描子图
    • 遇到 WAF → 插入绕过策略节点
    • 路径不通 → 自动修剪或分支规划
  • 拓扑依赖管理 :基于 DAG 拓扑自动识别并并行执行无依赖任务

  • 状态追踪 :每个节点包含状态机 (pending, in_progress, completed, failed, deprecated)

与传统规划的对比

特性 传统 Task List Plan-on-Graph
结构 线性列表 有向图谱
依赖管理 手动排序 拓扑自动排序
并行能力 自动识别并行路径
动态调整 重新生成 局部图编辑
可视化 困难 原生支持 (Web UI)

可视化示例 :启动 --web 模式后,可在浏览器实时查看任务图的演化过程。


核心能力

工具集成 (MCP Protocol)

鸾鸟通过 Model Context Protocol (MCP) 实现工具的统一集成和调度:

  • HTTP/HTTPS 请求:支持自定义 Headers、代理、超时控制
  • Shell 命令执行:安全封装的系统命令调用(建议容器化运行)
  • Python 代码执行:动态执行 Python 脚本用于复杂逻辑处理
  • 元认知工具think(深度思考)、hypothesize(假设生成)、reflect(经验总结)
  • 任务控制halt_task(提前终止任务)

💡 扩展性 :可通过 mcp.json 轻松集成新工具(如 Metasploit、Nuclei、Burp Suite API)

知识增强 (RAG)

  • 向量检索:基于 FAISS 的高效知识库检索
  • 领域知识:集成 PayloadsAllTheThings 等开源安全知识库
  • 动态学习:可持续添加自定义知识文档

Web 可视化 (新架构)

Web UI 现在是一个独立的数据库驱动的服务,支持持久化的任务监控和管理。

  • 实时监控:在浏览器中查看动态任务图的演化和实时日志。
  • 节点详情:点击节点查看详细的执行日志、产出物和状态转换。
  • 任务管理 :支持创建、终止和删除历史任务。
  • 数据持久化 :所有任务数据存储在 SQLite (luan1ao.db) 中,重启后历史记录不丢失。

人机协同 (HITL) 模式

鸾鸟智能体支持人机协同(Human-in-the-Loop, HITL)模式,允许人类专家监督和干预智能体的决策过程。这增强了控制力、安全性,并能在复杂场景中提供专家指导。

  • 启用 : 在 .env 中设置 HUMAN_IN_THE_LOOP=true
  • 审批: 智能体在生成计划(初始或动态)后暂停,等待人类通过 Web UI 或 CLI 进行审批。
  • 修改: 专家可以拒绝或直接修改计划(JSON 编辑)后再执行。
  • 注入: 支持通过 Web UI 实时注入新的子任务("主动干预")。

交互方式:

  • Web UI: 审批模态框自动弹出。使用"修改"按钮编辑计划,或使用"加任务"按钮注入任务。
  • CLI : 提示符为 HITL >。输入 y 批准,n 拒绝,m 修改(会打开系统编辑器)。

🗓️ Roadmap 规划路线

  • \] **经验自进化 (Experience Self-Evolution)** * 跨任务长期记忆 (Long-term Memory) * 自动提取成功攻击模式并存入向量库 * 基于历史经验的智能推荐

    • 高危操作前的人工确认机制
    • 运行时任务图谱编辑界面 (Graph Injection)
    • 专家干预和策略注入
  • \] **工具生态扩容** * 集成 Metasploit RPC 接口 * 支持 Nuclei、Xray、AWVS 等扫描器 * Docker 沙箱化工具执行环境

    • 图像识别(验证码、截图分析)
    • 流量分析(PCAP 文件解析)

长期愿景

  • \] **协作智能体网络**:多 Agent 分布式协作

  • \] **合规报告生成**:自动生成符合标准的渗透测试报告

📋 系统要求

组件 要求 说明
操作系统 Linux (推荐) / macOS / Windows (WSL2) 建议在隔离环境中运行
Python 3.10+ 需要支持 asyncio 和类型提示
LLM API OpenAI 兼容格式 支持 GPT-4o, DeepSeek, Claude-3.5 等
内存 最小 4GB,推荐 8GB+ RAG 服务和 LLM 推理需要内存
网络 互联网连接 访问 LLM API 和更新知识库

⚠️ 安全提示 :鸾鸟包含 shell_execpython_exec 等高权限工具, 强烈建议在 Docker 容器或虚拟机中运行,避免对宿主机造成潜在风险。


🚀 快速开始

步骤 1:安装

复制代码
# 克隆仓库
git clone https://github.com/SanMuzZzZz/LuaN1aoAgent.git
cd LuaN1aoAgent

# 创建虚拟环境(推荐)
python3 -m venv venv
source venv/bin/activate  # Linux/macOS
# Windows: venv\Scripts\activate

# 安装依赖
pip install -r requirements.txt

💡 完整的安装与故障排查指南,请参阅 QUICKSTART.md

步骤 2:配置

2.1 环境变量配置

复制代码
# 复制配置模板
cp .env.example .env

# 编辑 .env 文件
nano .env  # 或使用你喜欢的编辑器

核心配置项

复制代码
# LLM API 配置(必填)
LLM_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
LLM_API_BASE_URL=https://api.openai.com/v1

# 推荐使用强大模型以获得更好效果
LLM_DEFAULT_MODEL=gpt-4o
LLM_PLANNER_MODEL=gpt-4o    # 规划器需要强推理能力
LLM_EXECUTOR_MODEL=gpt-4o
LLM_REFLECTOR_MODEL=gpt-4o

OUTPUT_MODE=default    # simple/default/debug

2.2 知识库初始化(首次运行必需)

鸾鸟依赖 RAG (检索增强生成) 系统获取最新安全知识。首次运行前需初始化知识库:

复制代码
# 1. 克隆 PayloadsAllTheThings 知识库
mkdir -p knowledge_base
git clone https://github.com/swisskyrepo/PayloadsAllTheThings \
    knowledge_base/PayloadsAllTheThings

# 2. 构建向量索引(需要几分钟)
python -m rag.rag_kdprepare

知识库说明:PayloadsAllTheThings 包含丰富的攻击载荷、绕过技巧和漏洞利用方法,是渗透测试的宝贵资源。

步骤 3:运行 (新架构)

系统现在分为两个独立进程运行:Web 服务 (监控台)和 Agent (工作进程)。它们通过本地 SQLite 数据库 (luan1ao.db) 通信。

1. 启动 Web 服务 (监控台)

首先启动持久化的 Web 界面。该进程应保持运行。

复制代码
python -m web.server

打开浏览器访问: http://localhost:8088

2. 运行 Agent 任务

打开一个新的终端窗口运行 Agent。Agent 将执行任务,将日志写入数据库,并在完成后退出。Web UI 会实时更新。

复制代码
# 基础用法
python agent.py \
    --goal "对 http://testphp.vulnweb.com 进行全面的 Web 安全测试" \
    --task-name "demo_test"

# 启用 --web 标志以打印任务 URL
python agent.py \
    --goal "扫描 localhost" \
    --task-name "local_scan" \
    --web

查看结果

  • 实时查看 :使用 Web UI (http://localhost:8088) 监控进度。
  • 历史归档 :任务历史持久化存储在数据库中。日志和指标也会保存在 logs/TASK-NAME/TIMESTAMP/ 目录:
复制代码
logs/demo_test/20250204_120000/
├── run_log.json          # 完整执行日志(包含所有 P-E-R 交互)
├── metrics.json          # 性能指标和统计数据
└── console_output.log    # 格式化的控制台输出

🏗️ 系统架构

整体架构图

复制代码
┌─────────────────────────────────────────────────────────┐
│                  用户目标 (User Goal)                    │
│            "对目标系统进行全面的渗透测试"                 │
└────────────────────────┬────────────────────────────────┘
                         ▼
┌─────────────────────────────────────────────────────────┐
│              P-E-R 认知层 (Cognitive Layer)              │
│  ┌──────────┐      ┌──────────┐      ┌──────────┐      │
│  │ Planner  │ ───> │ Executor │ ───> │Reflector │      │
│  │  规划器   │      │  执行器   │      │  反思器   │      │
│  └──────────┘      └──────────┘      └──────────┘      │
│       │                  │                  │            │
│       └──────────────────┴──────────────────┘            │
│                         ▲                                │
│                         │  LLM API 调用                   │
└─────────────────────────┼────────────────────────────────┘
                          │
┌─────────────────────────┴────────────────────────────────┐
│               核心引擎 (Core Engine)                      │
│  ┌────────────────────────────────────────────────┐     │
│  │ GraphManager                                   │     │
│  │ • 任务图谱管理 (DAG)                            │     │
│  │ • 状态追踪与更新                                 │     │
│  │ • 拓扑排序与依赖解析                             │     │
│  │ • 并行任务调度                                   │     │
│  └────────────────────────────────────────────────┘     │
│  ┌────────────────────────────────────────────────┐     │
│  │ 数据库层 (SQLite)                               │     │
│  │ • 任务、图谱、日志的持久化存储                    │     │
│  │ • 状态管理解耦                                   │     │
│  └────────────────────────────────────────────────┘     │
│  ┌────────────────────────────────────────────────┐     │
│  │ EventBroker (全局)                              │     │
│  │ • 组件间通信                                     │     │
│  │ • 事件发布/订阅                                  │     │
│  └────────────────────────────────────────────────┘     │
└─────────────────────────┬────────────────────────────────┘
                          │
┌─────────────────────────┴────────────────────────────────┐
│            能力支撑层 (Capability Layer)                  │
│  ┌────────────────────┐  ┌──────────────────────────┐   │
│  │ RAG Knowledge      │  │ MCP Tool Server          │   │
│  │ Service            │  │                          │   │
│  │ • FAISS 向量检索   │  │ • http_request           │   │
│  │ • 知识文档解析     │  │ • shell_exec             │   │
│  │ • 相似度搜索       │  │ • python_exec            │   │
│  │                    │  │ • think/hypothesize      │   │
│  └────────────────────┘  │ • halt_task              │   │
│                          └──────────────────────────┘   │
└──────────────────────────────────────────────────────────┘

P-E-R 协作流程

复制代码

目录结构

复制代码
LuaN1aoAgent/
├── agent.py                    # 主入口,P-E-R 循环控制
├── requirements.txt            # 项目依赖
├── pyproject.toml             # 项目配置和代码质量工具设置
├── mcp.json                   # MCP 工具服务配置
├── .env                       # 环境变量配置(需手动创建)
│
├── conf/                      # 配置模块
│   ├── config.py             # 核心配置项(LLM、场景、参数)
│   └── __init__.py
│
├── core/                      # 核心引擎
│   ├── planner.py            # 规划器实现
│   ├── executor.py           # 执行器实现
│   ├── reflector.py          # 反思器实现
│   ├── graph_manager.py      # 图谱管理器
│   ├── events.py             # 事件总线
│   ├── console.py            # 控制台输出管理
│   ├── data_contracts.py     # 数据契约定义
│   ├── tool_manager.py       # 工具管理器
│   ├── intervention.py       # 人机协同管理器
│   ├── database/             # 数据库持久化层
│   │   ├── models.py         # SQLAlchemy 模型
│   │   └── utils.py          # 数据库工具函数
│   └── prompts/              # 提示词模板系统
│
├── llm/                       # LLM 抽象层
│   ├── llm_client.py         # LLM 客户端(统一接口)
│   └── __init__.py
│
├── rag/                       # RAG 知识增强
│   ├── knowledge_service.py  # FastAPI 知识服务
│   ├── rag_client.py         # RAG 客户端
│   ├── rag_kdprepare.py      # 知识库索引构建
│   ├── markdown_chunker.py   # 文档分块
│   └── model_manager.py      # 嵌入模型管理
│
├── tools/                     # 工具集成层
│   ├── mcp_service.py        # MCP 服务实现
│   ├── mcp_client.py         # MCP 客户端
│   └── __init__.py
│
├── web/                       # Web UI
│   ├── server.py             # Web 监控台服务
│   ├── static/               # 前端静态资源
│   └── templates/            # HTML 模板
│
├── knowledge_base/            # 知识库目录(需手动创建)
│   └── PayloadsAllTheThings/ # 安全知识库(需克隆)
│
└── logs/                      # 运行日志和指标
    └── TASK-NAME/
        └── TIMESTAMP/
            ├── run_log.json
            ├── metrics.json
            └── console_output.log

🔐 安全免责声明

⚠️ 重要提示:本软件仅用于授权的安全测试和教育目的。请务必仔细阅读以下内容。

使用限制

使用鸾鸟(LuaN1ao)即表示您确认并同意以下条款:

1. 授权要求

  • 明确授权必需 :在测试任何系统、网络或应用程序之前,您必须 获得系统所有者的明确书面授权
  • 仅限授权范围:测试活动必须严格限制在授权范围内,不得超出授权边界。
  • 教育与研究:本工具适用于网络安全教育、学术研究和授权的安全评估。

2. 法律合规

  • 遵守法律:您有责任确保使用本工具符合所有适用的地方、国家和国际法律法规。
  • 法律后果 :未经授权的渗透测试是违法行为,可能导致刑事起诉、民事诉讼和巨额罚款。
  • 个人责任:使用者需对因不当使用本工具产生的一切法律后果承担全部责任。

3. 道德使用

  • 负责任披露:发现的安全漏洞应遵循负责任的披露原则(Responsible Disclosure)。
  • 专业标准:使用本工具必须符合专业安全研究标准和行业最佳实践。
  • 保密义务:尊重测试期间发现的任何漏洞的隐私和机密性,不得未经授权公开或利用。

4. 禁止活动

严禁将本软件用于以下目的:

  • ❌ 未经授权访问计算机系统、网络或数据
  • ❌ 恶意攻击、破坏或干扰服务
  • ❌ 窃取、篡改或破坏数据
  • ❌ 任何非法或犯罪活动
  • ❌ 侵犯隐私权或违反保密协议
  • ❌ 商业间谍或不正当竞争

技术风险警告

5. 代码执行风险

  • 高权限工具 :鸾鸟包含 shell_execpython_exec 等高权限工具,具有执行任意系统命令和代码的能力。
  • 潜在破坏性 :不当使用可能对目标系统造成不可逆的破坏 ,包括但不限于:
    • 系统崩溃或服务中断
    • 数据丢失或损坏
    • 配置文件被修改
    • 安全机制被破坏

6. 隔离环境要求

  • 强制隔离强烈建议在以下隔离环境中运行:

    • Docker 容器(推荐)
    • 专用虚拟机(VMware、VirtualBox、KVM 等)
    • 完全隔离的沙箱环境
  • 网络隔离:测试环境应与生产网络物理或逻辑隔离。

  • 数据隔离:不要在包含真实用户数据或敏感信息的系统上运行。

7. 生产环境禁令

  • 严禁生产使用:切勿在生产环境、关键业务系统或包含敏感数据的系统上运行鸾鸟。
  • 仅限测试环境:仅在专门的测试、开发或沙箱环境中使用。

免责与责任限制

8. 软件保证声明

  • 按"现状"提供:本软件按"现状"(AS IS)提供,不提供任何形式的明示或暗示担保。
  • 无适用性保证:不保证软件的适销性、特定用途的适用性或无侵权性。
  • 无结果保证:不保证软件能够发现所有漏洞或达到预期效果。
相关推荐
junlaii2 小时前
Windows 安装 claude code 教程
windows·ai
Elastic 中国社区官方博客3 小时前
Elasticsearch:圣诞晚餐 BBQ - 图像识别
大数据·数据库·elasticsearch·搜索引擎·ai·全文检索
CoderJia程序员甲3 小时前
GitHub 热榜项目 - 日榜(2025-12-24)
ai·开源·llm·github
还鮟4 小时前
靶机远程控制实验命令与入门实践(Linux)
linux·网络·安全
科技块儿7 小时前
【账号安全预警】如何基于IP查询进行登录异常识别、账号防盗?
网络协议·tcp/ip·安全
emma羊羊8 小时前
【AWVS】漏扫工具
网络·安全·web安全·awvs
MrBread9 小时前
突破限制:vue-plugin-hiprint 富文本支持深度解析与解决方案
前端·开源
ScilogyHunter10 小时前
卫星遥控遥测可视化开源方案
开源
网安INF10 小时前
入侵检测系统(IDS)解析
网络·网络协议·安全·网络安全·ids