—— OpenGovernment 主动网络防御系统(ActiveCyberDefense)深度解析

用 LLM Agent 替代硬编码规则引擎,让 AI 像人类安全专家一样审计和防御你的计算机系统。


在这里插入图片描述

📖 目录


1. 引言:传统网络防御的困境

在当今的网络安全领域,绝大多数端点检测与响应(EDR)系统都基于一个共同的范式:硬编码规则 + 签名数据库。这种方式存在几个根本性问题:

传统方式的问题 具体表现
规则维护成本极高 每条检测规则都需要安全专家手工编写、测试、维护
误报率高 硬编码阈值无法理解上下文,大量合法行为被误标
适应性差 新型攻击手法出现后,规则更新存在显著滞后
开发门槛高 构建一个完整 EDR 系统需要深厚的安全领域知识
跨模块协同困难 进程分析、网络分析、取证分析各自为政,缺乏统一研判

ActiveCyberDefense 项目提出了一个截然不同的思路:用 AI Agent 扮演人类安全专家的角色,自主完成从信息收集、分析研判到处置建议的全流程。


2. 核心创新:AI Agent 即安全专家

2.1 核心理念

与其编写成千上万条检测规则,不如让 LLM 像人类专家一样"看着"系统状态,做出判断。

传统模型:  数据采集 → 规则引擎匹配 → 告警输出 → 人工研判 → 处置
           [开发者编写规则]            [安全分析师]
           
AI Agent 模型:数据采集 → LLM 自主分析 → 研判结论 → 处置建议
              [AI 替代开发者 + 分析师]

2.2 开发难度的革命性降低

传统 EDR 系统需要:

  • ❌ 编写数百条 Sigma/YARA 规则
  • ❌ 维护庞大的 IOC 数据库
  • ❌ 设计复杂的关联分析引擎
  • ❌ 处理各种操作系统版本的兼容性
  • ❌ 持续跟踪最新的 MITRE ATT&CK 技战术

AI Agent 方式只需要:

  • ✅ 定义工具集(读取进程列表、网络连接、注册表等)—— 约 19 个工具函数
  • ✅ 编写 System Prompt —— 告诉 LLM 它是什么角色、如何分析
  • ✅ 让 LLM 自主调用工具,逐步收集信息并做出判断

开发效率提升 10x+,而检测能力反而更强 —— 因为 LLM 可以理解人类级别的上下文和意图。


3. 系统架构:三层递进式防御体系

系统的核心设计是 三层递进式架构,每层对应不同的深度和时间成本:

渲染错误: Mermaid 渲染失败: Parse error on line 9: ...🛡️ 5层快速扫描
~2分钟 | flag_level=1] -----------------------^ Expecting 'SQE', 'TAGEND', 'UNICODE_TEXT', 'TEXT', 'TAGSTART', got 'PIPE'

三层对比

维度 Tier 1: Standard Tier 2: Agentic Tier 3: Advanced
耗时 ~2 分钟 ~5 分钟 ~5-10 分钟
检测层级 5 层 7 层(含T1 5层+2层扩展) 8 个取证模块
核心机制 psutil + PowerShell LLM 智能审查 专业取证引擎
Flag Level 1(初步标记) 2(LLM确认/排除) 3(深度分析)
误报处理 LLM自动识别误报 基于确认发现分析
威胁情报 VirusTotal + AbuseIPDB + OTX
持续监控

4. Tier 1:标准化快速检查(~2分钟)

第一层是快速"日常体检",涵盖 5 个关键维度:

层级 检查内容 技术手段
L1: 系统基线 CPU、内存、磁盘使用率、启动时间、网络接口 psutil
L2: 进程审查 检测临时目录执行、可疑进程名、编码 PowerShell 命令 psutil + 模式匹配
L3: 网络审查 敏感端口监听(3389/5985/445)、公网远程端点 psutil.net_connections()
L4: 安全状态 Windows Defender 状态、防火墙配置文件 PowerShell Get-MpComputerStatus
L5: 持久化审计 Run/RunOnce 注册表键、启动文件夹 Registry + 文件系统扫描
from tiers import standard_once

# 一键运行
results = standard_once()  # 返回完整结果字典,写入 findings.json

