CodeSlick MCP服务器
通过模型上下文协议(MCP)对源代码进行全面的安全分析。运行306安全检查,检测秘密,扫描依赖关系,并直接从Cursor、Claude Desktop或任何兼容MCP的AI工具生成SBOM。
特性
- 306安全检查 跨7种格式(JavaScript、TypeScript、Python、Java、Go、Terraform、Kubernetes)
- OWASP 2025合规性 (95%的覆盖率),CVSS评分为3.1
- AI代码检测 164个信号(幻觉、启发式、LLM指纹)
- 秘密检测 用于38种模式(API密钥、密码、令牌、证书)
- 依赖关系扫描 适用于npm、pip、Maven、Gradle、Go模块
- SBOM生成 SPDX 2.3和CycloneDX 1.4格式
- AI物料清单 -库存任何代码库中的人工智能模型、MCP工具、代理框架和API密钥
- 恶意包检测 66个已知包装
安装
先决条件:CodeSlick CLI必须全局安装。
npm install -g codeslick光标
添加 ~/.cursor/mcp.json (如果不存在则创建):
{
"mcpServers": {
"codeslick": {
"command": "npx",
"args": ["-y", "codeslick-mcp-server@latest"],
"env": {}
}
}
}重新启动游标。CodeSlick工具将出现在MCP工具面板中。
克劳德桌面
添加 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"codeslick": {
"command": "npx",
"args": ["-y", "codeslick-mcp-server@latest"]
}
}
}在Windows上: %APPDATA%\Claude\claude_desktop_config.json
重新启动克劳德桌面。单击锤子图标以确认列出了CodeSlick工具。
克劳德代码(CLI)
claude mcp add codeslick -- npx -y codeslick-mcp-server@latest或手动添加到 ~/.claude/mcp.json:
{
"mcpServers": {
"codeslick": {
"command": "npx",
"args": ["-y", "codeslick-mcp-server@latest"]
}
}
}可用工具
1. analyze_code
对源代码进行全面的安全分析。
参数:
code(字符串,必填):要分析的源代码language(字符串,必填):其中之一javascript,typescript,python,java,go,terraform,kubernetesfilename(字符串,可选):上下文的文件名
例子:
Analyze this JavaScript code for security issues:
function login(username, password) {
const query = "SELECT * FROM users WHERE username='" + username + "'";
// ... SQL injection vulnerability
}输出:
- 安全评分(0-100)
- 包含严重性、CVSS评分、OWASP/CWE映射的漏洞列表
- 带有前后代码示例的补救指南
- 攻击向量描述
2. scan_dependencies
扫描项目依赖关系以查找漏洞。
参数:
content(string,必填):依赖文件的内容(package.json、requirements.txt等)type(字符串,必填):其中之一npm,pip,maven,gradle,go
例子:
Scan this package.json for vulnerable dependencies:
{
"dependencies": {
"express": "4.16.0",
"lodash": "4.17.0"
}
}输出:
- 带有CVE ID的易受攻击的软件包
- 恶意包检测
- 升级建议
- 严重性细分
3. generate_sbom
生成软件物料清单。
参数:
content(string,必填):依赖文件的内容type(字符串,必填):其中之一npm,pip,maven,gradle,goformat(字符串,可选):其中之一spdx,cyclonedx,both(默认值:both)projectName(字符串,可选):元数据的项目名称projectVersion(字符串,可选):元数据的项目版本
例子:
Generate SBOM for this package.json in SPDX format:
{
"name": "my-app",
"version": "1.0.0",
"dependencies": {
"react": "^18.0.0"
}
}输出:
- SPDX 2.3格式的SBOM
- CycloneDX 1.4格式的SBOM
- 组件计数和元数据
- 许可信息
4. detect_secrets
检测源代码中的硬编码秘密。
参数:
code(字符串,必填):要扫描的源代码language(字符串,可选):其中之一javascript,typescript,python,java,go,terraform,kubernetesfilename(字符串,可选):上下文的文件名
例子:
Check this code for hardcoded secrets:
const config = {
awsAccessKey: "AKIAIOSFODNN7EXAMPLE",
dbPassword: "super_secret_password_123"
};输出:
- 检测到具有模式类型的秘密
- 严重性(严重、高、中)
- 行号
- 补救步骤
- 风险描述
5. generate_ai_bom
生成AI物料清单(AI-BOM)——代码库中所有AI组件的结构化清单。
参数:
code(string):要扫描的源代码(单个文件)。使用files用于多文件扫描。filename(string,可选):上下文的文件名(例如。,"agent.ts")files(对象,可选):地图filename → content用于多文件扫描
检测:
- 人工智能模型API调用:OpenAI、Anthropic、Gemini、Ollama、HuggingFace、Cohere、Mistral、Groq、Azure OpenAI、Replicate、Together AI、Vercel AI SDK、OpenRouter
- MCP工具注册:
server.tool(),FastMCP,@Tool装饰器、McpServer、MCP SDK导入 - 代理框架:LangChain、AutoGen、CrewAI、Mastra、LlamaIdex、DSPy、Haystack、PydanticAI、语义内核、BeeAgent、Agentkit
- AI API密钥:
OPENAI_API_KEY,ANTHROPIC_API_KEY,GEMINI_API_KEY和其他11人
示例(单个文件):
What AI providers does this code use?
import OpenAI from 'openai';
import { ChatOpenAI } from '@langchain/openai';
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'Hello' }],
});示例(多文件):
Generate an AI BOM for these files:
- app/api/chat/route.ts: [content]
- lib/agents/researcher.ts: [content]
- .env.example: [content]输出:
- 检测到的AI提供者和模型名称
- 在服务器中注册的命名MCP工具
- 代理框架和导入路径
- 按文件和行列出的AI API关键引用
语言支持
| 语言 | 安全检查 | 功能 |
|---|---|---|
| JavaScript | 36项检查 | XSS、注入、不安全功能、MCP安全 |
| TypeScript | 64项检查 | 类型安全+JS检查,MCP安全 |
| python | 51项检查 | SQL注入、pickle、eval、MCP安全 |
| Java | 32次检查 | XXE、反序列化、LDAP注入 |
| 去 | 26个检查 | SQL注入、文件路径、加密 |
| 地形 | 22次检查 | AWS配置错误、机密、PII |
| Kubernetes | 37项检查 | RBAC、pod安全、机密 |
安全检查类别
- 注入攻击:SQL、XSS、命令注入、LDAP注入
- 身份验证/授权:弱加密、不安全会话、RBAC问题
- 敏感数据泄露:硬编码机密、PII、API密钥
- XML/反序列化:XXE,不安全的pickle,Java反序列化
- 安全配置错误:缺少安全标头、SSL弱、默认值不安全
- 已知漏洞:恶意软件包、过时的依赖项
- AI代码检测:LLM幻觉,AI生成的模式
OWASP 2025覆盖范围
- A01:2021-访问控制中断: ✅ 100%
- A02:2021-加密失败: ✅ 100%
- A03:2021-注射: ✅ 100%
- A04:2021-不安全的设计: ✅ 95%
- A05:2021-安全配置错误: ✅ 90%
- A06:2021-易损部件: ✅ 100%
- A07:2021-身份验证失败: ✅ 100%
- A08:2021-数据完整性故障: ✅ 85%
- A09:2021-记录失败: ✅ 90%
- A10:2021-SSRF: ✅ 100%
总体覆盖范围: 95%
例子
示例1:分析Python代码
User: Analyze this Python code for security issues:
import pickle
import os
def load_data(filename):
with open(filename, 'rb') as f:
data = pickle.load(f) # Unsafe deserialization
return data
def execute_command(user_input):
os.system("ls " + user_input) # Command injection克劳德代码响应:
# CodeSlick Security Analysis Report
**Language:** python
**Security Score:** 42/100
**Total Vulnerabilities:** 2
## Vulnerability Summary
[CRITICAL]: 2
---
## Top Vulnerabilities
### 1. Unsafe Pickle Deserialization
**Severity:** CRITICAL
**CVSS Score:** 9.8/10
**OWASP:** A08:2021
**CWE:** CWE-502
**Recommendation:** Use safe alternatives like JSON or XML. Never unpickle data from untrusted sources.
**Fix:**// Before: data = pickle.load(f)
// After: import json data = json.load(f)
将pickle替换为JSON以实现安全的反序列化。
______________________________________________________________________
### 2.通过os.system()进行命令注入
**严重程度:** 关键的
**CVSS评分:** 9.8/10
**OWASP:** A03:2021
**CWE:** CWE-78
**建议:** 使用带有shell=False和参数列表的子进程,而不是os.system()。
**修复:**
// Before: os.system("ls " + user_input)
// After: subprocess.run(["ls", user_input], shell=False, check=True)
使用带有参数数组的子进程来防止命令注入。
Example 2: Scan Dependencies
用户:扫描这些npm依赖项:
{
“依赖关系”:{
“快递”:“4.16.0”,
“矿脉”:“4.17.0”,
“事件流”:“3.3.4”
}
}
Claude Code Response:
# 依赖性扫描报告
**包管理器:** npm
**总漏洞数:** 3
## 漏洞摘要
______________________________________________________________________
## 脆弱的依赖关系
### 1.event-stream@3.3.4
**严重程度:** 关键的
**问题:** 恶意软件包-比特币钱包窃贼(CVE-2018-3721)
**修复:** 立即移除-使用替代包装
### 2.lodash@4.17.0
**严重程度:** 高
**问题:** 原型污染(CVE-2019-10744)
**修复:** 升级至4.17.21版本
### 3.express@4.16.0
**严重程度:** 高
**问题:** 开放重定向漏洞(CVE-2018-3717)
**修复:** 升级到4.18.0版本
Performance
- Analysis Speed: <3s for typical files (WebTool requirement)
- Memory Usage: Low (optimized AST traversal)
- False Positive Rate: <10% (context-aware filtering)
Privacy Policy
CodeSlick MCP Server prioritizes your privacy and security:
Data Processing
- Local Processing Only: All code analysis is performed locally on your machine
- No Data Collection: We do not collect, store, or transmit your source code
- No Telemetry: No usage statistics, analytics, or tracking of any kind
- No Account Required: The MCP server works completely offline without authentication
Network Activity
- Fully Offline: Security analysis runs without internet connectivity
- Optional External Calls: Only for dependency scanning (OSV.dev vulnerability database) if enabled
- No Third-Party Services: No data sent to CodeSlick servers or any third parties
API Key Usage
- Your Keys, Your Control: If using advanced AI features, your OpenRouter API key is used directly
- No Key Storage: API keys are not stored or logged by the MCP server
- No Access: CodeSlick does not see or have access to your API keys
Open Source & Auditable
- MIT License: Fully open source and auditable
- Transparent Code: All source code available for security review
- No Hidden Functionality: What you see is what you get
CodeSlick Web Service (Separate)
This MCP server is separate from the CodeSlick web service. For the web service privacy policy, see: https://codeslick.dev/privacy
Contact
For privacy-related questions: privacy@codeslick.dev
Support
- Documentation: https://codeslick.dev/docs
- Issues: https://github.com/VitorLourenco/codeslick2/issues
- Email: support@codeslick.dev
License
MIT License - Copyright (c) 2026 CodeSlick
Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
Roadmap
- [ ] C/C++ language support
- [ ] Rust language support
- [ ] CloudFormation support
- [ ] Custom rule configuration
- [ ] CI/CD integration templates
- [ ] VS Code extension
Credits
Built with:
- @modelcontextprotocol/sdk - MCP SDK by Anthropic
- TypeScript - Type-safe JavaScript
- CodeSlick - Security analysis engine
Made by the CodeSlick team
