Back to MCP directory
publicPublicdnsLocal runtime

fedramp20xmcp

FedRAMP 20x MCP服务器是一个基于模型上下文协议的工具,提供对FedRAMP 20x安全要求和控制的访问,特别关注Azure优先指导。它加载官方FedRAMP文档数据,提供查询、代码分析、自动化证据收集和合规性验证等功能,支持多种编程语言和基础设施即代码,帮助团队实现FedRAMP合规。

article

README

🚀 FedRAMP 20x MCP 服务器

FedRAMP 20x MCP 服务器是一个基于 Model Context Protocol(MCP)的服务器,它提供对 FedRAMP 20x 安全要求和控制的访问,并提供以 Azure 优先的指导。该服务器从官方的 FedRAMP 文档仓库加载数据,支持通过控制、家族或关键字查询要求,同时提供了丰富的工具和提示,帮助用户进行 FedRAMP 20x 合规性的规划、实施、监控和审计。

🚀 快速开始

前提条件

  • Python 3.10 或更高版本
  • pip(包含在 Python 中)
  • Python 必须在系统的 PATH 环境变量中

安装步骤

# 克隆仓库
git clone https://github.com/KevinRabun/FedRAMP20xMCP.git
cd FedRAMP20xMCP

# 创建虚拟环境并安装
python -m venv .venv
source .venv/bin/activate  # 在 Windows 上使用:.venv\Scripts\activate
pip install -e .

# 如果使用 uv(替代包管理器):
uv pip install -e .

依赖项

  • mcp>=1.2.0 - Model Context Protocol SDK
  • httpx>=0.27.0 - 用于获取 FedRAMP 数据的 HTTP 客户端
  • openpyxl>=3.1.0 - 用于导出功能的 Excel 文件生成库
  • python-docx>=1.1.0 - 用于 KSI 规范的 Word 文档生成库
  • tree-sitter>=0.21.0 - 用于代码分析的 AST 解析库
  • tree-sitter-python>=0.21.0 - tree-sitter 的 Python 语言绑定
  • tree-sitter-c-sharp>=0.21.0 - tree-sitter 的 C# 语言绑定
  • tree-sitter-java>=0.21.0 - tree-sitter 的 Java 语言绑定
  • tree-sitter-javascript>=0.21.0 - tree-sitter 的 JavaScript/TypeScript 语言绑定

故障排除

如果遇到问题,请参阅 高级设置指南 获取详细的故障排除步骤。

✨ 主要特性

完整的数据覆盖

服务器提供对 FedRAMP 20x 文档中 271 项要求(199 项 FRR + 72 项 KSI)和 50 项定义(FRD)的访问。

  • FedRAMP 要求(FRR):涵盖 10 个家族的 199 项要求,如授权数据共享(ADS)、协作持续监控(CCM)等。
  • 关键安全指标(KSI):涵盖 11 个家族的 72 项指标,如架构、功能和资源(AFR)、持续证据交付(CED)等。
  • FedRAMP 定义(FRD):50 项官方术语定义。