检查到的任何异常都被标记为 flag_level=1(初步发现),写入共享数据库供下一层研判。


5. Tier 2:Agentic 深度审计 + LLM 审查(核心创新)

这是整个系统的核心创新层。它不仅在 Tier 1 基础上扩展了 2 个深度检查层,更重要的是引入了 LLM 驱动的智能审查机制

5.1 架构组成

agentic_check/
├── LLMs/                         ← LLM 供应商层
│   ├── .env                      ← 所有 API Key 的统一配置文件
│   ├── deepseek/provider.py      ← DeepSeek V4 (100万上下文, 38.4万输出, 思考模式)
│   └── grok/provider.py          ← xAI Grok 备选方案
├── codex_agent/engine.py         ← 19工具自主Agent引擎 (CodexEngine)
├── codex_tool/tools.py           ← 工具实现 + 分发调度
└── config.py                     ← 统一配置桥接

5.2 CodexAgent:19 工具自主代理引擎

CodexEngine 是一个生产级 AI Agent 引擎,其架构直接对标 OpenAI Codex CLI 的 Rust 实现:

class CodexEngine:
    """
    生产级 AI Agent,匹配 Rust Codex CLI 的 ModelClient 架构。
    
    特性:
      • LLM 无关 — 通过 LLMs/ 包委托给任意供应商
      • 每轮追踪 (TurnContext)
      • 会话级批准缓存 (ApprovalStore 模式)
      • 上下文窗口管理 + 自动压缩
      • 工具调度 + 前后钩子 + 遥测
      • MCP 客户端支持 (JSON-RPC stdio)
    """
    MAX_TOOL_ROUNDS: int = 15               # 最多15轮工具调用
    COMPACT_THRESHOLD: int = 200_000        # 剩余20万token时自动压缩
    MAX_CONTEXT: int = 1_000_000            # DeepSeek V4 百万级上下文

自主循环流程:

用户任务 "review all findings"
    ↓
[System Prompt 注入] → 告诉 LLM 它的角色和能力
    ↓
[LLM 分析] → 决定需要什么信息
    ↓
[工具调用] → shell_command / read_file / grep_search / ...
    ↓
[结果返回] → LLM 阅读工具结果
    ↓
[继续分析或给出结论] → 循环直到任务完成

5.3 LLM 审查流程:替代硬编码规则

这是最体现"AI 即专家"理念的环节:

# 传统方式:硬编码规则
if "ksdeui.exe" in process_name and "-hidden" in cmdline:
    ALERT("Suspicious hidden process")  # 误报!Kaspersky VPN 合法使用 -hidden

# AI Agent 方式:LLM 理解上下文
"""
批次发送给 DeepSeek V4 的内容:
  进程: ksdeui.exe
  命令行: ksdeui.exe -hidden -tray
  路径: C:\Program Files\Kaspersky Lab\...
  网络: 连接至 VPN 网关
  
DeepSeek V4 返回:
  → FALSE_POSITIVE: ksdeui.exe 是卡巴斯基的合法组件,
    -hidden 参数用于隐藏 VPN 托盘图标,属于正常行为。
    进程路径位于 Program Files 且签名为 Kaspersky Lab。
"""

实际审查流程:

Standard Check (T1) → 发现 L1 标记
        ↓
Agentic Check (T2) → 将发现分批(每批5条)
        ↓                   附带进程/网络/注册表上下文
DeepSeek V4 审查 → 返回每条的判决:
        ↓              false_positive(误报,清除)
        ↓              或 confirmed(确认,升级至 L2)
数据库更新 → flag_level=2
        ↓
Advanced Check (T3) → 仅分析已确认(L2)的发现

5.4 扩展深度检查层

层级 检查内容 技术
L6: DLL 完整性 关键进程(lsass/winlogon/svchost/explorer/csrss)的 DLL 校验 SHA-256 哈希 + Authenticode 签名验证
L7: 安全事件 Windows 事件 ID 4625(登录失败)/ 4624(登录成功)/ 4720(账户创建) PowerShell Get-WinEvent
L8: 已安装程序 64位 + WOW6432Node 注册表程序枚举 Registry 扫描

