AppScan Model Context Protocol (MCP) 服务器

AppScan MCP 服务器HCL AppScan 360° 直接与 AI 赋能的开发环境和代理程序进行集成。通过实施 Model Context Protocol (MCP),此服务器允许 LLM(如 Claude 或在 VS Code 中运行的模型)安全地访问您的安全数据(包括 SAST、DAST、SCA 和 IAST 结果),以帮助您利用自然语言筛选问题、分析结果和实现工作流程自动化。

概述

AppScan MCP 服务器充当您的 AppScan 数据与 AI 助手之间的桥梁。无需手动登录仪表板以检查扫描或结果,您可以直接向 AI 工具提问,例如:
  • “WebGoat 应用程序中有哪些严重的 SAST 问题?”
  • “总结问题 5 的补救建议。”
  • “查找具有‘高’严重性漏洞的所有开源库。”

工具

MCP 服务器提供了一组丰富的工具,让 AI 代理程序可以执行下列操作:
  • 全面的数据访问:查询所有扫描技术(静态、动态、软件组成和交互式分析)的结果。
  • 应用程序和扫描管理:检索特定应用程序、扫描和扫描执行的详细信息。
  • 问题筛选:按严重性、状态或范围(应用程序或扫描级别)过滤问题。
  • 详细分析:获取全面的问题详细信息,包括位置、跟踪信息和特定补救建议。
  • SCA 洞察:查询项目中使用的开源库和许可证信息。
  • 策略:根据安全策略过滤结果。

配置

要使用 AppScan MCP 服务器,请使用您的 HCL AppScan 360° 凭证配置 MCP 客户机(例如,VS Code MCP 扩展或 Claude Desktop)。

先决条件
  1. AppScan 360° 帐户:有效的 AppScan 360° 帐户。
  2. API 密钥:AppScan 360° 仪表板生成 API 密钥标识和密钥。

VS Code 配置

要将 AppScan 添加到 VS Code 中,请编辑 MCP JSON 配置文件(通常位于 MCP 扩展设置中)。添加服务器定义并配置输入提示以实现安全凭证处理。

将以下内容添加至您的配置中:

{
                "servers": {
                "appscan-mcp": {
                "type": "http",
                "url": "https://cloud.appscan.com/mcp",
                "headers": {
                "X-API-KEY": "${input:appscan_api_key_id}:${input:appscan_api_key_secret}"
                }
                }
                },
                "inputs": [
                {
                "id": "appscan_api_key_id",
                "type": "promptString",
                "description": "AppScan API Key Id",
                "default": ""
                },
                {
                "id": "appscan_api_key_secret",
                "type": "promptString",
                "description": "AppScan API Key Secret",
                "default": "",
                "password": true
                }
                ]
                }
            
注: 此配置使用输入提示来确保 API 密钥不会以纯文本格式存储在配置文件中。服务器启动时,系统将提示您输入凭证。

最佳实践:使用 appscan-doc 提示

服务器提供了一个名为 appscan-doc 的内置提示。此提示可以将必要的上下文、架构定义和规则加载到 AI 模型的上下文窗口中。它介绍了如何构建 OData 查询、正确处理 GUID(例如,不带引号)以及对结果进行分页。

在开始分析之前,您必须明确激活此提示。具体方法取决于您的客户机:

VS 代码

在聊天界面中开始键入 /mcp。此时将显示可用提示列表;从列表中选择 appscan-doc。

Visual Studio 2022
  1. 单击聊天窗口中的 + 参考按钮。
  2. 选择选项以查看和应用 MCP 提示。
  3. 从可用选项中选择 appscan-doc

Windsurf

使用格式 /<mcp-server-name>/<prompt-name> 明确输入命令。

对于此服务器,请键入:
/appscan-mcp/appscan-doc

为什么这很重要?加载后,AI 可以正确查询 API。例如,它使用 enums 的字符串值(如 Status eq 'Open')而不是数值。

直接代码修复

在 IDE 中使用 AppScan MCP 的一个关键好处是能够将修复方案直接应用于您的代码。

如果在 IDE 工作空间中提供了经过扫描的源代码(通过 SAST、DAST、SCA 或 IAST),则 AI 模型可以将安全结果与本地文件相关联。get_issue_details 工具为 AI 提供确切的文件位置、跟踪信息和补救建议。然后,AI 可以将这些信息映射到您打开的文件,并应用必要的代码更改。

示例工作流程:
  1. 打开项目:确保在 IDE(VS Code、Windsurf 等)中打开了已扫描的项目。
  2. 请求进行修复:请求 AI 解决具体问题。“获取‘PaymentService’应用程序的高严重性 SAST 结果。查找 SQL 注入问题并对我的代码应用修复。”
  3. AI 操作:
    1. AI 会查询 MCP 服务器,以获取问题详细信息(行号、存在漏洞的代码段和修复逻辑)。
    2. 它将在您的本地工作空间中找到相应的文件。
    3. 它会生成代码补丁,并直接在编辑器中应用修复。

高级工作流程和集成

由于 MCP 是标准协议,因此您可以将 AppScan 服务器与其他 MCP 服务器链接起来,以创建强大的自动化工作流程。

示例:自动化凭单创建 (AppScan + Jira)

如果您同时配置了 AppScan MCPJira MCP,则可以在单个对话中执行复杂的筛选任务:

用户提示:

“查找‘Retail-Frontend’应用程序中的前 3 个严重问题。对于每个问题,在我们的 Jira 项目‘SEC’中创建一个包含问题描述和补救建议的缺陷凭单。”

AI 代理程序将:
  1. 使用 AppScan 工具查询严重问题并获取其补救详细信息。
  2. 将数据格式化为 Jira 凭单结构。
  3. 使用 Jira 工具发布新的凭单。
  4. 将新的 Jira 凭单链接返回给您。