丰富的功能特性

  • 自动化证据收集:为所有 65 个活跃的 KSI 提供完整的自动化指导,包括 Azure 原生服务、即用型查询和工件规范。
  • 多样化的查询方式:支持按控制、家族或关键字查询要求,以及查询 FedRAMP 定义和关键安全指标。
  • 基于模式的架构:使用统一的基于模式的架构进行所有 FedRAMP 20x 合规性分析,支持 14 种语言,具有一致性、可维护性、性能和可扩展性等优点。
  • 代码分析工具:提供 AST 驱动的 FedRAMP 合规性扫描,支持 6 种语言(Python、C#、Java、TypeScript/JavaScript、Bicep、Terraform),可对基础设施代码、应用程序代码和 CI/CD 管道进行准确的语义分析。
  • 安全工具:提供 CVE 漏洞检查和依赖项文件检查等安全工具。
  • 审计工具:提供 KSI 覆盖摘要和状态检查等审计工具。
  • KSI 状态工具:跟踪所有 KSI 家族的实施状态。

集成分析能力

提供结合关键安全指标(KSI)和 FedRAMP 修订要求(FRR)的集成分析能力,通过多个示例展示了如何同时使用 KSI 代码分析器和 FRR 分析工具进行全面的安全评估,实现战术代码级发现和战略合规性覆盖的结合。

📦 安装指南

前提条件

  • Python 3.10 或更高版本
  • pip(包含在 Python 中)
  • Python 必须在系统的 PATH 环境变量中

安装步骤

# 克隆仓库
git clone https://github.com/KevinRabun/FedRAMP20xMCP.git
cd FedRAMP20xMCP

# 创建虚拟环境并安装
python -m venv .venv
source .venv/bin/activate  # 在 Windows 上使用:.venv\Scripts\activate
pip install -e .

# 如果使用 uv(替代包管理器):
uv pip install -e .

依赖项

  • mcp>=1.2.0 - Model Context Protocol SDK
  • httpx>=0.27.0 - 用于获取 FedRAMP 数据的 HTTP 客户端
  • openpyxl>=3.1.0 - 用于导出功能的 Excel 文件生成库
  • python-docx>=1.1.0 - 用于 KSI 规范的 Word 文档生成库
  • tree-sitter>=0.21.0 - 用于代码分析的 AST 解析库
  • tree-sitter-python>=0.21.0 - tree-sitter 的 Python 语言绑定
  • tree-sitter-c-sharp>=0.21.0 - tree-sitter 的 C# 语言绑定
  • tree-sitter-java>=0.21.0 - tree-sitter 的 Java 语言绑定
  • tree-sitter-javascript>=0.21.0 - tree-sitter 的 JavaScript/TypeScript 语言绑定

故障排除

如果遇到问题,请参阅 高级设置指南 获取详细的故障排除步骤。

💻 使用示例

与 VS Code 和 GitHub Copilot 配合使用

  1. 安装 VS Code MCP 扩展(如果尚未安装)
  2. 配置 MCP 服务器 - 选择以下范围之一:
    • 选项 A:工作区级别(推荐用于共享) 在项目的 .vscode/mcp.json 中添加以下内容:
      {
        "servers": {
          "fedramp-20x-mcp": {
            "type": "stdio",
            "command": "python",
            "args": ["-m", "fedramp_20x_mcp"]
          }
        }
      }
      
      如果 Python 不在 PATH 中,请更新命令以使用虚拟环境的 Python:
      {
        "servers": {
          "fedramp-20x-mcp": {
            "type": "stdio",
            "command": "${workspaceFolder}/.venv/Scripts/python.exe",  // Windows
            // "command": "${workspaceFolder}/.venv/bin/python",       // macOS/Linux
            "args": ["-m", "fedramp_20x_mcp"]
          }
        }
      }
      
    • 选项 B:用户级别(全局适用于所有项目) 在 VS Code 用户设置 (settings.json) 中添加以下内容:
      {
        "github.copilot.chat.mcp.servers": {
          "fedramp-20x-mcp": {
            "type": "stdio",
            "command": "python",
            "args": ["-m", "fedramp_20x_mcp"]
          }
        }
      }
      
    安全注意事项:请勿在配置中使用 "alwaysAllow"。VS Code 将在首次使用时提示您授予权限,这是一种安全最佳实践。
  3. 可选:配置 VS Code 设置:将 .vscode/settings.json.example 复制到 .vscode/settings.json
  4. 重新加载 VS Code 以激活 MCP 服务器
  5. 授予权限:当 VS Code 提示时(仅首次使用)
  6. 与 GitHub Copilot Chat 配合使用
    • 打开 Copilot Chat
    • 询问有关 FedRAMP 20x 要求的问题
    • 使用 @workspace 查询特定的控制或家族
    • 访问所有 48 个工具和 15 个全面的提示

与 Claude Desktop 配合使用

将此服务器添加到您的 Claude Desktop 配置中(在 macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json,在 Windows 上为 %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "fedramp-20x": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/FedRAMP20xMCP",
        "run",
        "fedramp-20x-mcp"
      ]
    }
  }
}

注意:请将 /absolute/path/to/FedRAMP20xMCP 替换为您的实际安装路径。

与 MCP 检查器配合使用

使用 MCP 检查器测试服务器:

npx @modelcontextprotocol/inspector python -m fedramp_20x_mcp

代码分析示例

# 检查 Python 代码是否符合 FRR-VDR-01 要求(漏洞扫描)
result = analyze_frr_code(
    frr_id="FRR-VDR-01",
    code="""import subprocess
    subprocess.run(['trivy', 'image', 'myapp:latest'])
    """,
    language="python"
)
# ✅ 检测到 Trivy 漏洞扫描实现