6. Tier 3:高级取证分析(~5-10分钟)

第三层是专业级取证工具集,仅对 Tier 2 中 LLM 确认的发现进行深度分析:

from tiers import advanced_once
results = advanced_once()  # 7个取证模块 + 深度分析

6.1 八大取证模块

模块 核心技术 能力
Statistical Anomaly Z-score、Mahalanobis 距离 基于历史基线的统计偏差检测
MITRE Mapper 100+ ATT&CK 技战术模式 自动映射发现至 MITRE ATT&CK 框架
Memory Forensics 跨视图进程扫描 检测进程注入、Process Hollowing、隐藏进程
Sigma Engine 8 条内置检测规则 自动生成 Sigma 规则,可导出至 Splunk/Elastic/Sentinel
PE Analyzer 节区熵值分析 可疑导入函数检测、加壳识别
Threat Intelligence VirusTotal (70+引擎) + AbuseIPDB + AlienVault OTX 文件/IP/域名信誉查询
DeepSeek Agent LLM 分流 + 批量审查 跨发现关联分析
ETW Consumer 内核事件追踪 + Sysmon 日志 Windows 底层事件采集

6.2 威胁情报集成

# config.py 中的 API 配置
DEEPSEEK_API_KEY     # DeepSeek V4 LLM 服务
VIRUSTOTAL_API_KEY   # VirusTotal 文件/哈希查杀(免费 500次/天)
ABUSEIPDB_API_KEY    # AbuseIPDB IP 信誉查询(免费 1000次/天)
OTX_API_KEY          # AlienVault OTX 威胁脉冲关联(免费无限)

7. 技术栈全景图

┌─────────────────────────────────────────────────────────┐
│                    🖥️ Live Web UI                       │
│         http://127.0.0.1:8765 (SPA 单页应用)            │
│  系统头 | 风险评级 | 三层操作卡 | Agentic对话 | 发现表   │
├─────────────────────────────────────────────────────────┤
│                  🧠 CodexAgent 引擎                      │
│     19工具自主循环 | 会话批准缓存 | 上下文自动压缩        │
├─────────────────────────────────────────────────────────┤
│              🔗 LLM Providers (LLM 无关)                 │
│     DeepSeek V4 (主)   |   Grok/xAI (备)                │
│     100万上下文 38.4万输出  思考模式 (reasoning)          │
├──────────────────┬──────────────────┬───────────────────┤
│  🛡️ Tier 1       │  🤖 Tier 2       │  🚀 Tier 3        │
│  标准快速检查      │  Agentic深度审计   │  高级取证分析      │
│  psutil + PS     │  + LLM智能审查    │  8模块深度分析     │
│  5层 ~2min       │  7层 ~5min       │  ~5-10min         │
├──────────────────┴──────────────────┴───────────────────┤
│              🗄️ 跨层共享数据库 (findings.json)            │
│        flag_level=1 → 2 (LLM审查) → 3 (深度分析)        │
├─────────────────────────────────────────────────────────┤
│               🛠️ 底层工具集                               │
│  PowerShell 脚本 | YARA 规则 | Sigma 规则                │
│  ETW 内核追踪 | VirusTotal | OTX | AbuseIPDB            │
└─────────────────────────────────────────────────────────┘

8. 代码解析:三重架构如何协同工作

8.1 统一入口

# tiers/__init__.py — 所有三层的一站式导出
from tiers.standard_check import run_once as standard_once
from tiers.agentic_check import run_once as agentic_once
from tiers.advanced_check import run_once as advanced_once

# 双模式操作
from tiers.standard_check import start_monitoring as standard_monitor
from tiers.agentic_check import start_monitoring as agentic_monitor
from tiers.advanced_check import start_monitoring as advanced_monitor

8.2 跨层数据流

# 简化版数据流示意
def full_defense_pipeline():
    # Tier 1: 快速扫描,标记初步发现 (flag_level=1)
    t1_findings = standard_once()    # → writes to findings.json
    
    # Tier 2: LLM 审查 T1 发现 (flag_level=1 → 2)
    t2_findings = agentic_once()     # → DeepSeek V4 审查每一条
    # 返回: false_positive (清除) 或 confirmed (升级至 L2)
    
    # Tier 3: 仅对 L2 确认项深度分析 (flag_level=2 → 3)
    t3_findings = advanced_once()    # → PE分析 + 威胁情报 + MITRE映射

