浏览器扩展安全分析服务

SecureAnnex MCP Server是一个用于分析浏览器扩展安全的模型上下文协议服务器,提供查询、分析和评估浏览器扩展安全性的工具,包括漏洞检测、签名检查、代码审查等功能。

  • by arsolutioner
  • Python
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 arsolutioner/secure-annex-mcp

使用说明


SecureAnnex MCP服务器

用于分析浏览器扩展安全性的模型上下文协议(MCP)服务器。此服务器提供用于查询、分析和评估浏览器扩展的安全方面的工具,包括漏洞检测、签名检查、代码审查等。

快速设置

不需要手动设置Python环境。此MCP服务器旨在与Claude Desktop配合使用,后者使用 uv 包管理器和包含 pyproject.toml 文件。

开始:

  1. 下载或克隆此存储库
  2. 确保 pyproject.toml 文件位于项目目录中
  3. 配置Claude桌面,如下所示
  4. 可选:如果克劳德找不到 uv 命令,改用绝对路径,您可以通过运行以下命令找到绝对路径 which uv 在你的终端。

Claude桌面配置

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "secureannex": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/secure-annex-mcp",
        "run",
        "secure_annex_mcp"
      ],
      "env": {
        "SECUREANNEX_API_KEY": "your_api_key_here"
      }
    }
  }
}

备注:替换 /path/to/secure-annex-mcp 带有SecureAnnex MCP服务器目录的绝对路径。

项目结构

secure-annex-mcp/
├── pyproject.toml         # Package configuration
├── README.md              # Project documentation
└── secure_annex_mcp/      # Main package
    ├── __init__.py        # Package initialization
    ├── __main__.py        # Entry point when run as a module
    └── server.py          # MCP server implementation

可用工具

扩展搜索和信息

  • 搜索_扩展:根据各种条件搜索浏览器扩展

    • 参数:name、extension_id、owner、featured、active、page、page_size
  • get_extension_details:获取特定扩展的详细信息

    • 参数:extension_id(必填)
  • get_extension_versions:获取特定扩展的版本历史记录

    • 参数:extension_id(必填),版本

证券分析

  • get_extension_vulbility:获取特定扩展的安全漏洞

    • 参数:extension_id(必填),版本
  • get_extension_signatures:获取特定扩展的安全签名

    • 参数:extension_id(必填)、版本、规则
  • get_extension_urls:获取特定扩展使用的网络URL

    • 参数:extension_id(必填)、版本、域
  • get_extension_manifest_risks:获取特定扩展的清单权限风险

    • 参数:extension_id(必填)、版本、风险类型
  • get_extension_analysis:获取特定扩展的AI安全分析

    • 参数:extension_id(必填)
  • get_extension_code_review:获取特定扩展的代码安全审查

    • 参数:extension_id(必填),版本

用户反馈

  • get_extension_reviews:获取特定扩展的用户评论
    • 参数:extension_id(必填),评级

更新

  • get_recent_updates:获取最近更新的扩展
    • 参数:无

示例用法

以下是一些如何与Claude一起使用这些工具的实际示例:

搜索扩展

# Get all extensions developed by specific developer
I need to find all extensions by help@getadblock.com

# Claude would use:
{
  "name": "search_extensions",
  "arguments": {
    "owner": "help@getadblock.com"
  }
}

证券分析

# Get all security signatures for an extension
Show me all security signatures for the AdBlock extension

# Claude would use:
{
  "name": "get_extension_signatures",
  "arguments": {
    "extension_id": "gighmmpiobklfepjocnamgkkbiglidom"
  }
}

# Extract all network domains from an extension
Extract all domains embedded in the AdBlock extension

# Claude would use:
{
  "name": "get_extension_urls",
  "arguments": {
    "extension_id": "gighmmpiobklfepjocnamgkkbiglidom"
  }
}

# Analyze manifest permissions
Show me a table of all permissions requested by AdBlock with explanations

# Claude would use:
{
  "name": "get_extension_manifest_risks",
  "arguments": {
    "extension_id": "gighmmpiobklfepjocnamgkkbiglidom"
  }
}

与其他MCP集成

# Leveraging VirusTotal MCP for domain reputation
Can you extract all domains from the AdBlock extension and check their reputation on VirusTotal?

# Claude would use both SecureAnnex and VirusTotal MCPs:
# 1. First, get domains from SecureAnnex
{
  "name": "get_extension_urls",
  "arguments": {
    "extension_id": "gighmmpiobklfepjocnamgkkbiglidom"
  }
}

# 2. Then for each domain, check VirusTotal
{
  "name": "domain_report",  // VirusTotal MCP tool
  "arguments": {
    "domain": "example.com"  // For each domain found
  }
}

# 3. Claude would compile results into a table:
| Domain | Reputation | Detection Ratio | Categories |
|--------|------------|-----------------|------------|
| domain1.com | Clean | 0/85 | Advertising |
| domain2.com | Suspicious | 3/85 | Marketing |

综合分析

# Request a complete security review of an extension
Perform a full security audit of the AdBlock extension

# Claude would combine multiple tools:
{
  "name": "get_extension_details",
  "arguments": {
    "extension_id": "gighmmpiobklfepjocnamgkkbiglidom"
  }
}

{
  "name": "get_extension_vulnerabilities",
  "arguments": {
    "extension_id": "gighmmpiobklfepjocnamgkkbiglidom"
  }
}

{
  "name": "get_extension_analysis",
  "arguments": {
    "extension_id": "gighmmpiobklfepjocnamgkkbiglidom"
  }
}

API密钥

SecureAnnex MCP服务器需要API密钥才能通过SecureAnness API进行身份验证。从SecureAndment服务获取API密钥,并将其包含在如上所示的Claude Desktop配置中。

故障排除

如果您遇到任何问题:

  1. 确保在环境变量中正确设置了API密钥
  2. 验证Claude Desktop配置中的路径是否正确