masterlf/Skynet-EDR
GitHub: masterlf/Skynet-EDR
面向 AI Agent 运行时的安全检测与响应系统,关联主机信号与 agent 上下文以检测 prompt injection 攻击链和数据泄露行为。
Stars: 1 | Forks: 0
# Skynet-EDR
**面向自治 AI runtime 的 AI-Agent 检测与响应。**
Skynet-EDR 是一个处于早期阶段的安全项目,主要关注针对 AI agent 的攻击检测与响应,尤其是基于 prompt injection 的滥用、恶意的 MCP/tool 行为、凭证访问以及数据泄露链条。
我们的目标不是构建一个神奇的 prompt injection 检测器。我们的目标是构建一个**感知 agent 的 runtime 安全层**,用于关联以下内容:
- 可信与不可信的指令来源
- prompt 和检索内容的来源
- tool 调用与 tool 参数
- MCP 服务器配置与执行
- 对机密信息和敏感文件的访问
- 定时/后台任务
- 出站网络流量
- 基于消息或电子邮件的数据泄露路径
简而言之:传统的 EDR 负责观察进程、文件和网络活动。Skynet-EDR 旨在观察这些信号,**外加能够解释其发生原因的 AI-agent 上下文**。
## 为什么这很重要
AI agent 正日益将语言模型与实际能力连接起来:shell、文件系统、浏览器、SaaS API、消息平台、MCP 服务器、cron 作业和云集成。当恶意内容能够影响这些能力时,prompt injection 就会变得极其危险。
一个典型的攻击链条可能如下所示:
```
untrusted email / web page / PDF / repo file
→ prompt injection
→ tool call
→ secret or config access
→ outbound network or messaging exfiltration
```
传统的 HIDS/EDR 可能只会看到进程或网络事件。LLM 护栏可能只会看到可疑的文本。Skynet-EDR 旨在将这两个世界关联起来。
## 初始范围
首个研究/MVP 范围是针对以下内容的检测与告警:
1. 不可信内容中的 prompt injection 尝试。
2. 超出用户批准任务范围的可疑 tool 调用。
3. 同时使用 shell 解释器和网络出站工具的 MCP 条目。
4. 读取高价值机密信息,例如 `.env`、OAuth 存储、SSH 密钥、云凭证和 agent 配置。
5. 访问机密信息后紧接出站网络流量或消息发送。
6. 危险的定时/后台自动化操作。
7. agent 配置、技能、插件、MCP 服务器和 cron 作业中出现的意外配置漂移。
8. 源自 agent 相关进程的直接 IP 寻址或异常的出站流量。
## 设计原则
- **来源优先:** 区分经过认证的用户指令与不可信内容。
- **关联优于关键字匹配:** 针对可疑的攻击链条发出警报,而不是孤立的敏感词汇。
- **最小权限:** 缩小 agent tool 和凭证的影响范围。
- **对运维人员友好的证据:** 每个警报都应包含来源、证据、尝试执行的操作、受影响的资产以及建议的遏制措施。
- **注重隐私的遥测:** 脱敏机密信息,尽量减少捕获的内容,并在可能的情况下优先使用哈希/片段。
- **先检测后阻断:** 初始阶段保持被动;仅阻断高置信度的数据泄露模式。
## 状态
Skynet-EDR 目前处于被动的、优先支持 Linux 的 MVP 基线状态。它可以从 GitHub Releases 安装,目前的重点是已脱敏的本地证据、Hermes/AI-agent 追踪摄取、只读可见性,以及针对“访问机密信息后伴随网络出站”这一行为的高信号关联。
当前的 crate:
- `skynet-edr-core`:共享产品元数据、schema、脱敏、本地存储、Hermes 摄取和 MVP 关联规则。
- `skynet-edr-cli`:`skynet-edr` 命令行入口,用于状态查看、存储初始化、事件摄取/列表/导出以及事件列表/导出。
- `skynet-edr-daemon`:被动的守护进程/runtime 监控原语,包括 Linux 固件扫描器、仅限本地主机的只读 HTTP API 路由器以及保守的 `run --config` 服务路径。
- `skynet-edr-mcp`:用于 Hermes 可见性的只读 MCP 集成面:状态、事件、规则、传感器和配置漂移发现。
有关布局和命令,请参阅 [Rust 工作区](docs/WORKSPACE.md)。
## 安装
从以下位置下载当前的 MVP 发布包:
```
https://github.com/masterlf/Skynet-EDR/releases
```
Linux `amd64` 发布资产包括 `.deb`、`.rpm`、Arch `.pkg.tar.zst`、自定义的 `.tar.gz` 以及 `checksums.txt`。有关校验和验证和安装命令,请参阅 [Linux 安装指南](docs/INSTALL.md)。
## 开发
Rust 质量检测关卡:
```
cargo fmt --all -- --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features
```
## 文档
请从[文档中心](docs/README.md)开始查阅。v0.2 版本的文档结构按运维人员的操作流程进行组织:
- [安装](docs/INSTALL.md) — 发布包、校验和、安装、升级、回滚和卸载。
- [快速入门](docs/QUICKSTART.md) — 达到已验证 MVP 基线的最短本地路径。
- [概念](docs/CONCEPTS.md) — 产品模型、词汇表、MVP 范围和非目标。
- [架构](docs/ARCHITECTURE.md) — 组件、部署模式和 MVP 建议。
- [规范事件 schema](docs/EVENT_SCHEMA.md) — `skynet.event.v0` 信封和验证要求。
- [集成](docs/INTEGRATIONS.md) — Hermes、OpenClaw、MCP、API 和 CLI 集成映射。
- [检测](docs/DETECTIONS.md) — 检测理念、规则族、严重性和告警证据。
- [运维](docs/OPERATIONS.md) — 本地存储、API/MCP 安全姿态、证据处理和故障排查。
- [发布流程](docs/RELEASE_PROCESS.md)和[打包计划](docs/PACKAGING.md) — 发布关卡、构建产物、发布和回滚。
## 命名
该项目被称为 **Skynet-EDR**,因为其核心理念是针对 AI agent 的 runtime 检测和响应。它借鉴了 HIDS 的一些概念,但其范围比主机监控更广:它包括 AI-agent 上下文、prompt 来源、MCP/tool 行为、机密信息、自动化和出站流量。
## 许可证
Apache-2.0,除非另有说明。
标签:AI安全, AMSI绕过, Chat Copilot, DLL 劫持, EDR, Python脚本, StruQ, 可视化界面, 大语言模型, 威胁检测, 文档结构分析, 检测与响应, 脆弱性评估, 通知系统