8.3 Agent 工具调用示例

LLM 在审查过程中的典型工具调用序列:

1. shell_command("Get-Process | Select Name,Id,Path,Company")
   → 获取完整进程列表

2. read_file("database/findings.json")
   → 读取 T1 标记的发现

3. shell_command("Get-FileHash lsass.exe -Algorithm SHA256")
   → 验证关键进程哈希

4. grep_search("192.168", include_pattern="**/*.csv")
   → 搜索网络连接日志中的内网IP

5. [LLM 综合分析] → 逐条给出 false_positive / confirmed 判决

9. 为什么 LLM Agent 比传统规则引擎更强

9.1 对比分析

能力维度 传统规则引擎 AI Agent (本项目)
上下文理解 单点规则匹配,无上下文 理解进程关系、网络拓扑、用户行为模式
误报处理 需要人工加白名单 LLM 自动判断 false_positive
新型威胁 需要等待规则更新 LLM 可基于语义理解识别异常模式
跨模块关联 需要复杂的关联引擎 LLM 自然地跨维度推理
开发维护 每条规则需手写测试 只需编写 System Prompt + 工具定义
可解释性 仅输出规则名 LLM 输出详细的推理过程和判断依据
适应性 针对特定环境需大量调参 LLM 自适应不同环境

9.2 核心优势:从"规则匹配"到"语义理解"

传统规则引擎的逻辑:

IF process_path CONTAINS "Temp" 
   AND process_name MATCHES "*.exe" 
   AND cmdline CONTAINS "-enc" 
THEN ALERT("Suspicious PowerShell")

问题:C:\Program Files\MyApp\TempUpdater.exe 也会被误报。

AI Agent 的逻辑:

"我看到了 TempUpdater.exe,它位于 Program Files,有有效数字签名,
属于 MyApp 公司的自动更新程序。虽然路径包含 'Temp',
但这是合法的应用程序组件,不是恶意软件。→ FALSE_POSITIVE"

9.3 下一代网络防御能力

LLM Agent 路线带来的潜在质变

  1. 零日威胁感知:LLM 理解"异常行为模式"而非匹配已知签名
  2. 自然语言威胁狩猎:安全分析师用自然语言描述可疑行为,Agent 自主调查
  3. 自动化事件响应:Agent 不仅发现问题,还能给出处置建议并执行
  4. 持续学习:通过 System Prompt 更新即可获得新能力,无需重写规则
  5. 跨平台统一:同样的 Agent 逻辑可适配 Windows/Linux/macOS

10. 实战演示:从发现到处置的全流程

10.1 启动系统

pip install -r requirements.txt
python run_ui.py
# 浏览器访问 http://127.0.0.1:8765

10.2 仪表盘布局

内容 说明
1 系统信息头 主机名、CPU 核心数、内存、磁盘使用率、启动时间
2 风险评级条 HIGH/MEDIUM/LOW 标记、发现数量、数据库统计
3 操作卡片 三层各自的"一次性检查"和"持续监控"按钮
4 Agentic 对话 输入 review all findings 启动 LLM 审查
5 统一发现表 跨三层的发现追踪(flag_level 1→2→3)
6 详情面板 各层深度结果的选项卡视图

10.3 典型工作流

# 步骤1: 运行快速标准检查
点击 "Standard Check: Run Once"2分钟完成 5层扫描
→ 发现12个 L1 标记写入数据库

# 步骤2: 启动 Agentic 深度审计
点击 "Agentic Check: Run Once" → 执行 7层扫描
→ 将12个 L1 发现发送给 DeepSeek V4 审查

# LLM 审查结果:
#   8个 → FALSE_POSITIVE (合法应用)
#   4个 → CONFIRMED (需深度分析)
# → 数据库更新: 8个清除, 4个升级至 L2

# 步骤3: 高级取证分析
点击 "Advanced Check: Run Once" → 仅分析4个已确认项
→ PE 熵值分析 / VirusTotal 查杀 / MITRE ATT&CK 映射
# → 2个确认为恶意, 2个需人工复查
# → 数据库更新至 L3