# 检查 Bicep 代码是否符合 FRR-ADS-01 要求(机器可读证据)
result = analyze_frr_code(
    frr_id="FRR-ADS-01",
    code="""resource apiManagement 'Microsoft.ApiManagement/service@2023-05-01-preview' = {
      name: 'evidence-api'
      properties: {
        publisherEmail: 'admin@contoso.com'
        publisherName: 'Contoso'
      }
    }""",
    language="bicep"
)
# ✅ 验证 API 管理是否用于授权数据共享

📚 详细文档

可用工具

服务器提供 48 个工具,分为以下类别:

  • 核心工具(11 个):查询要求、定义、KSI 和 KSI 证据自动化
  • FRR 分析工具(7 个):根据 FedRAMP 要求(FRR)分析代码,进行全面的合规性检查
  • 文档工具(3 个):搜索和检索 FedRAMP 文档
  • 增强工具(7 个):提供实施示例、依赖项、工作量估计和架构验证等功能
  • 导出工具(3 个):支持 Excel/CSV 导出和 KSI 规范生成
  • 规划工具(1 个):生成战略实施问题
  • 证据收集自动化工具(3 个):提供基础设施代码、收集代码和架构指导
  • 实施映射工具(2 个):提供 KSI 家族矩阵和分步实施清单
  • 代码分析工具(3 个):使用 tree-sitter 进行 AST 驱动的 FedRAMP 合规性扫描,支持 6 种语言
  • 安全工具(2 个):检查包和依赖项文件的 CVE 漏洞
  • 审计工具(2 个):提供 KSI 覆盖摘要和状态检查
  • KSI 状态工具(1 个):跟踪所有 KSI 家族的实施状态

工具详细说明

get_control

获取特定 FedRAMP 要求或控制的详细信息。

  • 参数
    • control_id(字符串):要求标识符(例如,"FRD-ALL-01","KSI-AFR-01")

list_family_controls

列出特定家族中的所有要求。

  • 参数
    • family(字符串):家族标识符(例如,"FRD","KSI","MAS")

search_requirements

搜索包含特定关键字的要求。

  • 参数
    • keywords(字符串):在要求文本中搜索的关键字

get_definition

获取特定术语的 FedRAMP 定义。

  • 参数
    • term(字符串):要查找的术语(例如,"vulnerability","cloud service offering")

list_definitions

列出所有 FedRAMP 定义及其术语。

  • 返回值:所有 FedRAMP 定义术语的完整列表

search_definitions

按关键字搜索 FedRAMP 定义。

  • 参数
    • keywords(字符串):在定义中搜索的关键字

get_ksi

获取特定关键安全指标的详细信息。

  • 参数
    • ksi_id(字符串):KSI 标识符(例如,"KSI-AFR-01")

list_ksi

列出所有关键安全指标。

  • 返回值:所有关键安全指标及其名称的完整列表

get_ksi_evidence_automation

获取特定 KSI 的全面证据自动化建议。所有 65 个活跃的 KSI 都包括完整的自动化证据收集指导。

  • 参数
    • ksi_id(字符串):KSI 标识符(例如,"KSI-IAM-01","KSI-CNA-01")
  • 返回值:全面的证据自动化指导,包括 Azure 服务、收集方法、存储要求、FRR-ADS 集成、实施细节和代码示例等。

get_ksi_evidence_queries

获取特定 KSI 的即用型证据收集查询。

  • 参数
    • ksi_id(字符串):KSI 标识符(例如,"KSI-IAM-01","KSI-CNA-01")
  • 返回值:用于从 Azure 收集证据的生产就绪查询,包括 KQL 查询、Azure 资源图查询、REST API 调用、Azure CLI 脚本和 PowerShell cmdlet 等。

get_ksi_evidence_artifacts

获取特定 KSI 要收集的证据工件的规范。

  • 参数
    • ksi_id(字符串):KSI 标识符(例如,"KSI-IAM-01","KSI-CNA-01")
  • 返回值:详细的工件规范,包括工件名称、收集方法、文件格式、更新频率、保留要求和存储建议等。

analyze_frr_code

根据特定的 FedRAMP 要求(FRR)分析代码的合规性问题。

  • 参数
    • frr_id(字符串):FRR 标识符(例如,"FRR-VDR-01","FRR-RSC-01","FRR-ADS-01")
    • code(字符串):要分析的代码
    • language(字符串):语言/平台 - "python""csharp""java""typescript""bicep""terraform""github-actions""azure-pipelines""gitlab-ci"
    • file_path(字符串,可选):用于上下文的文件路径
  • 返回值:分析结果,包括发现、严重程度级别和补救建议

