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)。 ![Cerberus 仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/cas/17/17111cbbaacfbd95ae3caf246158719e873c1ef3e40e518c284b57c36cdf47a9.png) ## 功能 - **身份验证与 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 地址批量处理, 差异分析引擎, 库, 应急响应, 恶意软件分析, 沙箱, 测试用例, 版权保护, 请求拦截, 逆向工具