owwll/codearmor

GitHub: owwll/codearmor

CodeArmor 是一款集成于 VS Code 的 AI 安全扫描器,通过 11 个并行 AI agent 实时检测并验证 40 余种代码漏洞,帮助开发者在编码阶段及时发现和修复安全隐患。

Stars: 0 | Forks: 0

CodeArmor Logo

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安全, 测试用例, 自动化攻击, 蓝队分析, 静态代码扫描