代码安全扫描服务

Asterisk MCP Server 是一个中间件组件,通过实现模型上下文协议(MCP)为AI助手提供实时代码安全分析功能,包括代码片段扫描、代码库扫描和变更验证。

  • by winfunc
  • Python
  • 本地部署
  • 33 星标
  • 更新于
在 GitHub 查看 getAsterisk/asterisk-mcp-server

使用说明

Asterisk MCP服务器

一种模型上下文协议(MCP)服务器,为代码片段、代码库和代码更改验证提供安全扫描功能。

概述

Asterisk MCP服务器是一个连接到Asterisk安全API的中间件组件,用于提供代码的实时安全分析。它实现了模型上下文协议(MCP),将安全扫描工具暴露给Claude、Cursor、Cline、Windsurf等人工智能助手,使他们能够分析代码中的安全漏洞。

建筑

flowchart LR
    IDE["IDE / Code Editor"] <--> |MCP Protocol| MCP["Asterisk MCP Server"]
    MCP <--> |HTTP/HTTPS| API["Asterisk Vulnerability Scanner API"]
    
    classDef primary fill:#6696FF,stroke:#333,stroke-width:1px,color:white;
    classDef secondary fill:#45556B,stroke:#333,stroke-width:1px,color:white;
    classDef tertiary fill:#FFCC00,stroke:#333,stroke-width:1px,color:black;
    
    class IDE primary;
    class MCP secondary;
    class API tertiary;

特性

  • 代码段扫描:分析单个代码片段的安全漏洞
  • 代码库扫描:通过准确的上下文覆盖扫描多个文件以查找安全问题
  • 变更验证:验证聊天记录中的代码更改是否会引入安全漏洞
  • 漂亮的设置UI:通过图形界面配置服务器
  • 柔性运输:支持stdio和SSE传输协议
  • 综合录井:具有可配置详细程度的详细日志记录

需求

  • Python 3.10+
  • pipx/uvx
  • httpx
  • mcp[cli]
  • dearpygui(用于设置UI)

用法

{
  "mcpServers": {
    "asterisk-mcp": {
      "command": "pipx",
      "args": [
        "run",
        "asterisk-mcp-server",
        "--api-url",
        "https://api.mcp.asterisk.so",
        "--transport",
        "stdio",
        "--key",
        "YOUR_API_KEY"
      ],
      "timeout": 3600
    }
  }
}

配置

可以通过命令行参数或设置UI提供配置:

API服务器设置

  • --api-url:Asterisk API服务器的基本URL
  • --key:用于身份验证的API密钥(API访问所需)
  • --timeout:API请求的超时(以秒为单位)(0表示无超时)

MCP服务器设置

  • --server-name:MCP服务器的名称
  • --transport:MCP服务器的传输协议(stdio或sse)
  • --port:SSE服务器的端口(与--transport SSE一起使用)

日志记录设置

  • --log-level:日志记录级别(调试、信息、警告、错误、严重)
  • --no-console:禁用控制台输出(仅日志到文件)

可用工具

scan_snippet

扫描单个代码片段以查找安全漏洞。

扫描_降级

扫描多个文件以查找安全问题。

验证

验证代码更改是否会引入安全漏洞。

设置

当用户输入“/星号”时,打开设置UI。

数据流

  1. IDE或代码编辑器使用MCP协议向Asterisk MCP服务器发送请求
  2. MCP服务器处理请求并将其转发给Asterisk漏洞扫描程序API
  3. API分析代码并返回安全性发现
  4. MCP服务器格式化结果并将其返回给IDE/编辑器
  5. IDE/编辑器向用户呈现安全分析

故障排除

连接问题

  • 验证API URL是否正确且可访问
  • 请检查您的API密钥是否有效并且尚未过期
  • 确保您的网络允许连接到API服务器

身份验证错误

  • 验证您的API密钥是否在配置中正确设置
  • 检查您的API密钥是否具有必要的权限
  • 如有必要,从仪表板重新生成API密钥

超时错误

  • 增加大型代码库的API超时设置
  • 考虑单独分析较小的代码部分
  • 检查您的网络连接稳定性

许可证

此项目根据Apache许可证2.0版获得许可。有关完整的许可证文本,请参阅存储库中的LICENSE文件。

获取帮助