OpenChecker 是一个全面的软件分析与合规检测平台,通过自动化的安全、许可证和质量评估,为软件开发团队提供端到端的代码仓库合规解决方案。
- 安全漏洞检测 - 基于OSV数据库的深度安全扫描
- 许可证合规 - 智能识别和分析开源许可证兼容性
- 代码质量评估 - 集成SonarQube进行代码质量分析
- 依赖关系分析 - 全面的软件依赖树和风险评估
- 二进制文件检测 - 识别和标记潜在的二进制安全风险
- 云原生设计 - 基于Kubernetes的可扩展容器化部署
- 异步消息处理 - RabbitMQ驱动的高并发任务处理
- 智能负载均衡 - 多Agent并发执行,提升检测效率
- 容错机制 - 死信队列保障任务可靠性
- 项目智能分类 - 基于机器学习的项目类型自动识别
- 聚类分析 - 相似项目模式识别和风险预测
- 智能报告生成 - 自动化合规报告和建议生成
- 企业级软件开发 - 开源治理、合规审计、供应链安全
- DevOps集成 - CI/CD流水线集成、自动化检测、质量门禁
- 开源项目管理 - 社区项目审查、贡献者指导、健康度监控
OpenChecker采用现代化的微服务架构,确保高可用性、可扩展性和容错能力:
flowchart TD
subgraph "外部用户"
User["开发者/企业用户"]
CICD["CI/CD系统"]
WebClient["Web客户端"]
end
subgraph "入口层"
DNS["DNS解析<br/>openchecker.mlops.pub"]
Ingress["Nginx Ingress<br/>SSL终端/负载均衡"]
end
subgraph "应用层"
API["Flask API<br/>主应用"]
Auth["JWT认证<br/>身份验证"]
end
subgraph "消息层"
RMQ["RabbitMQ<br/>消息代理"]
MainQueue["opencheck队列<br/>主任务队列"]
DLQ["dead_letters队列<br/>死信队列"]
end
subgraph "工作层"
Agent1["Agent 1<br/>分析代理"]
Agent2["Agent 2<br/>分析代理"]
Agent3["Agent 3<br/>分析代理"]
end
subgraph "分析引擎"
OSV["OSV-Scanner<br/>漏洞扫描"]
ScanCode["ScanCode<br/>许可证分析"]
Sonar["SonarQube<br/>代码质量"]
ORT["ORT<br/>依赖分析"]
Binary["Binary-Checker<br/>二进制检查"]
AI["AI分析<br/>智能检查"]
end
subgraph "存储层"
NFS["NFS共享存储<br/>配置和临时文件"]
Config["配置管理<br/>config.ini"]
end
subgraph "外部服务"
GitHub["GitHub API"]
Gitee["Gitee API"]
SonarServer["SonarQube Server"]
LLM["LLM服务<br/>火山引擎"]
end
%% 用户交互流程
User --> DNS
CICD --> DNS
WebClient --> DNS
DNS --> Ingress
Ingress --> API
%% 认证和任务提交
API --> Auth
API --> RMQ
RMQ --> MainQueue
MainQueue --> DLQ
%% 任务分发和执行
MainQueue --> Agent1
MainQueue --> Agent2
MainQueue --> Agent3
%% 分析工具调用
Agent1 --> OSV
Agent1 --> ScanCode
Agent2 --> Sonar
Agent2 --> ORT
Agent3 --> Binary
Agent3 --> AI
%% 存储访问
Agent1 --> NFS
Agent2 --> NFS
Agent3 --> NFS
API --> Config
%% 外部服务集成
Agent1 --> GitHub
Agent2 --> Gitee
Agent2 --> SonarServer
Agent3 --> LLM
classDef userLayer fill:#e1f5fe
classDef entryLayer fill:#f3e5f5
classDef appLayer fill:#e8f5e8
classDef messageLayer fill:#fff3e0
classDef workerLayer fill:#fce4ec
classDef analysisLayer fill:#f1f8e9
classDef storageLayer fill:#e0f2f1
classDef externalLayer fill:#fafafa
class User,CICD,WebClient userLayer
class DNS,Ingress entryLayer
class API,Auth appLayer
class RMQ,MainQueue,DLQ messageLayer
class Agent1,Agent2,Agent3 workerLayer
class OSV,ScanCode,Sonar,ORT,Binary,AI analysisLayer
class NFS,Config storageLayer
class GitHub,Gitee,SonarServer,LLM externalLayer
工具 | 功能 | 输出格式 |
---|---|---|
osv-scanner | 漏洞扫描和安全风险评估 | JSON |
scancode | 许可证和代码信息分析 | JSON |
binary-checker | 二进制文件和归档检测 | JSON |
sonar-scanner | 代码质量和技术债务分析 | JSON |
dependency-checker | 依赖关系和供应链分析 | JSON |
release-checker | 发布内容和签名验证 | JSON |
readme-checker | 文档完整性检查 | JSON |
maintainers-checker | 维护者信息验证 | JSON |
languages-detector | 编程语言识别和统计 | JSON |
- 📋 系统架构设计 - 完整的系统架构设计规范
- 📖 系统概述 - 系统整体介绍与功能概览
- 🏗️ 核心架构 - 系统核心架构设计
- 🔐 API与认证 - 用户系统与API认证鉴权
- 🤖 Agent系统与消息处理 - 分布式Agent架构设计
- 🔍 分析工具与检查器 - 各类分析工具集成
- ⚓ Kubernetes部署 - 容器化部署方案
- 🧪 开发与测试 - 开发环境与测试策略
📖 访问 DeepWiki 在线文档 以获得更好的阅读体验。
- Python 3.8+
- Docker & Kubernetes
- RabbitMQ
- 足够的存储空间用于代码分析
-
克隆仓库
git clone https://github.com/your-org/openchecker.git cd openchecker
-
安装依赖
pip install -r requirements.txt
-
配置系统
cp config/config.ini.example config/config.ini # 编辑配置文件,设置SonarQube、Gitee等必要参数
-
启动服务
# 使用Docker Compose快速启动 docker-compose up -d # 或者使用Kubernetes部署 kubectl apply -f k8s/
所有API端点都需要JWT认证。首先获取访问令牌:
curl -X POST http://your-domain/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"your-username","password":"your-password"}'
curl -X POST http://your-domain/opencheck \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"commands": ["osv-scanner", "scancode", "sonar-scanner"],
"project_url": "https://github.com/example/project.git",
"callback_url": "https://your-domain/callback",
"task_metadata": {
"project_name": "示例项目",
"team": "开发团队A"
}
}'
- Fork本仓库
- 创建功能分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m '添加某个很棒的功能'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 创建Pull Request
- 项目维护者: Guoqiang QI
- 问题反馈: GitHub Issues
OpenChecker - 让软件合规检测变得简单、高效、智能 🚀