InnerWarden/innerwarden
GitHub: InnerWarden/innerwarden
一款轻量级自托管主机安全代理,通过多源日志检测威胁并自动或人工批准执行防御动作。
Stars: 9 | Forks: 0
# Inner Warden
[](https://github.com/InnerWarden/innerwarden/actions/workflows/ci.yml)
[](https://github.com/InnerWarden/innerwarden/actions/workflows/security.yml)
[](https://github.com/InnerWarden/innerwarden/releases/latest)
[](LICENSE)
[](https://github.com/InnerWarden/innerwarden/stargazers)
[](https://github.com/InnerWarden/innerwarden/commits/main)



**你的服务器应该具备自我防御能力。**
Inner Warden 是一个用于 Linux 和 macOS 的自主安全代理。它检测攻击,向你发出警报,并在你允许的情况下自动做出响应。无需云端,无依赖。仅需两个 Rust 守护进程和一个 CLI。
```
curl -fsSL https://innerwarden.com/install | sudo bash
```
10 秒即可安装。默认以仅观察模式启动。由你决定何时正式上线。
# SHA-256 verified
innerwarden module search # search the registry
```
## 保护 AI 代理
如果你在服务器上运行 OpenClaw、n8n、Langchain 或任何自主 AI 代理,Inner Warden 可以监控它的行为并在出现问题时将其停止。
```
innerwarden enable openclaw-protection
```
这可以实时监控你的代理执行的每一个命令 — 使用结构化分析 (tree-sitter AST),而不仅仅是正则表达式。下载并执行管道、反向 shell、分阶段攻击和混淆命令都能在造成损害之前被捕获。
### 让你的代理在行动前先询问
Inner Warden 暴露了一个供 AI 代理查询的 API:
```
# "我的服务器现在安全吗?"
curl -s http://localhost:8787/api/agent/security-context
# → {"threat_level": "low", "recommendation": "safe to proceed"}
# "这个命令运行安全吗?"
curl -s -X POST http://localhost:8787/api/agent/check-command \
-H "Content-Type: application/json" \
-d '{"command": "curl https://example.com/setup.sh | bash"}'
# → {"risk_score": 40, "recommendation": "review", "signals": ["download_and_execute"]}
# "连接到这个 IP 安全吗?"
curl -s "http://localhost:8787/api/agent/check-ip?ip=203.0.113.10"
# → {"known_threat": true, "blocked": true, "recommendation": "avoid"}
```
你的代理在执行前调用 `check-command`。如果建议是 `deny`,它就会停止。无需更改代理运行时 — 只需一个 HTTP 调用。
有关完整的集成指南,请参阅 [AI Agent Protection 文档](modules/openclaw-protection/docs/README.md)。
## 扫描顾问
让你的服务器告诉你它需要什么。
```
$ innerwarden scan
sshd running → ssh-protection ESSENTIAL [NATIVE]
docker running → container-security RECOMMENDED [NATIVE]
nginx running → search-protection RECOMMENDED [NATIVE]
falco not found → falco-integration OPTIONAL [EXTERNAL] requires: falco install
fail2ban running → fail2ban-integration RECOMMENDED [NATIVE]
Conflicts detected:
fail2ban-integration + abuseipdb-enrichment — both auto-block IPs; enable one
Activation sequence:
1. innerwarden enable block-ip
2. innerwarden enable ssh-protection
3. innerwarden enable fail2ban-integration
```
**NATIVE** = 读取现有日志,零外部依赖。**EXTERNAL** = 需要安装单独的工具。
## 安装
```
curl -fsSL https://innerwarden.com/install | sudo bash
```
无需 API 密钥。它的作用:
- 创建专用的 `innerwarden` 服务用户
- 下载经过 SHA-256 验证的架构二进制文件 (x86_64 / aarch64)
- 将配置写入 `/etc/innerwarden/`,创建数据目录
- 通过 systemd (Linux) 或 launchd (macOS) 启动 sensor + agent
- 安全姿态:检测激活,不启用响应技能,`dry_run = true`
带有外部集成:
```
curl -fsSL https://innerwarden.com/install | sudo bash -s -- --with-integrations
```
从源码构建:
```
INNERWARDEN_BUILD_FROM_SOURCE=1 curl -fsSL https://innerwarden.com/install | sudo bash
```
### 配置 AI
AI 分诊是可选的。当你需要置信度评分的决策时添加它。
**OpenAI:**
```
# /etc/innerwarden/agent.env
OPENAI_API_KEY=sk-...
```
**Anthropic:**
```
# /etc/innerwarden/agent.env
ANTHROPIC_API_KEY=sk-ant-...
```
```
# /etc/innerwarden/agent.toml
[ai]
provider = "anthropic"
model = "claude-haiku-4-5-20251001"
```
**Ollama (本地,无需密钥):**
```
curl -fsSL https://ollama.ai/install.sh | sh && ollama pull llama3.2
```
```
# /etc/innerwarden/agent.toml
[ai]
enabled = true
provider = "ollama"
model = "llama3.2"
```
更改配置后:
```
sudo systemctl restart innerwarden-agent # Linux
sudo launchctl kickstart -k system/com.innerwarden.agent # macOS
```
运行 `innerwarden doctor` 来验证你的提供商。
### 安装后
```
innerwarden status # verify services are running
innerwarden doctor # diagnose issues with fix hints
innerwarden test # inject a synthetic incident and verify the full pipeline responds
innerwarden list # see capabilities and modules
```
准备就绪后启用响应技能:
```
innerwarden enable block-ip # IP blocking (ufw default, or iptables/nftables)
innerwarden enable sudo-protection # detect + respond to sudo abuse
innerwarden enable shell-audit # shell command trail via auditd
```
### 配置通知
```
innerwarden notify telegram # interactive wizard
innerwarden notify slack --webhook-url https://hooks.slack.com/...
innerwarden notify web-push --subject mailto:you@example.com
innerwarden notify webhook --url https://hooks.example.com/notify
innerwarden notify test # verify all channels
```
### 正式上线
启用技能后,响应器处于活动状态,但仍处于 `dry_run = true` 状态。当你信任这些决策时:
```
innerwarden configure responder --enable --dry-run false
```
### 更新
```
innerwarden upgrade # fetch + install latest (SHA-256 verified)
innerwarden upgrade --check # check without installing
```
### 控制平面
```
innerwarden list # capabilities + modules
innerwarden status # services + active capabilities
innerwarden doctor # diagnostics with fix hints
innerwarden enable block-ip # activate
innerwarden enable block-ip --param backend=iptables
innerwarden disable block-ip # deactivate and clean up
innerwarden --dry-run enable block-ip # preview
innerwarden scan # detect + recommend
innerwarden allowlist add --ip 10.0.0.0/8 # skip AI for trusted ranges
innerwarden allowlist add --user deploy # skip AI for trusted users
innerwarden configure ai # interactive AI provider setup (12 providers)
innerwarden configure responder --enable --dry-run false
innerwarden backup # archive configs to tar.gz
innerwarden metrics # events, decisions, AI latency, uptime
innerwarden test # verify full pipeline end-to-end
```
## 支持的环境
- **Linux** — Ubuntu 22.04+,任何基于 systemd 的发行版
- **macOS** — Ventura 及更高版本 (launchd, pf firewall, unified log)
预构建二进制文件:两个平台均支持 `x86_64` 和 `aarch64`。
## 构建和测试
```
make test # 640 tests
make build # debug build (sensor + agent + ctl)
make replay-qa # end-to-end integration test
```
本地运行:
```
make run-sensor # writes to ./data/
make run-agent # reads from ./data/
```
## 常见问题
**这是 EDR 吗?**
不。它是一个自包含的防御代理,具有受限的响应技能和完整的审计追踪。无云端,无回传,完全在你的主机上运行。
**它默认会封禁吗?**
不。以仅观察模式启动。当你准备好时,启用响应技能并禁用 dry-run。
**我需要 AI 提供商吗?**
不需要。检测、日志记录、仪表板和报告均可在没有 AI 的情况下。AI 为自主响应增加置信度评分分诊 — 它是可选的。
**这与 Fail2ban 有何不同?**
Fail2ban 根据正则表达式模式封禁 IP。Inner Warden 拥有 13 个检测器,8 个响应技能(包括 sudo 暂停、进程终止、容器暂停、蜜罐和流量捕获),12 个 AI 提供商,Telegram 机器人,AbuseIPDB 情报共享,以及完整的调查仪表板。
**我可以添加自定义检测器或技能吗?**
可以。请参阅 [模块编写指南](docs/module-authoring.md)。
## 链接
- [网站](https://www.innerwarden.com)
- [路线图](ROADMAP.md)
- [更新日志](CHANGELOG.md)
- [贡献](CONTRIBUTING.md)
- [安全策略](SECURITY.md)
- [文档](docs/index.md)
- [模块编写](docs/module-authoring.md)
- [集成设置指南](docs/integrated-setup.md) (Ubuntu 22.04 上的 Falco + Suricata + osquery + Telegram)
## 许可证
MIT。详见 [LICENSE](LICENSE)。
标签:AbuseIPDB, AI风险缓解, AI驱动, CISA项目, CrowdSec, CSV导出, DNS 反向解析, Docker安全, EDR, IP封禁, macOS安全, Nginx日志分析, PE 加载器, Rust, Shell监控, SOAR, Sudo审计, 免杀技术, 入侵检测系统, 可视化界面, 安全数据湖, 底层分析, 开源, 异常检测, 插件系统, 暴力破解检测, 端口扫描检测, 网络安全, 网络流量审计, 脆弱性评估, 自主防御Agent, 自动化响应, 蜜罐, 证书利用, 请求拦截, 轻量级安全, 通知系统, 隐私保护