jland-93/mond
GitHub: jland-93/mond
Mond 是一个基于 AI 的开源 DevSecOps 平台,通过统一资产、扫描、发现与策略模型并结合 Claude 实现安全发现自动分诊与修复指导。
Stars: 1 | Forks: 0
# 🌙 Mond
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/)
[](https://reactjs.org/)
[](https://www.anthropic.com/)
## 📋 概述
**Mond**(德语中意为“月亮”)是一个**基于 AI 的自助式 DevSecOps 平台**,能够兼容任何云环境和任何扫描器。它将资产 / 扫描 / 发现 / 策略整合为单一模型,并利用 Claude 对发现的问题进行**自动分诊**并提供**修复指南**。
### 🎯 为什么选择 Mond?
- **供应商无关** — 通过适配器集成 Trivy / Semgrep / Nuclei。不绑定 AWS 或特定云平台。
- **AI 自助服务** — Claude 分析发现的问题,重新评估 severity,提供修复代码建议,并响应自然语言查询。
- **开箱即用** — 只需一行 `docker compose up`。如果没有扫描器二进制文件,则使用 stub 模式进行 UI 演示。
- **模块化** — 新增扫描器只需添加一个 `ScannerAdapter` 类。
- **Mond 暗黑主题** — 高可读性的月光氛围(暗色调藏青色 + 紫色辉光)。
## ✨ 核心功能
| 菜单 | 功能 |
|---|---|
| **Dashboard** | 安全分数、资产/发现统计、最近扫描 |
| **Assets** | 资产清单(repo / image / host / URL / cloud / app) |
| **Scans** | 扫描触发 + 各适配器执行历史 |
| **Findings** | 发现项查看/状态更改 + AI 分析抽屉 |
| **Policies** | SAST / SCA / IaC / DAST / Container / Secrets / Compliance 规则集 |
| **Policy Simulation** | 预览“如果当前 PR 包含此发现项,会违反哪些策略” |
| **AI Insights** | 自然语言查询、intent 分类、Claude 回答 |
| **Regulations Guide** | 业务场景 → 适用法规(K-PIPA·GDPR·HIPAA·PCI-DSS·…)+ 时间点·义务 |
| **Reports** | 各资产 SBOM(CycloneDX-lite)+ 各场景 Compliance 报告(JSON / Markdown) |
| **Integrations** | 扫描器 / AI / **MCP (stdio+HTTP)** / 通知渠道 / GitHub Webhook 指南 |
| **Settings** | 健康 / 版本 / 环境 / 语言 |
### 默认韩语 · 辅助英语 (i18n)
UI 默认显示韩语,可通过右上角的切换按钮切换为英语。
可以使用 `DEFAULT_LOCALE=ko|en` 更改初始值,选择结果会持久化保存在浏览器的 localStorage 中。
### 自助式自动化
| 功能 | 方式 |
|---|---|
| **自动扫描 (GitHub push)** | `POST /api/v1/webhooks/github` → 自动对匹配的 repo 资产执行 trivy 扫描 |
| **Slack/Generic 通知** | 将达到阈值的 finding 自动发送到 ENV 中的 Webhook URL |
| **MCP — Claude Desktop/Code** | stdio: `python -m mcp_server`。HTTP+SSE: 挂载到 `/mcp` |
## 🏗️ 架构
```
graph LR
UI[Web UI
React + Vite + Ant Design] API[REST API
FastAPI + asyncpg] AI[AI Engine
Anthropic Claude] SCAN[Scanner Adapters
Trivy · Semgrep · Nuclei] DB[(PostgreSQL)] R[(Redis)] UI -->|/api/v1| API API --> DB API --> R API --> AI API --> SCAN ``` 5 个核心领域:**Asset · Scan · Finding · Policy · AIInsight** - `Asset` — 保护对象(URI + 标签 + 环境) - `Scan` — 适配器单次执行结果 - `Finding` — 基于 fingerprint 去重的安全问题 - `Policy` — 规则集 + Compliance 映射 - `AIInsight` — Claude 生成的 triage / remediation / explain ## 🚀 快速开始 ### 前置要求 - Docker & Docker Compose - (可选)`ANTHROPIC_API_KEY` — 即使没有它,所有界面也能在默认规则模式下运行。 ### 运行 ``` git clone https://github.com/jland-93/mond.git cd mond cp .env.example .env # 如果在 .env 中放入 ANTHROPIC_API_KEY,实际的 Claude 分析将会运行。 docker compose up -d ``` - 后端 API:
- 前端:
首次启动时,会自动注入 3 个演示资产(repo / 容器 image / URL)和 3 个策略。
### 本地开发(无 Docker)
```
# 后端
cd backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
DATABASE_URL=postgresql+asyncpg://mond:mond@localhost:5432/mond \
uvicorn main:app --reload
# 前端
cd frontend
npm install
npm run dev
```
## 🤖 AI 工作原理
如果没有 API 密钥,系统将运行**默认规则 fallback**,以便 OSS 用户可以从一开始就浏览 UI。如果设置了密钥:
| 操作 | 模型 | 触发器 |
|---|---|---|
| **Finding 分析** | `claude-haiku-4-5-20251001`(默认) | 在 UI 中点击 "Run AI analysis" |
| **深度分析** | `claude-sonnet-4-6` | `?deep=true` 查询 |
| **自然语言查询** | `claude-haiku-4-5-20251001` | 调用 `/ai/analyze` |
Claude 始终仅以 strict JSON 格式响应,并且 response token 使用情况会被记录到数据库中。
## 🧩 扫描器适配器
您可以在 `backend/app/scanners/` 中创建新的适配器。
```
class MyAdapter(ScannerAdapter):
name = "my-tool"
supported_asset_types = (AssetType.REPOSITORY.value,)
async def scan(self, asset: Asset) -> ScanResult:
...
return ScanResult(findings=[...], raw_output={...})
```
在 `registry.py` 中注册一行后,它会立即显示在 UI 菜单和扫描触发器中。建议在没有二进制文件时实现返回 stub 结果的逻辑,以避免用户看到空白屏幕。
内置的默认适配器:
- **Trivy** — 容器 image / IaC / SBOM
- **Semgrep** — 静态代码分析 (SAST)
- **Nuclei** — 基于模板的动态扫描 (DAST)
## 🗺️ 路线图
- [x] 5 大领域 + AI triage MVP
- [x] Trivy / Semgrep / Nuclei stub 适配器
- [x] 韩语/英语 i18n(默认 ko · 辅助 en)
- [x] Regulations Guide (K-PIPA · ISMS-P · K-EFSA · CSAP · GDPR · HIPAA · PCI-DSS · SOC2 · ISO-27001 · COPPA · EU AI Act)
- [x] Policy Simulation (PR diff 预览)
- [x] SBOM / Compliance 报告(JSON · Markdown)
- [x] GitHub Webhook 自动扫描
- [x] Slack / Generic Webhook 通知
- [x] MCP 服务器 (stdio + HTTP/SSE)
- [ ] OPA Rego 策略评估
- [ ] CI 集成包 (GitHub Actions / GitLab CI)
- [ ] 多用户 + RBAC + SSO
## 📄 License
MIT — [LICENSE](LICENSE)
React + Vite + Ant Design] API[REST API
FastAPI + asyncpg] AI[AI Engine
Anthropic Claude] SCAN[Scanner Adapters
Trivy · Semgrep · Nuclei] DB[(PostgreSQL)] R[(Redis)] UI -->|/api/v1| API API --> DB API --> R API --> AI API --> SCAN ``` 5 个核心领域:**Asset · Scan · Finding · Policy · AIInsight** - `Asset` — 保护对象(URI + 标签 + 环境) - `Scan` — 适配器单次执行结果 - `Finding` — 基于 fingerprint 去重的安全问题 - `Policy` — 规则集 + Compliance 映射 - `AIInsight` — Claude 生成的 triage / remediation / explain ## 🚀 快速开始 ### 前置要求 - Docker & Docker Compose - (可选)`ANTHROPIC_API_KEY` — 即使没有它,所有界面也能在默认规则模式下运行。 ### 运行 ``` git clone https://github.com/jland-93/mond.git cd mond cp .env.example .env # 如果在 .env 中放入 ANTHROPIC_API_KEY,实际的 Claude 分析将会运行。 docker compose up -d ``` - 后端 API:
**🌙 Illuminating the path to secure DevOps**
标签:AI辅助分析, DevSecOps, GPT, Python, React, Syscalls, 上游代理, 安全扫描, 搜索引擎查询, 无后门, 时序注入, 测试用例, 漏洞管理, 请求拦截, 逆向工具