analyze_all_frrs

根据所有 199 个 FedRAMP 要求分析代码,进行全面的合规性检查。

  • 参数
    • code(字符串):要分析的代码
    • language(字符串):语言/平台(python,csharp,java,typescript,bicep,terraform,github-actions,azure-pipelines,gitlab-ci)
    • file_path(字符串,可选):用于上下文的文件路径
  • 返回值:按 FRR 家族分组的完整分析结果,包括摘要统计信息

analyze_frr_family

根据特定 FRR 家族中的所有要求分析代码。

  • 参数
    • family(字符串):家族代码 - "VDR""RSC""UCM""SCN""ADS""CCM""MAS""ICP""FSI""PVA"
    • code(字符串):要分析的代码
    • language(字符串):语言/平台
    • file_path(字符串,可选):用于上下文的文件路径
  • 返回值:指定家族中所有要求的分析结果

list_frrs_by_family

列出特定家族中所有 FRR 要求及其实施状态。

  • 参数
    • family(字符串):家族代码(VDR,RSC,UCM,SCN,ADS,CCM,MAS,ICP,FSI,PVA)
  • 返回值:家族中所有 FRR 的列表,包括 FRR ID 和名称、实施状态、代码可检测性、NIST 800-53 控制映射和影响级别等。

get_frr_metadata

获取特定 FRR 的详细元数据,包括 NIST 控制、相关 KSI 和检测策略。

  • 参数
    • frr_id(字符串):FRR 标识符(例如,"FRR-VDR-01")
  • 返回值:全面的 FRR 元数据,包括 FRR 详细信息、NIST 800-53 控制、相关 KSI、影响级别、检测策略和实施指南等。

get_frr_evidence_automation

获取特定 FRR 的证据自动化建议。

  • 参数
    • frr_id(字符串):FRR 标识符(例如,"FRR-VDR-01","FRR-ADS-01")
  • 返回值:全面的证据自动化指导,包括证据类型、自动化可行性、Azure 服务、收集方法、存储要求、证据工件、实施步骤、代码示例、更新频率和责任方等。

get_frr_implementation_status

获取所有 FRR 分析器的实施状态摘要。

  • 参数:无
  • 返回值:实施状态摘要,包括总 FRR 数量、按家族的实施情况、状态细分、代码可检测性、基于流程的要求和覆盖统计信息等。

compare_with_rev4

比较 FedRAMP 20x 与 Rev 4/Rev 5 要求的特定领域。

  • 参数
    • requirement_area(字符串):要比较的领域(例如,"continuous monitoring","vulnerability management","authorization boundary","evidence collection","change management","incident response")

get_implementation_examples

获取特定要求的实际实施示例。

  • 参数
    • requirement_id(字符串):要求标识符(例如,"KSI-IAM-01","FRR-VDR-01")

check_requirement_dependencies

检查 FedRAMP 20x 要求之间的依赖关系。

  • 参数
    • requirement_id(字符串):要检查依赖关系的要求标识符

estimate_implementation_effort

估计特定要求的实施工作量。

  • 参数
    • requirement_id(字符串):要估计工作量的要求标识符

get_cloud_native_guidance

获取特定 Azure 和多云技术的云原生实施指南。

  • 参数
    • technology(字符串):要获取指南的技术(例如,"kubernetes","containers","serverless","terraform")

validate_architecture

根据 FedRAMP 20x 要求验证系统架构。

  • 参数
    • architecture_description(字符串):要验证的架构描述

search_documentation

在 FedRAMP 官方文档的 Markdown 文件中搜索特定关键字。

  • 参数
    • keywords(字符串):要在文档中搜索的关键字
  • 返回值:匹配的文档部分,包含所有可用 Markdown 文件的上下文

get_documentation_file

获取特定 FedRAMP 文档文件的完整内容。

  • 参数
    • filename(字符串):Markdown 文件名(例如,"overview.md","key-security-indicators.md")
  • 返回值:文档文件的完整 Markdown 内容

list_documentation_files

列出所有可用的 FedRAMP 文档文件。

  • 返回值:从仓库中动态发现的所有 Markdown 文档文件的完整列表

export_to_excel

将 FedRAMP 20x 数据导出到 Excel 文件,用于离线分析和报告。

  • 参数
    • export_type(字符串):要导出的数据类型:
      • "ksi" - 所有 72 个关键安全指标
      • "all_requirements" - 所有家族的 329 个要求
      • "definitions" - 所有 FedRAMP 术语定义
    • output_path(字符串,可选):自定义输出路径。如果未提供,则保存到下载文件夹
  • 返回值:生成的 Excel 文件的路径,具有专业的格式(样式化的标题、边框、冻结窗格)