# 步骤4: 持续监控
点击 "Agentic Check: Continuous Monitor"
→ 每60秒自动运行,LLM 持续审查新发现

10.4 对话式威胁狩猎

在 Agentic 聊天框中:

User: review all findings from the last hour
AI: 我分析了最近1小时的86条发现。其中82条已确认为误报,
    4条需要关注 [列出具体条目和判断依据...]

User: check if any process is connecting to known C2 servers
AI: [调用 Threat Intel 模块 + 网络连接分析...]
    发现 process id 4820 连接至 45.xxx (AbuseIPDB 信誉分 97/100)
    建议立即隔离该进程。

User: generate sigma rules for the confirmed threats
AI: [调用 Sigma Engine...]
    已为确认的4个威胁生成了 Sigma 规则,导出至 outputs/

11. 部署与运行

11.1 环境要求

组件 要求
操作系统 Windows 10/11(PowerShell 5.1+)
Python 3.11+
LLM API DeepSeek Platform(deepseek-v4-pro 或 deepseek-v4-flash)
可选 API VirusTotal / AbuseIPDB / AlienVault OTX(免费套餐即可)

11.2 配置

所有 API Key 集中在 单一文件 agentic_check/LLMs/.env

DEEPSEEK_API_KEY=sk-your-key-here
DEEPSEEK_MODEL=deepseek-v4-pro
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_MAX_TOKENS=384000

# 可选:威胁情报
VIRUSTOTAL_API_KEY=your-vt-key
ABUSEIPDB_API_KEY=your-abuseipdb-key
OTX_API_KEY=your-otx-key

11.3 运行

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

# 启动 Web 仪表盘
python run_ui.py

# 或通过 Python API 编程调用
python -c "from tiers import standard_once, agentic_once, advanced_once; print(agentic_once())"

12. 总结与展望

12.1 项目核心价值

ActiveCyberDefense 证明了:LLM Agent 可以在网络安全领域实现"降本增效"的同时,提供传统规则引擎难以企及的智能分析能力。

传统 EDR AI Agent EDR (本项目)
需要安全专家编写规则 System Prompt + 工具定义即可
硬编码阈值判断 LLM 上下文理解
高误报率 自动识别 false_positive
规则更新滞后 持续适应新威胁
单机分析 跨模块关联推理

12.2 演进路线

v1.0 标准检查 + PS1 脚本 v2.0 7层 Agentic 审计 v3.0 8模块高级取证 v4.0 三层重构 v5.0 tiers/ 模块化 + 双模式 v6.0 Live Web UI 仪表盘 v7.0 跨层共享数据库 + Flag Levels v8.0 DeepSeek V4 LLM 审查 v9.0 .env 统一 + CodexAgent 集成 v10.0 6行仪表盘布局 + Agentic 对话 v11.0 纯文档化 Notebooks v12.0 Mermaid 图表文档 v13.0 assets/ + GitHub README ActiveCyberDefense 演进历史(2026年7月)

12.3 未来方向

  • MCP 协议扩展:通过 Model Context Protocol 接入更多安全工具(SIEM、SOAR、威胁情报平台)
  • 多 Agent 协同:并行运行多个专业 Agent(网络分析师、主机分析师、恶意软件分析师)
  • 联邦学习:多端点共享威胁知识但不泄露隐私数据
  • 自动化响应:Agent 发现的威胁自动触发隔离、阻断等响应动作

📎 项目信息

项目 详情
项目名称 ActiveCyberDefense
所属组织 OpenGovernment
许可协议 开源(BSD-3-Clause / Apache-2.0 / MIT)
核心技术 Python 3.11+ / DeepSeek V4 / PowerShell / HTML5 SPA
平台 Windows 10/11
架构 三层递进式 AI Agent 驱动端点防御

如果你对"用 LLM 替代安全规则引擎"这个方向感兴趣,欢迎 Clone 项目体验。

AI Agent + 网络安全 = 下一代防御体系的起点。 🛡️


本文由 ActiveCyberDefense 项目自动分析生成 · 2026年7月

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