rmayen/cerberus
GitHub: rmayen/cerberus
Cerberus 是一个用于授权实验室的防御性恶意软件分析沙箱,通过差分分析引擎揭示样本的环境依赖性行为,并生成可解释的分析报告与 IOC。
Stars: 0 | Forks: 0
# Cerberus
一个用于**授权实验室环境**的防御性恶意软件分析沙箱。
Cerberus 会接收可疑样本,在受控条件下运行它,
收集标准化的行为遥测数据,并将其转化为可解释的
分析结果、入侵指标、MITRE ATT&CK 映射和报告。其
核心特性是一个**差分分析引擎**:它会运行同一个
样本,同时每次改变一个条件(网络、DNS、主机名、时钟、
mutex 等),并通过对比这些运行结果来揭示环境依赖性——
即 kill-switch 或沙箱逃逸检查所产生的那种行为——并附带一个置信度,而不是错误地宣称绝对确定。
Cerberus **不是**恶意软件、攻击性框架或杀毒软件。它仅用于
授权的恶意软件研究、事件响应、DFIR 以及隔离
环境中的教育用途。请参阅 [安全](docs/SECURITY.md)。

## 功能
- **身份验证与 RBAC** — JWT 访问令牌、可撤销的刷新令牌、Argon2
哈希、viewer/analyst/administrator 角色、账户锁定、审计日志。
- **样本管理** — 安全上传(带大小和类型验证)、SHA-256
哈希与重复检测、静态加密的隔离存储、案例、
标签以及可搜索的清单。
- **可插拔执行** — 执行器接口配备安全的模拟后端
(确定性、依赖条件、绝不运行样本)。真实的
一次性 VM 后端在实验室中实现了相同的接口。
- **遥测** — 规范化的事件 schema(进程、文件、注册表、服务、
DNS、网络、mutex、持久化等),并将易失性字段标准化,以便
运行结果具有可比性。
- **行为分析** — 可解释的分析结果(网络活动、持久化、
提权标记、服务/任务创建等),并附带严重程度和
证据。
- **差分分析** — 将条件变化的运行结果进行对比,得出行为
依赖性,并按高/中/低置信度进行评分。
- **IOC 引擎** — 类型化指标提取,支持 JSON/CSV 导出。
- **MITRE ATT&CK** — 将观察到的行为映射到相关技术,并进行逐一解释。
- **报告** — HTML 和 PDF 报告,包含执行摘要、时间线、分析结果、
IOC、ATT&CK 以及基于证据的处置建议。
- **仪表盘** — 基于 React + TypeScript 的分析师 UI,覆盖整个工作流。
## 技术
后端:Python 3.12、FastAPI、SQLAlchemy 2、Alembic、PostgreSQL、Pydantic。
前端:React、TypeScript、Vite。工具链:Ruff、MyPy、Pytest、Docker、Docker
Compose、GitHub Actions。
## 快速开始
### 使用 Docker
```
cp backend/.env.example backend/.env # set a password, secret, and storage key
docker compose up --build
```
启动 PostgreSQL 和 API(已应用迁移,并初始化首个管理员账号)
地址位于 `http://127.0.0.1:8000`。交互式 API 文档位于 `/docs`。
### 本地开发
后端(Python 3.12+):
```
cd backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements-dev.txt
cp .env.example .env
alembic upgrade head
CERBERUS_ADMIN_PASSWORD=change-me python -m app.bootstrap
uvicorn app.main:app --reload
```
前端:
```
cd frontend
npm install
npm run dev # proxies /api to http://localhost:8000
```
## API
在 `/api/v1` 下进行版本控制;完整的 OpenAPI 文档位于 `/docs`。请参阅 [API](docs/API.md) 获取
endpoint 参考。
## 测试
```
cd backend
ruff check . # lint
mypy app # type check
pytest # tests
cd ../frontend
npm run build # type-check + bundle
```
## 文档
- [架构](docs/ARCHITECTURE.md)
- [API 参考](docs/API.md)
- [部署](docs/DEPLOYMENT.md)
- [安全模型](docs/SECURITY.md)
- [贡献](CONTRIBUTING.md)
- [路线图](docs/ROADMAP.md)
## 伦理使用
Cerberus 用于授权的防御性研究,针对的样本和环境必须是
您获得授权可以分析的。请勿将其用于支持未经授权的访问、恶意软件
开发或任何攻击性活动。
## 许可证
MIT — 请参阅 [许可证](LICENSE)。
标签:DAST, IP 地址批量处理, 差异分析引擎, 库, 应急响应, 恶意软件分析, 沙箱, 测试用例, 版权保护, 请求拦截, 逆向工具