export_to_csv

将 FedRAMP 20x 数据导出到 CSV 文件,用于数据分析和电子表格导入。

  • 参数
    • export_type(字符串):要导出的数据类型:
      • "ksi" - 所有 72 个关键安全指标
      • "all_requirements" - 所有家族的 329 个要求
      • "definitions" - 所有 FedRAMP 术语定义
    • output_path(字符串,可选):自定义输出路径。如果未提供,则保存到下载文件夹
  • 返回值:生成的 CSV 文件的路径

generate_ksi_specification

生成 KSI 的全面产品规范 Word 文档,指导工程实施和规划。

  • 参数
    • ksi_id(字符串):KSI 标识符(例如,"KSI-AFR-01")
    • evidence_collection_strategy(字符串):用户提供的高级证据收集策略描述
    • output_path(字符串,可选):自定义输出路径。如果未提供,则保存到下载文件夹
  • 返回值:生成的 Word (.docx) 文档的路径

generate_implementation_questions

为产品经理和工程师生成战略面试问题,促进深思熟虑的规划讨论。

  • 参数
    • requirement_id(字符串):要求或 KSI 标识符(例如,"FRR-CCM-01","KSI-IAM-01")
  • 返回值:按利益相关者角色组织的全面战略问题集

analyze_infrastructure_code

分析基础设施即代码(IaC)文件的 FedRAMP 20x 合规性问题,并提供可操作的建议。

  • 参数
    • code(字符串):要分析的 IaC 代码内容
    • file_type(字符串):IaC 文件类型 - "bicep""terraform"
    • file_path(字符串):正在分析的文件的路径(用于报告)
    • context(字符串,可选):有关代码的额外上下文(例如,PR 描述)
  • 返回值
    • findings:合规性发现的数组,包含要求 ID、严重程度、描述和建议
    • summary:高/中/低优先级问题和良好实践的计数
    • pr_comment:适用于 GitHub/ADO PR 评论的格式化 Markdown

analyze_application_code

