返回市场
代码审计师-MCP

代码审计师-MCP

作者:BenAHammond4 星标更新:2025-10-24

项目介绍

代码审计器:AI驱动的多语言代码智能

您的AI能够跨语言理解您的代码。 代码审计器索引您的整个代码库(TypeScript、JavaScript 和 Go),并提供实时分析,这些分析可以被像Claude这样的AI助手使用,帮助您编写更好的代码。

解决的问题

AI编码助手功能强大,但它们是盲目的。它们无法搜索您的代码库,不了解您的模式,并且会错过关键上下文。代码审计器通过创建一个可搜索的索引,包含您代码中的每个函数、组件和模式,改变了这一点。

工作原理

  1. 索引 - 自动编目函数、React组件、Go结构体和依赖项
  2. 分析 - 检测多种语言中的SOLID原则违规、代码重复和安全问题
  3. 连接 - AI助手通过MCP(模型上下文协议)访问您的代码索引
  4. 迭代 - 根据您的实际代码库模式获得智能建议

快速开始(2分钟)

# 使用Claude Code CLI添加到项目中
claude mcp add code-auditor -- npx code-auditor-mcp

# 就这样!现在询问Claude:
# "我的代码库中有哪些认证函数?"
# "查找所有API端点并检查速率限制"
# "显示处理用户数据的Go结构体"
# "比较TypeScript和Go实现的同一特性"

核心功能

🔍 多语言代码搜索

"查找所有验证用户输入的函数"
"显示我们调用支付API的地方"
"哪些Go结构体实现了User接口?"
"比较TypeScript和Go中的错误处理模式"

🎯 智能代码分析

  • SOLID原则 - 在架构问题扩散之前捕获它们
  • DRY原则违规 - 查找应重构的重复代码
  • 安全模式 - 验证身份验证、速率限制和SQL注入保护
  • 死代码 - 识别未使用的导入和函数

🤖 AI工具集成

自动生成配置:

  • Claude(通过MCP)
  • Cursor
  • Continue
  • GitHub Copilot
  • 其他10多个AI助手

⚙️ 持久配置

设置一次您的分析器偏好:

您: "将SOLID分析器设置为允许组件有3个职责"
Claude: 配置已保存!所有未来的审核都将使用此设置。

实例

示例1:查找认证模式

您: "显示所有与认证相关的函数"
Claude: 在8个文件中找到23个函数:
- `validateToken()` 在auth/tokens.ts:45
- `requireAuth()` 在middleware/auth.ts:12
- `checkPermissions()` 在auth/permissions.ts:78
...

示例2:分析代码质量

您: "审核用户服务中的问题"
Claude: 找到3个关键问题:
- 单一责任原则违反:UserService同时处理认证和资料更新
- SQL注入风险:在getUserByEmail()第234行的原始查询
- 密码重置端点缺少速率限制

示例3:发现模式

您: "查找类似于DataTable的React组件"
Claude: 找到4个相似的组件:
- `UserTable` - 以用户特定列扩展DataTable
- `OrderGrid` - 实现类似的分页模式
- `ProductList` - 使用相同的过滤方法

安装选项

全局安装

npm install -g code-auditor-mcp
code-audit  # 运行分析

项目安装

npm install --save-dev code-auditor
npx code-audit

CI/CD集成

# GitHub Actions
- 名称:代码审计
  运行:npx code-audit --fail-on-critical

关键命令

code-audit                    # 全面分析并生成HTML报告
code-audit -f json           # 用于CI/CD的JSON输出
code-audit -a solid,dry      # 运行特定的分析器
code-audit --health          # 快速健康评分(0-100)

反馈循环

  1. 编写代码 → 代码审计器自动索引它
  2. 询问AI → "是否有验证电子邮件的函数?"
  3. 获取上下文 → AI找到validateEmail()和类似模式
  4. 改进 → AI建议使用现有验证而不是复制
  5. 重复 → 您的AI对您的代码库越来越了解

配置

为您的架构设置自定义阈值:

// 通过MCP
mcp.set_analyzer_config({
  analyzerName: "solid",
  config: {
    maxUnrelatedResponsibilities:  4,
    patternThresholds: {
      "Dashboard": { maxResponsibilities: 6 }
    }
  }
});

高级搜索操作符

您想要什么搜索查询
复杂函数complexity:>10
仅Go函数lang:go
TypeScript组件lang:typescript component:functional
未记录的导出exported:true jsdoc:false
React钩子使用component:functional hook:useState
Go结构体方法lang:go entity:struct
查找依赖项calls:validateUser
跨语言模式name:validateEmail
未使用的导入unused-imports file:src

性能

  • 在几秒钟内索引10,000多个函数
  • 文件更改时进行增量更新
  • 使用LokiJS进行快速内存搜索
  • 使用FlexSearch进行智能查询

贡献

参见CONTRIBUTING.md以获取指南。

许可证

MIT - 随时随地使用。


准备好给您的AI透视您的代码的能力了吗?

claude mcp add code-auditor -- npx code-auditor-mcp