我做了一个可直接运行的自动化风险处置工具,名称为 AI-SOC Autopilot Guard v0.1.0。它包含 Python 工具、规则、示例日志、自动修复逻辑、AI 摘要接口、Markdown/JSON 报告、部署教程、设计文档和样例报告的完整包。
下载:
我在沙盒里已经执行过:
bash
python aisoc_guard.py --config config.example.yaml init-baseline
python aisoc_guard.py --config config.example.yaml scan
python aisoc_guard.py --config config.example.yaml scan --apply-safe-fixes
工具可以成功识别示例中的 SSH 爆破、登录成功、sudo 高危命令、Web 攻击探测、Log4Shell/JNDI 探测、疑似 WebShell 上传、反弹 Shell、敏感文件权限过宽、EICAR 测试样本,并生成检测、处置、攻击流水账和溯源报告。
一、必须先明确边界
这个系统可以尽量减少人工工作量,但不能设计成"AI 拿 root 权限自动处理一切"。
原因很简单:
- 0day 没有公开 CVE、没有稳定签名,不能保证被任何工具完全检测出来。合理做法是通过异常行为、进程链、文件落地、网络外连、崩溃日志、IDS/EDR 告警做关联检测。
- 1day / Nday 可以通过漏洞库、CISA KEV、EPSS、Trivy、pip-audit、资产暴露面和攻击迹象排序处理。CISA KEV 用于跟踪已知被利用漏洞,EPSS 每天发布 CVE 被利用概率和排名,可用于漏洞优先级排序。(网络安全和基础设施安全局1)
- APT 识别 不能靠单条日志判断,必须看长期 TTP、基础设施复用、工具链、攻击阶段和威胁情报。MITRE ATT&CK 是基于真实观察的攻击战术和技术知识库,适合做攻击链映射,但不能替代人工归因。(MITRE ATT\&CK2)
- 溯源报告 只能输出"基于证据的技术溯源",例如源 IP、命中行为、ATT&CK 技术、攻击时间线、情报命中情况。不能把源 IP 直接等同于真实攻击者身份。
二、总体设计方案
架构分为六层:
text
数据采集层
↓
检测引擎层
↓
风险分级与攻击链关联层
↓
自动处置 / 修复建议层
↓
AI 报告生成层
↓
审计、溯源、工单与团队协作层
1. 数据采集层
建议生产环境接入这些数据源:
| 数据源 | 作用 |
|---|---|
| Linux auth.log / secure | 登录、爆破、sudo、提权行为 |
| Web access.log / error.log | SQLi、RCE、目录穿越、WebShell 上传、0day 利用迹象 |
| 应用日志 | 异常调用、命令执行、崩溃、业务异常 |
| 进程信息 | 反弹 Shell、curl/wget 管道执行、base64 执行 |
| 网络连接 | C2 外连、异常监听、敏感服务暴露 |
| 文件系统 | WebShell、木马、敏感文件权限、完整性变化 |
| ClamAV / YARA | 木马、病毒、恶意样本检测 |
| Trivy / pip-audit | 依赖、镜像、文件系统漏洞检测 |
| Wazuh / Falco / Suricata | SIEM/XDR、运行时安全、网络威胁检测 |
Wazuh 是开源 XDR/SIEM 平台,覆盖威胁检测、日志分析、漏洞评估、文件完整性监控、恶意软件检测和事件响应;Suricata 是开源 IDS/IPS/NSM 引擎;Falco 面向主机、容器、Kubernetes 和云环境做运行时威胁检测。(Wazuh3)
2. 检测引擎层
本版本已经实现:
- SSH 暴力破解检测;
- SSH 成功登录检测;
- sudo 高危命令检测;
- Web SQL 注入探测;
- 目录穿越探测;
- Log4Shell/JNDI 探测;
- WebShell 上传行为检测;
- 应用日志中的反弹 Shell 检测;
- 进程命令行高危行为检测;
- 网络连接到本地威胁情报 IP;
- 敏感文件权限过宽;
- 文件完整性基线变化;
- EICAR 测试样本检测;
- 简单 PHP WebShell 文件特征检测;
- 可选接入 ClamAV、Trivy、pip-audit。
Sigma 适合把日志检测逻辑标准化为通用 SIEM 规则,YARA 适合用文本或二进制模式识别和分类恶意样本;ClamAV 是开源反病毒引擎,可检测木马、病毒、恶意软件等威胁。(GitHub4)
3. 风险分级与攻击链关联层
本工具会把每条 finding 标准化为:
json
{
"id": "SSH_BRUTE_FORCE:203.0.113.66",
"severity": "high",
"confidence": "high",
"category": "credential_access",
"mitre": ["T1110"],
"evidence": {}
}
然后按源 IP、时间、行为类别和 MITRE ATT&CK 技术生成:
- 攻击活动时间线;
- 攻击者活动流水账;
- 溯源分析报告;
- 修复建议;
- 自动处置记录。
4. 自动处置层
默认保守,只允许低风险白名单动作:
| 风险 | 自动动作 |
|---|---|
.env 等敏感文件权限过宽 |
chmod 600 |
| EICAR 测试样本 | 隔离到 quarantine |
| 明确测试场景中的安全配置问题 | 可按规则扩展 |
默认不自动做:
- 删除可疑真实恶意文件;
- kill 可疑进程;
- 改防火墙;
- 自动封禁 IP;
- 自动升级核心依赖;
- 修改数据库权限;
- 修改云 IAM / Kubernetes RBAC;
- 重启核心生产服务。
这些动作建议走审批或 SOAR playbook。
5. AI 报告层
AI 只负责:
- 风险摘要;
- 攻击链归纳;
- 修复建议措辞;
- 工单说明;
- 复盘初稿;
- 溯源报告文本组织。
AI 不负责:
- 执行 shell;
- 修改生产系统;
- 决定是否删除文件;
- 直接封禁 IP;
- 未经证据做 APT 组织归因。
包里支持可选接入 Ollama:
yaml
ai:
enabled: true
provider: "ollama"
ollama_url: "http://127.0.0.1:11434/api/chat"
model: "qwen2.5:7b"
三、包内内容
压缩包结构如下:
text
AI-SOC-Autopilot/
├── aisoc_guard.py # 主程序
├── config.example.yaml # 配置示例
├── requirements.txt # Python 依赖
├── Dockerfile # 容器镜像示例
├── docker-compose.yml # Docker Compose 示例
├── README.md # 快速开始
├── docs/
│ ├── DESIGN.md # 详细设计方案
│ ├── DEPLOYMENT.md # 部署教程
│ ├── OPERATIONS.md # 使用与运维手册
│ ├── LIMITATIONS.md # 边界与风险说明
│ └── SAMPLE_REPORT.md # 样例报告
├── rules/
│ ├── detections.yaml # 检测规则说明模板
│ └── malware.yar # YARA 示例规则
├── samples/
│ ├── auth.log # SSH 爆破与登录样例
│ ├── nginx_access.log # Web 攻击样例
│ ├── app.log # 反弹 Shell 样例
│ ├── .env # 权限风险样例
│ └── eicar.txt # EICAR 测试文件
├── scripts/
│ ├── install.sh
│ ├── run_once.sh
│ └── run_daemon.sh
├── reports/
├── state/
└── quarantine/
四、最短部署命令
bash
unzip AI-SOC-Autopilot.zip
cd AI-SOC-Autopilot
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python aisoc_guard.py --config config.example.yaml init-baseline
python aisoc_guard.py --config config.example.yaml scan
python aisoc_guard.py --config config.example.yaml scan --apply-safe-fixes
报告位置:
text
./reports/
常驻运行:
bash
python aisoc_guard.py --config config.example.yaml daemon --interval 300 --apply-safe-fixes
Docker 运行:
bash
docker compose up --build -d
五、下一步生产化建议
这个包是可以直接运行的参考版本,但不是完整商业 EDR/XDR。你要给团队使用,建议按这个顺序推进:
-
第一阶段:内部 dry-run
- 只接入测试机、测试日志;
- 不开启自动修复;
- 观察误报率。
-
第二阶段:低风险自动修复
- 开启敏感文件权限修复;
- 开启 EICAR/测试样本隔离;
- 仍不自动 kill 进程、不自动封 IP。
-
第三阶段:接入现有安全组件
- Wazuh 做主机日志、FIM、漏洞和合规;
- Falco 做运行时安全;
- Suricata 做网络 IDS/IPS;
- Trivy 做镜像和依赖漏洞;
- ClamAV/YARA 做恶意文件识别。
-
第四阶段:SOAR 化
- 低风险自动闭环;
- 高风险自动生成工单;
- critical 事件自动拉群、冻结证据、等待审批;
- 所有动作写入审计日志。
下载包在这里: