litemars/EscapeWatch
GitHub: litemars/EscapeWatch
一款面向容器环境的逃逸安全评估框架,自动识别风险并输出可修复的加固建议。
Stars: 0 | Forks: 0
# EscapeWatch
**防御性容器逃逸风险评估框架**
EscapeWatch 是一个安全评估工具,用于检测容器逃逸路径、危险的运行时配置以及 Docker、Kubernetes 和 containerd 环境中的加固缺口。它会生成包含可操作修复建议的报告。
## 功能特性
- **环境检测** — 自动识别 Docker 容器、Kubernetes Pod、containerd 工作负载和主机系统
- **20+ 安全检查** 覆盖 7 个类别:
- 运行时权限(能力、seccomp、AppArmor、SELinux)
- 文件系统与挂载(运行时套接字、主机路径、可写 cgroups)
- 命名空间隔离(hostPID、hostNetwork、hostIPC)
- Kubernetes(服务账户令牌、API 可达性、kubeconfig)
- 云元数据端点暴露
- 环境变量与进程环境中的密钥
- 运行时套接字与危险端口发现
- **风险评分** — 加权严重性/置信度评分并给出字母等级(A–F)
- **多种输出格式** — 丰富终端、紧凑模式、JSON、SARIF v2.1.0
- **CI/CD 集成** — 非交互模式,支持可配置失败阈值
- **插件架构** — 轻松添加自定义检查
## 快速开始
### 运行
```
# 完整终端报告
escapewatch
# JSON 输出
escapewatch --format json
# SARIF for CI/CD tools
escapewatch --format sarif --output report.sarif
# CI 模式 — 如果存在任何 HIGH 或 CRITICAL 发现问题则退出 1
escapewatch --ci --fail-on high
# 紧凑型终端报告
escapewatch --format compact
# 筛选至特定类别
escapewatch -c runtime-privileges -c filesystem-mounts
```
### 在容器中运行
```
docker cp $(which escapewatch) mycontainer:/usr/local/bin/
docker exec mycontainer escapewatch --format json
```
## 输出格式
### 终端(默认)
带有严重性颜色编码的发现结果、类别分类和修复指导。
### JSON
适合程序化消费的结构化输出:
```
{
"version": "0.1.0",
"environment": { ... },
"summary": {
"total_score": 109.1,
"grade": "F",
"finding_count": 6
},
"findings": [ ... ]
}
```
### SARIF v2.1.0
用于与 GitHub Code Scanning、Azure DevOps 及其他 CI/CD 平台集成的标准静态分析格式。
### CI 模式
```
escapewatch --ci --fail-on medium --format json --output report.json
```
退出代码:
- `0` — 未检测到达到或超过阈值的发现
- `1` — 检测到达到或超过阈值的发现
## 检查类别
| 类别 | ID 前缀 | 描述 |
|---|---|---|
| 运行时权限 | `EW-PRIV-*` | 能力、seccomp、AppArmor、SELinux、root 用户 |
| 文件系统与挂载 | `EW-FS-*` | Docker 套接字、主机挂载、可写 cgroups、设备 |
| 命名空间 | `EW-NS-*` | hostPID、hostNetwork、hostIPC 指示 |
| Kubernetes | `EW-K8S-*` | 服务账户令牌、API 访问、kubeconfig |
| 云与元数据 | `EW-CLOUD-*` | 云元数据端点可达性 |
| 密钥暴露 | `EW-SECRET-*` | 环境变量、挂载的密钥、/proc/environ |
| 运行时套接字 | `EW-SOCK-*` | UNIX 套接字、危险管理端口 |
详见 [docs/checks.md](docs/checks.md) 获取详细的检查描述。
## 风险评分
每个发现项包含:
- **严重性** — CRITICAL (40)、HIGH (20)、MEDIUM (10)、LOW (3)、INFO (0)
- **置信度** — HIGH (1.0x)、MEDIUM (0.7x)、LOW (0.4x)
- **加权分数** = 严重性权重 × 置信度倍数
总体等级:
| 分数 | 等级 |
|---|---|
| 0 | A |
| 1–19 | B |
| 20–49 | C |
| 50–99 | D |
| 100+ | F |
标签:API安全, Chrome Headless, CI/CD安全, containerd, DevSecOps, Docker安全, GitHub Advanced Security, JSON输出, Kubernetes安全, Linux安全, Llama, SARIF, Web截图, 上游代理, 云元数据暴露, 协议分析, 合规扫描, 命名空间隔离, 图探索, 子域名突变, 安全加固, 安全扫描, 安全检查, 容器安全, 容器逃逸, 开源安全工具, 插件架构, 文件系统挂载, 日志审计, 时序注入, 权限提升, 特权容器, 环境变量泄露, 终端报告, 请求拦截, 运行时套接字, 逆向工程平台