owwll/codearmor
GitHub: owwll/codearmor
CodeArmor 是一款集成于 VS Code 的 AI 安全扫描器,通过 11 个并行 AI agent 实时检测并验证 40 余种代码漏洞,帮助开发者在编码阶段及时发现和修复安全隐患。
Stars: 0 | Forks: 0
CodeArmor — AI-Powered Security Scanner for VS Code
CodeArmor 是一款高级安全工具,可自动扫描您的代码库以查找安全漏洞。
## 功能简介
CodeArmor 运行 11 个并行 AI agent 来检测您项目中的安全弱点,通过 ArmorClaw 服务验证并整合发现的问题,最后在交互式 VS Code 面板和独立的 Admin 控制台中展示扫描结果。
## 漏洞覆盖范围
CodeArmor 通过 11 个 AI agent 扫描 40 多种漏洞类型:
1. **Route Analyst**:Endpoint 结构、缺少输入验证、路径参数安全。
2. **Auth Inspector**:缺少身份验证、IDOR 漏洞、不充分的基于角色的访问控制。
3. **Injection Hunter**:SQL Injection、NoSQL Injection、Command Injection、LDAP Injection、XPath Injection、Template Injection。
4. **Data Flow Tracer**:日志中的敏感数据、冗长的错误信息暴露、敏感响应、URL 中的数据。
5. **Config Auditor**:未加密的凭据、CORS 配置错误、缺少安全标头、缺少速率限制、生产环境中激活的调试设置。
6. **XSS Scanner**:Reflected XSS、Stored XSS、DOM XSS、不安全的模板引擎。
7. **CSRF Scanner**:缺少 CSRF 保护、不正确的 SameSite cookie 属性。
8. **File Security Agent**:Path traversal、不受限制的文件上传、不安全的文件权限。
9. **API Security Agent**:Mass assignment、IDOR、输入验证。
10. **Business Logic Agent**:Open redirects、SSRF、不安全的反序列化、竞态条件、业务逻辑绕过。
11. **Crypto Auditor**:弱密码、硬编码的 IV、不安全的随机数生成、缺少加密、硬编码的密钥。
## 技术栈
- **Extension**:VS Code Extension API、TypeScript、React、esbuild。
- **Backend**:Node.js、Express、PostgreSQL、Drizzle ORM、bcryptjs、jwt。
- **Admin UI**:React、Vite、Tailwind CSS、Axios。
## 架构概述
```
graph TD
A[VS Code Extension / Webview UI] -->|Trigger Scan| B[Backend Server]
C[Admin UI] -->|API/Metrics| B
B -->|Orchestrate| D[11 Parallel AI Agents]
D -->|Raw Findings| E[ArmorClaw Validator]
E -->|Consolidate & Score| F[PostgreSQL Database]
```
## 安全评分公式
CodeArmor 使用基于扣分的公式计算出满分 100 的安全评分:
$$\text{Score} = \max(0, 100 - \text{CriticalDeduction} - \text{WarningDeduction} - \text{InfoDeduction})$$
扣分规则如下:
- **CRITICAL 发现**:每项 -15 分(上限 -60 分)
- **WARNING 发现**:每项 -5 分(上限 -30 分)
- **INFO 发现**:每项 -1 分(上限 -10 分)
## 项目结构
CodeArmor 采用基于功能(领域驱动)的文件夹结构,以确保可扩展性和可维护性:
```
codearmor/
├── backend/
│ └── src/
│ ├── features/
│ │ ├── admin/ # Admin-related APIs
│ │ ├── armoriq/ # ArmorIQ / ArmorClaw integration
│ │ ├── auth/ # Authentication APIs
│ │ └── scan/ # Security scanning orchestration
│ ├── db/ # Drizzle ORM setup and schema
│ └── agents/ # AI agent definitions
├── admin-ui/ # React UI for managing vulnerabilities
└── extension/ # VS Code extension and Webview UI
```
## 快速入门与设置
1. **环境设置**:
将 `.env.example` 复制到 `backend/` 目录下的 `.env` 文件中,并配置相应的密钥。
2. **设置数据库**:
cd backend
npm install
npm run setup-db
npm run create-admin
3. **运行 Backend**:
npm run dev
4. **运行 Admin UI**:
cd ../admin-ui
npm install
npm run dev
5. **运行 Extension**:
在 VS Code 中打开 `extension/` 目录并按 `F5` 开始调试。
## AI 上下文能力
CodeArmor 的 agent 由具有超大上下文窗口的模型提供支持(例如,高达 2,000,000 个 token)。这使得系统能够:
- 在单次分析上下文中处理**整个中大型代码库**(150,000 到 300,000+ 行代码)。
- 使用动态探索策略(搜索、列出和有针对性的读取),甚至可以高效地扫描更大型的企业级代码仓库。
- 在不“遗忘”先前上下文的情况下,关联多个文件和模块中的漏洞,从而确保对架构的深刻理解。
标签:AI安全, Chat Copilot, MITM代理, Web安全, 测试用例, 自动化攻击, 蓝队分析, 静态代码扫描