分析应用程序代码的 FedRAMP 20x 安全合规性问题。

  • 参数
    • code(字符串):要分析的应用程序代码内容
    • language(字符串):编程语言 - "python""csharp""java""typescript",或 "javascript"
    • file_path(字符串):正在分析的文件的路径(用于报告)
    • dependencies(数组,可选):项目依赖项列表(例如,["flask==2.3.0", "requests==2.31.0"]
  • 返回值
    • findings:安全发现的数组(与基础设施分析结构相同)
    • summary:高/中/低优先级问题和良好实践的计数
    • pr_comment:用于 PR 审查的格式化 Markdown
    • dependencies_checked:分析的依赖项数量

analyze_cicd_pipeline

分析 CI/CD 管道配置的 FedRAMP 20x DevSecOps 合规性。

  • 参数
    • code(字符串):管道配置内容(YAML/JSON)
    • pipeline_type(字符串):管道类型 - "github-actions""azure-pipelines""gitlab-ci",或 "generic"
    • file_path(字符串):管道文件的路径(用于报告)
  • 返回值
    • findings:DevSecOps 发现的数组(与代码分析结构相同)
    • summary:高/中/低优先级问题和良好实践的计数
    • pr_comment:用于 PR 审查的格式化 Markdown
    • pipeline_type:检测到的管道平台

get_infrastructure_code_for_ksi

生成用于自动化证据收集基础设施的基础设施即代码模板(Bicep 或 Terraform)。

  • 参数
    • ksi_id(字符串):关键安全指标标识符(例如,"KSI-IAM-01","KSI-MLA-01")
    • infrastructure_type(字符串):"bicep" 或 "terraform"
  • 返回值:用于部署证据收集基础设施的完整 IaC 模板

get_evidence_collection_code

生成用于以编程方式收集和存储 KSI 证据的业务逻辑代码(Python、C#、PowerShell、Java 或 TypeScript)。

  • 参数
    • ksi_id(字符串):关键安全指标标识符(例如,"KSI-IAM-01")
    • language(字符串):"python","csharp","powershell","java",或 "typescript"(也接受 "javascript")
  • 返回值:包含身份验证、证据收集和存储的完整代码示例

get_evidence_automation_architecture

获取自动化证据收集系统的全面架构指南。

  • 参数
    • scope(字符串):架构范围 - "minimal","single-ksi","category",或 "all"
  • 返回值:包含组件、数据流和实施指南的完整架构模式

可用提示

服务器提供 18 个用于 FedRAMP 合规性工作流的提示:

  • 综合规划与评估提示:包括初始评估路线图、差距分析、供应商评估、从 Rev 5 迁移到 20x 的计划等。
  • 实施与自动化提示:提供 KSI 实施优先级、Azure KSI 自动化、API 设计指南、授权边界审查等提示。
  • 监控与合规提示:包括持续监控设置、季度审查清单、漏洞修复时间表等提示。
  • 审计与文档提示:提供审计准备、ATO 包清单、文档生成器等提示。
  • FRR 合规与代码审查提示:包括 FRR 代码审查、FRR 家族评估、FRR 实施路线图等提示。

综合 KSI + FRR 分析示例

通过多个示例展示了如何结合关键安全指标(KSI)和 FedRAMP 修订要求(FRR)进行综合分析,实现战术代码级发现和战略合规性覆盖的结合,提供了全面的安全评估和证据收集建议。

推荐工作流程

  1. 开发阶段:使用 KSI 分析器进行战术代码审查
    • factory.analyze(ksi_id, code, language, file_path) 进行特定的安全检查
    • analyze_frr_code(frr_id, code, language, file_path) 进行要求验证
  2. 预提交阶段:根据关键 FRR 家族进行分析
    • analyze_frr_family("VDR", code, language, file_path) 进行漏洞管理检查
    • analyze_frr_family("RSC", code, language, file_path) 进行安全配置检查
  3. CI/CD 管道:在部署前进行全面的合规性扫描
    • factory.analyze_all_ksis(code, language, file_path) 检查所有 KSI
    • analyze_all_frrs(code, language, file_path) 检查所有 FRR
  4. 季度审查:进行合规性跟踪和报告
    • get_ksi_implementation_status() 跟踪 KSI 进度
    • get_frr_implementation_status() 跟踪 FRR 合规性
    • 为利益相关者生成综合合规性报告

🔧 技术细节

基于模式的分析架构

服务器使用统一的基于模式的架构进行所有 FedRAMP 20x 合规性分析:

  • 架构概述
    • 381 个 YAML 模式:涵盖 23 个要求家族
    • 单一分析引擎GenericPatternAnalyzer 取代 271 个传统分析器
    • 支持 14 种语言:Python、C#、Java、TypeScript、JavaScript、Bicep、Terraform、GitHub Actions、Azure Pipelines、GitLab CI、YAML、JSON、Dockerfile、GitHub
    • 基于 AST 的检测:使用 tree-sitter 进行准确检测,必要时使用正则表达式回退
    • 声明式模式:易于维护和扩展
  • 模式覆盖范围
    • 应用家族:涵盖 17 个家族,如 ADS、AFR、CCM 等
    • 基础设施家族:涵盖 6 个家族,如 COMMON、FSI、ICP 等
    • 完整的 KSI 和 FRR 映射:所有 72 个 KSI 和 199 个 FRR 都通过模式定义覆盖
  • 工作原理
    1. 模式加载:从 data/patterns/ 目录加载 YAML 模式
    2. 分析执行:使用 tree-sitter AST 解析和模式匹配分析代码
    3. 发现生成:模式生成具有严重性、描述和补救措施的发现
    4. 结果聚合:发现按要求家族分组并去重
  • 优势
    • 一致性:所有语言使用相同的检测逻辑
    • 可维护性:在 YAML 中更新模式,而不是 Python 代码
    • 性能:模式编译和缓存优化分析速度
    • 可扩展性:无需更改代码即可添加新模式
    • 准确性:基于 AST 的检测减少误报

重要说明:OSCAL 格式

FedRAMP 20x 要求授权数据共享使用机器可读格式(JSON、XML 或结构化数据)。OSCAL 未在 FedRAMP 20x 要求中提及,它是一个 NIST 标准,可以作为一种潜在的实现方法。实际要求只是“机器可读”,您可以根据实现需求使用自定义 JSON/XML 或 OSCAL。

📄 许可证

本项目采用 MIT 许可证,请参阅 LICENSE 文件了解详细信息。

本项目是开源的,欢迎贡献!请参阅 CONTRIBUTING.md 获取指南。

FedRAMP 数据由美国总务管理局作为公共领域内容提供。

参考资料

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client