mcpField
F
FedRAMP 20x Requirements

FedRAMP 20x Requirements

本地服务
github.com/KevinRabun法律与政务637 周前更新

关于 FedRAMP 20x Requirements

FedRAMP 20x Requirements 是面向 FedRAMP 20x 实施团队的 MCP 服务,支持查询要求和基于代码的合规分析,并优先提供 Azure 实施指导。

主要功能

  1. 01按控制项、系列和关键词查询
  2. 02查阅官方定义与文档
  3. 03使用 AST 和 YAML 模式分析代码
  4. 04生成自动化证据收集指导
  5. 05按应用配置筛选发现项

适用场景

  1. 01查找控制项或系列的要求
  2. 02检查代码是否符合 FedRAMP 20x
  3. 03规划有效 KSI 的证据收集

MCP 相关

向 MCP 客户端提供 FedRAMP 20x 要求、文档、搜索和分析工具。README 提到提供 48 个工具和 15 个提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"kevinrabun-fedramp20xmcp": {
"command": "uvx",
"args": [
"fedramp-20x-mcp"
]
}
}
}
启动命令uvx fedramp-20x-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypifedramp-20x-mcp1.3.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

FedRAMP 20x MCP 服务

Tests PyPI version Python Versions

一个 MCP(Model Context Protocol)服务,提供 FedRAMP 20x 安全要求和控制的访问,并提供以 Azure 为先的指导。

概述

此服务从官方 FedRAMP 文档仓库加载 FedRAMP 20x 数据,并提供按控制项、系列或关键词查询要求的工具。

数据来源:

Azure 侧重: 所有实施示例、架构模式和供应商建议均优先采用 Microsoft Azure 服务(Azure Government、Microsoft Entra ID、Azure Key Vault、AKS、Azure Functions、Bicep 等),并在适当情况下保持云平台无关。

数据覆盖范围

此服务提供对 FedRAMP 20x 文档中 321 项要求(199 项 FRR + 72 项 KSI + 50 项 FRD)的访问:

FedRAMP 要求(FRR)——10 个系列共 199 项要求:

  • ADS - 授权数据共享(20 项要求)
  • CCM - 协作式持续监控(25 项要求)
  • FSI - FedRAMP 安全收件箱(16 项要求)
  • ICP - 事件通信流程(9 项要求)
  • MAS - 最低评估范围(12 项要求)
  • PVA - 持续验证与评估(22 项要求)
  • RSC - 建议的安全配置(10 项要求)
  • SCN - 重大变更通知(22 项要求)
  • UCM - 使用加密模块(4 项要求)
  • VDR - 漏洞检测与响应(57 项要求)
  • KSI - 关键安全指标(2 项要求)

关键安全指标(KSI)——11 个系列共 72 项指标:

  • AFR - 架构、功能与资源(11 项指标)
  • CED - 持续证据交付(4 项指标)
  • CMT - 持续监控与测试(5 项指标)
  • CNA - 云原生架构(8 项指标)
  • IAM - 身份与访问管理(7 项指标)
  • INR - 事件与未遂事件报告(3 项指标)
  • MLA - 监控、日志记录与告警(8 项指标)
  • PIY - 隐私与透明度(8 项指标)
  • RPL - 弹性与恢复规划(4 项指标)
  • SVC - 安全编码与漏洞管理(10 项指标)
  • TPR - 第三方风险管理(4 项指标)

FedRAMP 定义(FRD)——50 个官方术语定义

功能

  • 🎯 自动化证据收集(新增):针对 65 个有效 KSI 提供自动化指导,使用 Azure 原生服务,并提供可直接使用的查询和工件规范
  • 按控制项查询:获取特定 FedRAMP 要求的详细信息
  • 按系列查询:列出某个系列中的所有要求
  • 关键词搜索:使用关键词搜索所有要求
  • FedRAMP 定义:查询 FedRAMP 官方术语定义
  • 关键安全指标:访问和查询 FedRAMP 关键安全指标(KSI)及其实施状态
  • 文档搜索:搜索并获取 FedRAMP 官方文档 Markdown 文件
  • 动态内容:自动发现并加载所有 Markdown 文档文件
  • 实施规划:生成策略性访谈问题,帮助产品经理和工程师深入思考 FedRAMP 20x 实施的注意事项
  • AST 驱动的代码分析:使用 tree-sitter 进行高级抽象语法树解析,对 Python、C#、Java、TypeScript/JavaScript、Bicep 和 Terraform 进行准确且考虑上下文的安全分析
  • 语义分析:深入理解代码,具备符号解析、控制流分析和过程间分析能力
  • 🚀 基于模式的架构:统一分析引擎,包含覆盖 23 个要求系列的 381 个 YAML 模式,支持对 KSI 和 FRR 进行合规性分析
  • 模式引擎:由声明式 YAML 驱动,支持 14 种语言的检测,采用 AST 优先分析并智能归类发现项
  • 🎯 感知上下文的筛选(新增):通过分析工具的 application_profile 参数指定应用类型(cli-tool、mcp-server、web-app、api-service、iac-only、library、batch-job、full),减少误报
基于模式的分析架构

此服务采用统一的基于模式的架构,执行所有 FedRAMP 20x 合规性分析:

架构概览:

  • 覆盖 23 个要求系列的 381 个 YAML 模式
  • 单一分析引擎(GenericPatternAnalyzer)取代 271 个传统分析器
  • 支持 14 种语言:Python、C#、Java、TypeScript、JavaScript、Bicep、Terraform、GitHub Actions、Azure Pipelines、GitLab CI、YAML、JSON、Dockerfile、GitHub
  • 采用 tree-sitter 进行 AST 优先检测,确保准确性;必要时回退到正则表达式
  • 声明式模式易于维护和扩展

各系列的模式覆盖范围:

  • 应用系列:ADS、AFR、CCM、CED、CMT、CNA、IAM、INR、MLA、PIY、RPL、RSC、SCN、SVC、TPR、UCM、VDR(17 个系列)
  • 基础设施系列:COMMON、FSI、ICP、KSI、MAS、PVA(6 个系列)
  • KSI 与 FRR 映射:通过模式定义支持 72 个 KSI 和 199 个 FRR

工作原理:

  1. 加载模式:从 data/patterns/ 目录加载 YAML 模式
  2. 执行分析:使用 tree-sitter AST 解析和模式匹配来分析代码
  3. 生成发现项:模式会生成包含严重性、描述和修复建议的发现项
  4. 汇总结果:按要求系列对发现项分组并去重

优势:

  • ✅ 一致性:所有语言使用相同的检测逻辑
  • ✅ 易维护:在 YAML 中更新模式,无需修改 Python 代码
  • ✅ 高性能:模式编译和缓存可提升分析速度
  • ✅ 可扩展:无需修改代码即可添加新模式
  • ✅ 准确性:基于 AST 的检测可减少误报

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

安装

前置条件
  • Python 3.10 或更高版本
  • pip(随 Python 一起安装)
  • Python 必须位于系统 PATH 中
设置
# Clone the repository
git clone https://github.com/KevinRabun/FedRAMP20xMCP.git
cd FedRAMP20xMCP

# Create virtual environment and install
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -e .

# If using uv (alternative package manager):
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 - JavaScript/TypeScript 语言绑定

故障排查:

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

安全

漏洞披露: 如果您发现安全漏洞,请参阅我们的安全政策,了解负责任的漏洞披露流程(KSI-PIY-03)。

审计日志: 所有 MCP 服务操作都会记录到 stderr,以供审计(KSI-MLA-05)。

安全功能:

  • ✅ 无需身份验证(本地开发工具)
  • ✅ 不处理 Federal Customer Data
  • ✅ 仅通过 HTTPS 连接到 GitHub
  • ✅ 1 小时缓存 TTL 可减少外部请求
  • ✅ 所有依赖项均使用最低安全版本

完整的安全文档请参阅 SECURITY.md。

使用方法

搭配 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 Inspector 使用

使用 MCP Inspector 测试服务:

npx @modelcontextprotocol/inspector python -m fedramp_20x_mcp
⚠️ Copilot 执行策略

本仓库对所有 AI 辅助编码均采用严格指令。

参阅:Copilot 指令

高级配置

有关 CI/CD 集成、与 Azure 和 GitHub 的多服务配置或详细故障排查,请参阅:

可用工具

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

核心工具(8 个): 查询要求(get_control、list_family_controls、search_requirements)、查询定义(get_definition、list_definitions、search_definitions)和 KSI(get_ksi、list_ksi) KSI 工具(9 个): KSI 实施状态、证据自动化、证据查询、证据制品、实施矩阵、实施摘要、覆盖范围摘要、覆盖范围状态、系列状态 FRR 分析工具(7 个): 针对特定 FRR、所有 FRR 或 FRR 系列分析代码;列出 FRR;获取 FRR 元数据、证据自动化和实施状态 文档工具(3 个): 搜索和检索 FedRAMP 文档 增强工具(6 个): 实施示例、依赖项、工作量估算、云原生指南、架构验证、Rev 4 对比 导出工具(2 个): Excel/CSV 导出 规划工具(2 个): 生成实施问题和分步检查清单 证据收集工具(4 个): 基础设施代码模板、收集代码、架构指南、KSI 规范 代码分析工具(4 个): 基于 AST 的基础设施代码、应用代码、CI/CD 流水线分析,以及 FedRAMP 配置验证 安全工具(2 个): 检查软件包和依赖项文件中的 CVE 漏洞 代码增强工具(1 个): 为代码添加 FedRAMP 要求注释

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 服务:每个 KSI 对应 5 项 Azure 服务(Log Analytics、Resource Graph、Azure Policy、Azure Monitor 等),并提供具体配置指南
    • 注:建议使用 Microsoft Defender for Cloud(非强制),约 8–10 个 KSI 可借此简化漏洞扫描、安全态势管理和合规监控。也可使用其他工具(Qualys、Tenable、Trivy)。
  • 收集方式:4–5 种自动化收集方法(持续监控、定期评估、事件驱动触发、日志聚合)
  • 存储要求:保留策略(运营数据 30–90 天,合规数据 1–7 年)、加密标准、访问控制
  • FRR-ADS 集成:用于 Authorization Data Sharing 合规的机器可读 API 端点
  • 实施详情:工作量估算、先决条件、成本考量、责任方(Security、DevOps、Compliance、Engineering)
  • 代码示例:基础设施即代码模板(Bicep、Terraform)和自动化脚本

**覆盖范围:**涵盖 11 个系列中的全部 65 个有效 KSI:

  • IAM(7):MFA、权限管理、会话控制、凭据生命周期、用户终止、JIT 访问、共享账户
  • CNA(8):网络分段、TLS 配置、连接日志记录、Azure Monitor、Key Vault、机密检测、容器注册表、GitHub Security
  • MLA(5):日志聚合、保留、篡改检测、搜索功能、警报
  • INR(3):事件响应计划、事件日志记录、事后报告
  • AFR(11):资产发现、SBOM、渗透测试、开发/生产环境隔离、GitHub Actions 安全、容器扫描等
  • SVC(9):FIPS 140-3 加密、API 身份验证、速率限制、输入验证、错误处理、机密管理、DoS 防护、机密轮换、依赖项管理
  • CMT(4):持续监控、运行状况检查、配置基线、漂移检测
  • CED(4):授权文档、系统边界、SSP 更新、持续交付
  • TPR(2):供应链风险评估、供应链风险监控
  • RPL(4):恢复目标、恢复计划、系统备份、恢复测试
  • PIY(8):自动化清单、数据最小化、漏洞披露、安全设计、安全评估、投资有效性、供应链风险、高管支持

示例:get_ksi_evidence_automation("KSI-IAM-01") 会返回有关抗网络钓鱼 MFA 的自动化证据收集指南,包括 Entra ID 条件访问策略、通过 Log Analytics 获取登录日志、MFA 方法注册查询以及合规报告仪表板。

get_ksi_evidence_queries

获取特定 KSI 可直接使用的证据收集查询。

参数:

  • ksi_id(字符串):KSI 标识符(例如,“KSI-IAM-01”、“KSI-CNA-01”)

**返回:**用于从 Azure 收集证据的生产就绪查询(每个 KSI 5 个查询):

  • KQL 查询:用于日志分析和指标的 Log Analytics/Azure Monitor Kusto 查询
  • Azure Resource Graph:基础设施和配置状态查询
  • REST API:用于以编程方式检索数据的 Azure Resource Manager API 调用
  • Azure CLI:用于提取证据的命令行脚本
  • PowerShell:用于自动收集的 Azure PowerShell cmdlet

示例:get_ksi_evidence_queries("KSI-CNA-01") 会返回用于 NSG 规则、Azure Firewall 策略、虚拟网络配置、子网分段分析和网络拓扑验证的 Resource Graph 查询。

get_ksi_evidence_artifacts

获取特定 KSI 需要收集的证据材料规范。

参数:

  • ksi_id (string):KSI 标识符(例如,“KSI-IAM-01”、“KSI-CNA-01”)

**返回:**详细的材料规范(每个 KSI 包含 5 份材料):

  • 材料名称:所需的具体证据文件/报告(例如,“MFA_Sign_In_Logs.csv”、“NSG_Rule_Export.json”)
  • 收集方法:如何获取每份材料(自动导出、API 检索、仪表板截图、合规报告)
  • 文件格式:CSV、JSON、PDF、PNG(仪表板截图)、XLSX(合规矩阵)
  • 更新频率:根据要求的关键程度,按日、周、月或季度收集
  • 保留要求:运营数据保留 30-90 天,合规证据保留 1-7 年
  • 存储建议:使用启用加密、访问日志和不可变策略的 Azure Blob Storage

示例:get_ksi_evidence_artifacts("KSI-IAM-01") 返回登录日志(CSV,每日收集,保留 90 天)、条件访问策略导出文件(JSON,每周收集,保留 1 年)、MFA 方法注册报告(XLSX,每月收集,保留 3 年)、身份验证仪表板截图(PNG,每季度收集,保留 1 年)以及 MFA 合规矩阵(PDF,每月收集,保留 7 年)。

analyze_frr_code

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

参数:

  • frr_id (string):FRR 标识符(例如,“FRR-VDR-01”、“FRR-RSC-01”、“FRR-ADS-01”)
  • code (string):要分析的代码
  • language (string):语言/平台 - "python"、"csharp"、"java"、"typescript"、"bicep"、"terraform"、"github-actions"、"azure-pipelines"、"gitlab-ci"
  • file_path (string,可选):用于提供上下文的文件路径

**返回:**包含发现项、严重程度和修复建议的分析结果

支持的 FRR 系列:

  • VDR - 漏洞检测与响应(59 项要求):漏洞扫描、补丁管理、修复时限、偏差跟踪、KEV 漏洞处理
  • RSC - 建议的安全配置(10 项要求):安全基线、配置管理、加固标准
  • UCM - 使用加密模块(4 项要求):FIPS 140-3 合规性、密钥管理、加密标准
  • SCN - 重大变更通知(26 项要求):变更管理、通知流程、影响评估
  • ADS - 授权数据共享(22 项要求):机器可读的证据 API、数据格式、身份验证
  • CCM - 协作式持续监控(25 项要求):监控流程、季度审查、评估协调
  • MAS - 最低评估范围(12 项要求):授权边界、系统清单、评估要求
  • ICP - 事件通信流程(9 项要求):事件通知、通信协议、升级流程
  • FSI - FedRAMP 安全收件箱(16 项要求):安全收件箱管理、漏洞披露、响应流程
  • PVA - 持续验证与评估(22 项要求):持续验证、评估流程、测试要求

检查内容: 使用基于 AST 的语义分析,检查代码是否存在特定于 FRR 的合规问题:

  • 应用程序代码:安全控制、API 实现、加密使用、日志记录、错误处理
  • 基础设施即代码:资源配置、安全设置、合规控制、网络策略
  • CI/CD 流水线:安全关卡、测试要求、部署流程、证据收集

用法示例:

# Check Python code for FRR-VDR-01 compliance (vulnerability scanning)
result = analyze_frr_code(
    frr_id="FRR-VDR-01",
    code="""import subprocess
    subprocess.run(['trivy', 'image', 'myapp:latest'])
    """,
    language="python"
)
# ✅ Detects Trivy vulnerability scanning implementation

# Check Bicep for FRR-ADS-01 compliance (machine-readable evidence)
result = analyze_frr_code(
    frr_id="FRR-ADS-01",
    code="""resource apiManagement 'Microsoft.ApiManagement/service@2023-05-01-preview' = {
      name: 'evidence-api'
      properties: {
        publisherEmail: '[email protected]'
        publisherName: 'Contoso'
      }
    }""",
    language="bicep"
)
# ✅ Validates API Management for authorization data sharing
analyze_all_frrs

针对全部 199 项 FedRAMP 要求分析代码,进行合规性分析。

参数:

  • code(string):要分析的代码
  • language(string):语言/平台(python、csharp、java、typescript、bicep、terraform、github-actions、azure-pipelines、gitlab-ci)
  • file_path(string,可选):用于提供上下文的文件路径

**返回:**按 FRR 系列分组的分析结果及汇总统计信息

使用场景:

  • 部署前验证:在生产部署前检查所有代码
  • 合规审计:通过分析扫描为认证准备工作提供支持
  • 安全审查:识别所有 FedRAMP 合规性差距
  • CI/CD 集成:在管道中自动检查合规性

输出结构:

  • 按系列整理调查结果(VDR、RSC、UCM、SCN、ADS、CCM 等)
  • 汇总统计信息:调查结果总数,以及严重、高、中、低级别的数量
  • 列出符合要求的项目
  • 提供可执行的修复指导

使用示例:

# Comprehensive FRR analysis of Bicep infrastructure code
result = analyze_all_frrs(
    code=bicep_template,
    language="bicep",
    file_path="main.bicep"
)
# Returns findings across all 10 FRR families

**性能:**通过并行处理和 AST 缓存,可在 2-5 秒内分析全部 199 项 FRR。

analyze_frr_family

针对特定 FRR 系列的所有要求分析代码。

参数:

  • family(string):系列代码——"VDR"、"RSC"、"UCM"、"SCN"、"ADS"、"CCM"、"MAS"、"ICP"、"FSI"、"PVA"
  • code(string):要分析的代码
  • language(string):语言/平台
  • file_path(string,可选):用于提供上下文的文件路径

**返回:**指定系列所有要求的分析结果

常见使用场景:

VDR 系列(59 项要求):

# Check CI/CD pipeline for vulnerability management compliance
result = analyze_frr_family(
    family="VDR",
    code=github_actions_yaml,
    language="github-actions"
)
# Checks: Vulnerability scanning, patch procedures, remediation timeframes,
# deviation management, KEV tracking, monthly reporting

ADS 系列(22 项要求):

# Validate authorization data sharing API implementation
result = analyze_frr_family(
    family="ADS",
    code=python_api_code,
    language="python"
)
# Checks: Machine-readable formats, API authentication, data accuracy,
# real-time updates, audit logging, access controls

RSC 系列(10 项要求):

# Check infrastructure for secure configuration compliance
result = analyze_frr_family(
    family="RSC",
    code=terraform_code,
    language="terraform"
)
# Checks: Security baselines, configuration standards, hardening,
# drift detection, compliance validation
list_frrs_by_family

列出特定系列中的所有 FRR 要求及其实现状态。

参数:

  • family(string):系列代码(VDR、RSC、UCM、SCN、ADS、CCM、MAS、ICP、FSI、PVA)

**返回:**该系列中所有 FRR 的列表,包含:

  • FRR ID 和名称
  • 实现状态(已实现/未实现)
  • 代码可检测性(代码可检测/基于流程)
  • NIST 800-53 控制映射
  • 影响级别(低/中/高)

使用示例:

# List all vulnerability detection requirements
result = list_frrs_by_family("VDR")
# Returns 59 VDR requirements with status indicators

# List all authorization data sharing requirements
result = list_frrs_by_family("ADS")
# Returns 22 ADS requirements

使用场景:

  • 查找系列中可用的 FRR 要求
  • 检查实现覆盖情况
  • 规划 FRR 实现优先级
  • 了解代码要求与流程要求的区别
get_frr_metadata

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

参数:

  • frr_id(string):FRR 标识符(例如,"FRR-VDR-01")

**返回:**FRR 元数据,包含:

  • FRR 详情:ID、名称、系列、要求说明
  • NIST 800-53 控制:相关安全控制
  • 相关 KSI:与此 FRR 对应的关键安全指标
  • 影响级别:适用的授权级别(低/中/高)
  • 检测策略:验证要求的方式(代码分析、配置检查、流程审查)
  • 实现指导:Azure 专属建议和最佳实践

使用示例:

# Get metadata for FRR-VDR-01 (vulnerability scanning)
result = get_frr_metadata("FRR-VDR-01")
# Returns: NIST controls (RA-5, SI-2), related KSIs (KSI-AFR-04),
# detection strategy (CI/CD pipeline analysis, tool configuration checks)

# Get metadata for FRR-ADS-01 (machine-readable evidence)
result = get_frr_metadata("FRR-ADS-01")
# Returns: NIST controls (CA-2, CA-5, CA-7), related KSIs (KSI-CED-01),
# detection strategy (API endpoint analysis, data format validation)

使用场景:

  • 在实现前了解 FRR 要求
  • 将 FRR 映射到 NIST 控制,以编制合规文档
  • 确定相关 KSI,以采用集成式合规方法
  • 获取 Azure 专属实现指导
get_frr_evidence_automation

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

参数:

  • frr_id(string):FRR 标识符(例如,"FRR-VDR-01"、"FRR-ADS-01")

**返回:**证据自动化指导,包括:

  • 证据类型:基于配置、基于日志或基于 API 的证据
  • 自动化可行性:自动化潜力高/中/低
  • Azure 服务:推荐用于证据收集的 3-5 项服务
  • 收集方法:自动化方法(Azure Monitor、Resource Graph、Policy、API)
  • 存储要求:保留策略、加密、访问控制
  • 证据制品:要收集的特定文件/报告
  • 实施步骤:自动化设置的分步指南
  • 代码示例:基础设施模板和脚本
  • 更新频率:每日/每周/每月/每季度的收集计划
  • 责任方:团队归属(安全、DevOps、合规)

使用示例:

# Get evidence automation for FRR-VDR-01 (vulnerability scanning)
result = get_frr_evidence_automation("FRR-VDR-01")
# Returns: Azure Defender for Cloud configuration, KQL queries for
# vulnerability data, scan result export automation, compliance dashboards

# Get evidence automation for FRR-ADS-01 (data sharing API)
result = get_frr_evidence_automation("FRR-ADS-01")
# Returns: API Management setup, authentication configuration,
# audit logging, API call metrics, response format validation

支持的 FRR 系列:

  • VDR:漏洞扫描结果、修补状态、修复跟踪、偏差审批
  • ADS:API 调用日志、数据格式合规性、身份验证记录、访问审计
  • CCM:监控指标、季度审查制品、评估协调日志
  • RSC:配置基线、偏差检测报告、合规扫描结果
  • 所有其他系列:针对特定系列的证据建议
get_frr_implementation_status

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

**参数:**无

**返回:**实施状态摘要,包括:

  • FRR 总数:10 个系列中的 199 项要求
  • 各系列实施情况:VDR(59)、RSC(10)、UCM(4)、SCN(26)、ADS(22)、CCM(25)、MAS(12)、ICP(9)、FSI(16)、PVA(22)
  • 状态细分:已实施与未实施的数量
  • 可通过代码检测:可通过代码分析进行验证的要求
  • 基于流程:需要人工审查或文档的要求
  • 覆盖率统计:各系列的实施完成百分比

使用示例:

# Get overall FRR implementation status
result = get_frr_implementation_status()
# Returns: Family-by-family breakdown with implementation rates

使用场景:

  • 跟踪 FRR 分析器的开发进度
  • 找出 FRR 覆盖范围中的缺口
  • 规划 FRR 实施优先级
  • 汇报合规自动化能力

输出示例:

FRR Implementation Status:
- VDR Family: 59/59 patterns available
- RSC Family: 10/10 patterns available
- ADS Family: 22/22 patterns available
- Total: 199/199 patterns available

Code-Detectable: 145 FRRs (73%)
Process-Based: 54 FRRs (27%)
compare_with_rev4

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

参数:

  • requirement_area(string):要比较的领域(例如,“持续监控”、“漏洞管理”、“授权边界”、“证据收集”、“变更管理”、“事件响应”)
get_implementation_examples

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

参数:

  • requirement_id(string):要求标识符(例如,“KSI-IAM-01”、“FRR-VDR-01”)
check_requirement_dependencies

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

参数:

  • requirement_id(string):要检查依赖关系的要求标识符
estimate_implementation_effort

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

参数:

  • requirement_id(string):要估算工作量的要求标识符
get_cloud_native_guidance

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

参数:

  • technology(string):要获取指导的技术(例如,“kubernetes”、“containers”、“serverless”、“terraform”)

**注意:**所有云示例和最佳实践均优先采用 Azure 服务(AKS、Azure Functions、Key Vault、Bicep 等)

validate_architecture

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

参数:

  • architecture_description(string):要验证的架构描述
search_documentation

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

参数:

  • keywords(string):要在文档中搜索的关键词

**返回:**包含匹配内容及上下文的文档片段,来自所有可用的 Markdown 文件

**注意:**自动加载 docs 目录中的 Markdown 文件,以供搜索。

get_documentation_file

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

参数:

  • filename(string):Markdown 文件名(例如,“overview.md”“key-security-indicators.md”)

**返回:**文档文件的完整 Markdown 内容

list_documentation_files

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

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

export_to_excel

将 FedRAMP 20x 数据导出为 Excel 文件,以便离线分析和报告。

参数:

  • export_type(string):要导出的数据类型:
    • "ksi" - 全部 72 项关键安全指标
    • "all_requirements" - 所有控制族中的全部 329 项要求
    • "definitions" - 所有 FedRAMP 术语定义
  • output_path(string,可选):自定义输出路径。如果未提供,则保存到 Downloads 文件夹

**返回:**生成的 Excel 文件路径,文件采用专业格式(样式化表头、边框、冻结窗格)

KSI 导出列:

  1. KSI ID - 唯一标识符(例如,KSI-AFR-01)
  2. 名称 - KSI 名称
  3. 类别 - 控制族类别
  4. 状态 - 有效或已退役
  5. 声明 - 完整的要求声明
  6. 备注 - 补充信息(例如,已退役 KSI 的替代说明)
  7. NIST 800-53 控制项 - 相关安全控制项及其标题
  8. 参考资料 - 参考文档名称(如适用)
  9. 参考资料 URL - FedRAMP 文档链接(如适用)
  10. 影响级别 - 适用级别(低、中、高)

所有要求导出列:

  1. 要求 ID - 唯一标识符
  2. 控制族 - 控制族
  3. 术语/名称 - 要求名称
  4. 描述 - 完整描述
  5. 文档 - 来源文档

定义导出列:

  1. 术语 - FedRAMP 术语
  2. 定义 - 术语定义
  3. 备注 - 补充背景信息
  4. 参考资料 - 相关文档

用法示例:

  • 导出所有 KSI:export_to_excel("ksi")
  • 导出所有要求:export_to_excel("all_requirements")
  • 导出定义:export_to_excel("definitions")
export_to_csv

将 FedRAMP 20x 数据导出为 CSV 文件,以便进行数据分析和导入电子表格。

参数:

  • export_type(string):要导出的数据类型:
    • "ksi" - 全部 72 项关键安全指标
    • "all_requirements" - 所有控制族中的全部 329 项要求
    • "definitions" - 所有 FedRAMP 术语定义
  • output_path(string,可选):自定义输出路径。如果未提供,则保存到 Downloads 文件夹

**返回:**生成的 CSV 文件路径

**列:**与 Excel 导出的结构相同(详细列说明见上文)

用法示例:

  • 导出所有 KSI:export_to_csv("ksi")
  • 导出所有要求:export_to_csv("all_requirements")
  • 导出定义:export_to_csv("definitions")
generate_ksi_specification

生成 KSI 产品规格说明书 Word 文档,为工程实施和规划提供指导。

参数:

  • ksi_id(字符串):KSI 标识符(例如,“KSI-AFR-01”)
  • evidence_collection_strategy(字符串):用户提供的高层级证据收集策略说明
  • output_path(字符串,可选):自定义输出路径。若未提供,则保存到“下载”文件夹

**返回:**生成的 Word(.docx)文档路径

文档内容:

  • 元数据:KSI ID、类别、影响级别、状态、日期
  • 概述:符合 FedRAMP 20x 要求的目的和范围
  • 要求声明:完整的 KSI 要求文本
  • NIST 800-53 控制措施:相关安全控制措施及其标题
  • Azure 优先实施方案:推荐的 Azure 服务、IaC 指导和自动化策略
  • 证据收集:用户定义的策略 + 推荐的证据类型和灵活的收集计划
  • 5 阶段实施计划:需求分析 → 设计 → 实施 → 测试 → 文档编制(由工程团队确定时间安排)
  • 团队角色:云架构师、DevOps、安全工程师、合规专员等
  • 成功标准:用于验证实施情况的可衡量结果
  • 风险与缓解措施:常见风险及针对 Azure 的缓解策略
  • 资源:FedRAMP、NIST、Azure 文档链接

推荐的 Azure 服务(根据 KSI 类别提供情境相关的服务):

  • Microsoft Entra ID、Azure Policy、Azure Monitor(适用于所有 KSI)
  • Microsoft Defender for Cloud、Azure Key Vault、Azure Firewall(特定类别)
  • Microsoft Sentinel、Azure Automation、Log Analytics(特定控制措施)

用法示例:

Generate specification for KSI-AFR-01:
> generate_ksi_specification with ksi_id="KSI-AFR-01" 
  and evidence_collection_strategy="Collect Azure Policy compliance reports quarterly using Azure Automation runbooks. Store evidence in Azure Blob Storage with immutable storage policy."
generate_implementation_questions

生成面向产品经理和工程师的战略访谈问题,促进深入的规划讨论。

参数:

  • requirement_id(字符串):要求或 KSI 标识符(例如,“FRR-CCM-01”、“KSI-IAM-01”)

**返回:**按利益相关者角色整理的战略问题

问题类别:

  1. 面向产品经理的战略问题(10 个问题):

    • 业务影响与 ROI
    • 客户价值与竞争地位
    • 资源分配与优先级排序
    • 依赖关系与阶段划分
  2. 面向工程师的技术问题(15 个问题):

    • 架构与设计决策
    • Azure 服务选择
    • 自动化机会
    • 监控与证据收集
    • 运维与维护
  3. 跨职能问题(10 个问题):

    • 安全与合规集成
    • 用户体验影响
    • 培训与支持需求
    • 事件响应协调
  4. Azure 特定注意事项(动态生成,最多 20 个问题):

    • Microsoft Entra ID 配置
    • Azure RBAC 与条件访问
    • Log Analytics 与 Sentinel 集成
    • Azure Policy 与治理
    • Defender for Cloud 设置
    • Key Vault 与加密策略

补充指导:

  • 决策框架(实施前必须回答的 5 个问题)
  • 成功标准(5 项可衡量结果)
  • 风险信号(需要留意的 5 个警示信号)
  • 后续步骤(9 阶段实施方法)
  • 推荐资源(Microsoft 文档、FedRAMP 资源、社区)
analyze_infrastructure_code

分析基础设施即代码(IaC)文件,检查是否存在 FedRAMP 20x 合规问题,并提供可执行的建议。

参数:

  • code(字符串):要分析的 IaC 代码内容
  • file_type(字符串):IaC 文件类型——"bicep" 或 "terraform"
  • file_path(字符串):待分析文件的路径(用于报告)
  • context(字符串,可选):有关代码的其他背景信息(例如 PR 描述)
  • application_profile(字符串,可选):用于根据应用类型筛选内容、减少误报的应用类型。支持的配置文件:"cli-tool"、"mcp-server"、"web-app"、"api-service"、"iac-only"、"library"、"batch-job"、"full"(默认:不进行筛选)

返回值:

  • findings:合规问题数组,包含要求 ID、严重程度、描述和建议
  • summary:高/中/低优先级问题及良好实践的数量
  • pr_comment:适用于 GitHub/ADO PR 评论的格式化 Markdown
  • application_context:(设置配置文件时)有关当前配置文件和功能的元数据
  • context_filtered_count:(设置配置文件时)通过上下文筛选而隐藏的问题数量

支持的语言:

  • Bicep:Azure Resource Manager 模板
  • Terraform:Azure RM 提供程序资源

检查内容: 根据 40 多项 FedRAMP KSI 分析基础设施代码,包括:

  • 身份与访问管理(MFA、RBAC、特权访问)
  • 服务配置(加密、机密管理、备份)
  • 网络架构(安全组、DDoS 防护、网络分段)
  • 监控与日志记录(诊断设置、审计日志、警报)
  • DevSecOps(变更管理、漏洞扫描、测试)
  • 隐私与数据保护(数据分类、保留策略)
  • 事件响应(检测、日志记录、自动化)
  • 供应链安全(容器扫描、可信注册表)

使用示例:

// This Bicep code will be flagged for missing diagnostic settings
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-01-01' = {
  name: 'mystorageaccount'
  location: location
  properties: {
    // Missing: diagnostic settings for KSI-MLA-05
  }
}
analyze_application_code

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

参数:

  • code (字符串):要分析的应用程序代码内容
  • language (字符串):编程语言——"python"、"csharp"、"java"、"typescript" 或 "javascript"
  • file_path (字符串):要分析的文件路径(用于报告)
  • dependencies (数组,可选):项目依赖项列表(例如,["flask==2.3.0", "requests==2.31.0"])
  • application_profile (字符串,可选):用于上下文感知筛选的应用程序类型。与 analyze_infrastructure_code 的配置文件相同。

返回:

  • findings:安全发现数组(结构与基础设施分析相同)
  • summary:高/中/低优先级问题和良好实践的数量
  • pr_comment:用于 PR 审查的格式化 Markdown
  • dependencies_checked:已分析的依赖项数量

支持的语言和框架:

  • Python:Flask、Django、FastAPI 应用程序
  • C#:ASP.NET Core、Entity Framework、Azure SDK for .NET
  • Java:Spring Boot、Spring Security、Jakarta EE、Azure SDK for Java
  • TypeScript/JavaScript:Express、NestJS、Next.js、React、Angular、Vue、Azure SDK for JS

检查的 FedRAMP 要求(阶段 1 + 阶段 2):

阶段 1 — 基础:

  • KSI-IAM-01:API 身份验证和授权
  • KSI-SVC-06:密钥管理(硬编码密码、API 密钥、证书)
  • KSI-SVC-05:资源完整性(易受攻击的库、不安全函数)
  • KSI-PIY-02:安全目标和要求文档
  • KSI-MLA-05:诊断日志配置

阶段 2 — 应用程序安全:

  • KSI-IAM-05:服务帐户管理(托管标识与硬编码凭据)
  • KSI-CNA-03:微服务安全(服务间身份验证、mTLS、速率限制)

阶段 3 — 安全编码实践:

  • KSI-SVC-01:持续改进(安全评估和改进)
  • KSI-SVC-02:网络加密(TLS、安全传输)
  • KSI-SVC-07:修补(安全更新、漏洞修复)
  • KSI-PIY-01:自动化清单(实时资产跟踪)
  • KSI-PIY-03:文档要求
  • KSI-CNA-07:服务网格安全(Istio/Linkerd)
  • KSI-IAM-04:最小权限访问
  • KSI-IAM-07:会话管理和令牌安全
analyze_cicd_pipeline

分析 CI/CD 流水线配置是否符合 FedRAMP 20x DevSecOps 要求。

参数:

  • code(string):流水线配置内容(YAML/JSON)
  • pipeline_type(string):流水线类型——"github-actions"、"azure-pipelines"、"gitlab-ci" 或 "generic"
  • file_path(string):流水线文件路径(用于报告)
  • application_profile(string,可选):用于按上下文筛选的应用类型。与 analyze_infrastructure_code 使用的配置文件相同。

返回:

  • findings:DevSecOps 发现项数组(结构与代码分析相同)
  • summary:高/中/低优先级问题及良好实践的数量
  • pr_comment:用于 PR 审查的格式化 Markdown
  • pipeline_type:检测到的流水线平台

支持的平台:

  • GitHub Actions(.github/workflows/*.yml)
  • Azure DevOps Pipelines(azure-pipelines.yml)
  • GitLab CI/CD(.gitlab-ci.yml)

检查的 FedRAMP 要求(第 4 阶段):

  • KSI-CMT-01:变更管理自动化(PR 触发、必需审查、分支保护)
  • KSI-CMT-02:部署流程(审批关卡、环境保护、回滚能力)
  • KSI-CMT-03:CI/CD 中的自动化测试(单元测试、流水线中的安全扫描)
  • KSI-AFR-01:自动化漏洞扫描(容器、IaC、SAST/DAST 工具)
  • KSI-AFR-02:安全发现项修复(遇到漏洞时阻止流程、自动创建问题)
  • KSI-CED-01:持续收集证据(工件上传、测试结果、保留策略)

使用示例:

# GitHub Actions workflow that will be flagged for missing security scans
name: Build
on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - run: docker build -t myapp .
      - run: docker push myapp:latest
      # ❌ No vulnerability scanning
      # ❌ No test execution
      # ❌ No evidence collection

**💡 结果:**分析器建议添加 Trivy 容器扫描、单元测试执行、安全关卡和工件上传,以收集合规证据。

使用示例:

# This Python code will be flagged for multiple issues
from flask import Flask

app = Flask(__name__)
API_KEY = "sk-1234567890abcdef"  # KSI-SVC-06: Hardcoded secret

@app.route('/api/users')  # KSI-IAM-01: Missing authentication
def get_users():
    users = [
        {'name': 'Alice', 'ssn': '123-45-6789'},  # PII in logs - see NIST SI-12
    ]
    return {'users': users}

自动化 PR 审查工作流:

  1. 通过 PR 提交代码(GitHub/Azure DevOps)
  2. 分析器工具检查 IaC 和应用程序代码
  3. 生成附有 FedRAMP 要求引用的发现项
  4. 发布包含合规审查内容的 PR 评论
  5. 开发者在合并前解决问题

**目的:**帮助团队深入思考实施注意事项、权衡取舍和成功标准,然后再投入资源。这些问题旨在促进规划会议、设计审查和利益相关方协调。

get_infrastructure_code_for_ksi

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

参数:

  • ksi_id(string):关键安全指标标识符(例如,“KSI-IAM-01”、“KSI-MLA-01”)
  • infrastructure_type(string):"bicep" 或 "terraform"

**返回:**用于部署证据收集基础设施的 IaC 模板

支持的 KSI 系列:

  • IAM(身份和访问管理):Microsoft Entra ID、Log Analytics 工作区、诊断设置、自动化帐户
  • MLA(监控、日志记录和审计):Log Analytics 工作区、Azure Sentinel、诊断设置、警报规则
  • AFR(审计和财务报告):具有不可变性的存储帐户、事件订阅、审计日志
  • CNA(变更通知和审批):Event Grid 主题、Logic Apps、DevOps 流水线、变更跟踪
  • RPL(发布流水线):Azure DevOps 流水线、部署槽位、回滚能力、审批关卡
  • SVC(服务和漏洞管理):Defender for Cloud、安全评估、合规仪表板

使用示例:

> get_infrastructure_code_for_ksi with ksi_id="KSI-IAM-01" and infrastructure_type="bicep"

输出包括:

  • Azure 资源定义(Log Analytics、Storage、Event Grid 等)
  • 用于收集证据的诊断设置
  • 保留策略和不可变性
  • 与 Azure Monitor 和 Sentinel 集成
  • 用于收集证据的自动化功能
  • RBAC 角色和权限
get_evidence_collection_code

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

参数:

  • ksi_id(string):关键安全指标标识符(例如,“KSI-IAM-01”)
  • language(string):可选值为 "python"、"csharp"、"powershell"、"java" 或 "typescript"(也接受 "javascript")

**返回:**包含身份验证、证据收集和存储的代码示例

代码功能:

  • 身份验证:适用于托管身份或本地开发的 Azure DefaultAzureCredential 模式
  • 证据收集:Microsoft Graph API、Azure Resource Manager、Azure Monitor 的 SDK
  • 证据存储:保存到 Azure Blob Storage,并添加不可变性和元数据标记
  • 错误处理:Try-catch 模式和日志记录
  • 文档:解释每个步骤的内联注释

支持的语言:

  • Python:使用 azure-identity、azure-storage-blob、azure-monitor-query、msgraph-sdk
  • C#:使用 Azure.Identity、Azure.Storage.Blobs、Azure.Monitor.Query、Microsoft.Graph
  • PowerShell:使用 Az.Accounts、Az.Storage、Az.Monitor、Microsoft.Graph 模块
  • Java:使用 Azure Identity、Azure Storage Blobs、Azure Resource Manager、Microsoft Graph SDK
  • TypeScript/JavaScript:使用 @azure/identity、@azure/storage-blob、@azure/arm-resources、@microsoft/microsoft-graph-client

使用示例:

> get_evidence_collection_code with ksi_id="KSI-MLA-01" and language="python"

输出包括:

  • SDK 导入和身份验证设置
  • 针对 KSI 的证据收集逻辑
  • JSON 格式化和元数据标记
  • 带不可变性的 Blob 存储上传
  • 错误处理和重试逻辑
get_evidence_automation_architecture

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

参数:

  • scope(string):架构范围——"minimal"、"single-ksi"、"category" 或 "all"

**返回:**包含组件、数据流和实施指导的架构模式

架构范围:

  1. minimal:适用于试点项目的快速入门架构

    • 单个 Log Analytics 工作区
    • 用于定时收集证据的 Azure Function
    • 配置基本保留策略的 Blob 存储
    • 用于通知的 Event Grid
  2. single-ksi:针对一个 KSI 的生产架构

    • 专用证据收集基础设施
    • 配有监控的 Azure Functions
    • 用于安全保障的托管身份
    • Sentinel 集成
  3. category:针对一个 KSI 类别(IAM、MLA 等)的企业级架构

    • 特定类别的证据收集器
    • 集中式证据存储
    • 自动化报告仪表板
    • 与 Azure Policy 集成
  4. all:针对 72 个 KSI 的企业级架构

    • 多区域证据收集
    • 高可用性设计
    • 自动化合规报告
    • 与 GRC 工具集成

使用示例:**

> get_evidence_automation_architecture with scope="all"

输出包括:

  • 组件图及说明
  • 数据流架构
  • 安全和身份模式
  • 监控与告警策略
  • 证据存储和保留
  • 灾难恢复注意事项
  • 与 Azure 服务的集成模式
  • 扩展建议
  • 实施步骤

可用提示词

该服务为 FedRAMP 合规工作流提供 18 个提示词:

规划与评估提示词

initial_assessment_roadmap - FedRAMP 20x 授权的六阶段路线图,包含检查清单、交付成果和关键成功因素(工程团队确定时间安排)

gap_analysis - 详细的差距分析框架,对比当前状态与 FedRAMP 20x 要求,并提供优先级排序和整改规划

vendor_evaluation - 供应商评估框架,包含分类问题、评分卡模板和评估标准

migration_from_rev5 - 从 FedRAMP Rev 5 迁移到 20x 的详细计划,包含七阶段方法、差距分析和要求映射(团队确定时间安排和预算)

significant_change_assessment - 根据 FRR-CCM-SC 评估重大变更的框架,包含影响分析、测试要求和授权更新触发条件

实施与自动化提示词

ksi_implementation_priorities - 按优先级排序的指南,介绍如何在八个优先阶段实施全部 72 项关键安全指标,并映射依赖关系(工程团队确定部署时间安排)

azure_ksi_automation - 使用 Microsoft、Azure 和 M365 功能实施 72 项 KSI 的指南,包含 PowerShell 脚本、Azure CLI 命令、Microsoft Graph API 集成、KQL 查询、Azure Functions/Logic Apps、证据收集框架,以及与 Defender 套件、Entra ID、Key Vault 和 Sentinel 的集成

api_design_guide - 授权数据共享 API(FRR-ADS)指南,包含端点、身份验证、OSCAL 格式和示例

authorization_boundary_review - 根据 FedRAMP 20x 要求定义和记录授权边界、系统互连和数据流的指南

监控与合规提示词

continuous_monitoring_setup - 建立符合 FedRAMP 20x 要求的持续监控计划指南,包含自动化、指标和报告

quarterly_review_checklist - FedRAMP 20x 季度审查(FRR-CCM-QR)检查清单,涵盖 72 项 KSI、漏洞审查和变更审查

vulnerability_remediation_timeline - 符合 FedRAMP 20x VDR 要求的漏洞修复时间线和优先级框架

审计与文档提示词

audit_preparation - FedRAMP 20x 评估准备指南,包含证据收集、常见发现和访谈准备(团队确定准备时间安排)

ato_package_checklist - 运行授权(ATO)材料包准备检查清单,包含所需材料、模板和提交要求

documentation_generator - OSCAL SSP 模板、流程模板(VDR、ICP、SCN)和 KSI 实施文档模板

FRR 合规与代码审查提示词

frr_code_review - 使用 AST 驱动的语义分析,在全部 10 个 FRR 系列(VDR、ADS、RSC、UCM、CCM、SCN、MAS、ICP、FSI、PVA)中审查代码是否符合 FedRAMP 要求(FRR)的指南,并集成 PR 工作流

frr_family_assessment - 针对 10 个 FRR 系列中 199 项 FRR 要求的系列专属评估指南,包含详细检查清单、评估问题和证据规划

frr_implementation_roadmap - 实施全部 199 项 FRR 要求的战略性 16 周、四阶段路线图,包含优先级框架、Azure 服务建议和 KSI 集成策略

KSI + FRR 综合分析示例

MCP 服务提供集成分析功能,将关键安全指标(KSI)与 FedRAMP 修订要求(FRR)结合起来进行合规分析。这些示例展示了如何同时使用 KSI 代码分析器和 FRR 分析工具,进行全面的安全评估。

示例 1:网络分段(KSI-CNA-01 + FRR-RSC 系列)

场景: 验证网络安全控制,同时满足 KSI 跟踪和 FRR 合规性

# Step 1: Analyze infrastructure code with KSI analyzer
from analyzers.ksi.factory import get_factory

bicep_code = """
resource nsg 'Microsoft.Network/networkSecurityGroups@2023-11-01' = {
  name: 'prod-nsg'
  location: location
  properties: {
    securityRules: [
      {
        name: 'allow-https'
        properties: {
          priority: 100
          direction: 'Inbound'
          access: 'Allow'
          protocol: 'Tcp'
          sourceAddressPrefix: '*'
          destinationAddressPrefix: '*'
          destinationPortRange: '443'
        }
      }
    ]
  }
}
"""

# Analyze against KSI-CNA-01 (Network Segmentation)
factory = get_factory()
ksi_result = factory.analyze("KSI-CNA-01", bicep_code, "bicep", "nsg.bicep")

print(f"KSI-CNA-01 Analysis:")
print(f"  Compliant: {ksi_result.is_compliant}")
print(f"  Findings: {len(ksi_result.findings)}")
for finding in ksi_result.findings:
    print(f"  - {finding.severity.value}: {finding.message}")

# Step 2: Analyze against FRR-RSC (Secure Configuration) requirements
frr_analysis = analyze_frr_family(
    family="RSC",
    code=bicep_code,
    language="bicep",
    file_path="nsg.bicep"
)

print(f"\nFRR-RSC Family Analysis:")
print(f"  Total FRRs: {frr_analysis['total_frrs']}")
print(f"  Compliant: {frr_analysis['compliant_count']}")
print(f"  Non-compliant: {frr_analysis['non_compliant_count']}")

# Step 3: Get integrated remediation guidance
for frr_id, result in frr_analysis['results'].items():
    if not result['compliant']:
        print(f"\n{frr_id}: {result['frr_name']}")
        print(f"  Related KSI: {get_frr_metadata(frr_id)['related_ksis']}")
        print(f"  Remediation: {result['recommendation']}")

# Output:
# KSI-CNA-01 Analysis:
#   Compliant: False
#   Findings: 2
#   - HIGH: NSG allows traffic from any source (sourceAddressPrefix: *)
#   - MEDIUM: NSG rule priority too permissive (100 vs recommended >1000)
#
# FRR-RSC Family Analysis:
#   Total FRRs: 10
#   Compliant: 7
#   Non-compliant: 3
#
# FRR-RSC-01: Network Security Groups Configuration
#   Related KSI: ['KSI-CNA-01', 'KSI-CNA-03']
#   Remediation: Use specific source IP ranges, implement deny-by-default rules

集成优势:

  • KSI 分析提供战术层面的代码问题发现
  • FRR 分析提供战略层面的合规覆盖
  • 综合视图同时展示安全缺陷和政策合规性
  • 修复指导将代码修复与合规要求关联起来
示例 2:漏洞管理(KSI-AFR-04 + FRR-VDR 系列)

场景: 验证漏洞扫描配置和修复流程

# Step 1: Analyze vulnerability scanning implementation with KSI
cicd_pipeline = """
name: Security Scanning
on:
  push:
    branches: [main]
  pull_request:
  schedule:
    - cron: '0 0 * * *'  # Daily scans

jobs:
  vulnerability-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      
      - name: Run Trivy vulnerability scanner
        uses: aquasecurity/trivy-action@master
        with:
          scan-type: 'fs'
          scan-ref: '.'
          format: 'json'
          output: 'trivy-results.json'
          severity: 'CRITICAL,HIGH,MEDIUM'
      
      - name: Upload scan results
        uses: actions/upload-artifact@v3
        with:
          name: trivy-results
          path: trivy-results.json
          retention-days: 90
"""

# Analyze against KSI-AFR-04 (Vulnerability Detection)
ksi_result = factory.analyze("KSI-AFR-04", cicd_pipeline, "yaml", ".github/workflows/security.yml")

print(f"KSI-AFR-04 Analysis:")
print(f"  Compliant: {ksi_result.is_compliant}")
print(f"  Evidence: {ksi_result.evidence}")

# Step 2: Analyze against all FRR-VDR requirements (59 total)
vdr_analysis = analyze_frr_family(
    family="VDR",
    code=cicd_pipeline,
    language="yaml",
    file_path=".github/workflows/security.yml"
)

print(f"\nFRR-VDR Family Analysis (59 requirements):")
print(f"  Scan configuration: {vdr_analysis['results']['FRR-VDR-01']['compliant']}")
print(f"  Remediation timeframes: {vdr_analysis['results']['FRR-VDR-TF-01']['compliant']}")
print(f"  KEV tracking: {vdr_analysis['results']['FRR-VDR-TF-02']['compliant']}")
print(f"  Authenticated scanning: {vdr_analysis['results']['FRR-VDR-AC-01']['compliant']}")

# Step 3: Get evidence automation recommendations
evidence_guidance = get_frr_evidence_automation("FRR-VDR-01")
ksi_evidence = get_ksi_evidence_automation("KSI-AFR-04")

print(f"\nIntegrated Evidence Collection:")
print(f"  FRR-VDR-01 Artifacts: {evidence_guidance['evidence_artifacts']}")
print(f"  KSI-AFR-04 Queries: {ksi_evidence['collection_methods']}")
print(f"  Storage: Azure Blob (retention: 730 days per FRR-VDR, KSI-MLA-02)")

# Output:
# KSI-AFR-04 Analysis:
#   Compliant: True
#   Evidence: Daily vulnerability scans, artifact retention 90 days
#
# FRR-VDR Family Analysis (59 requirements):
#   Scan configuration: True
#   Remediation timeframes: False (missing deadline tracking)
#   KEV tracking: False (no CISA KEV integration)
#   Authenticated scanning: False (filesystem scan only)
#
# Integrated Evidence Collection:
#   FRR-VDR-01 Artifacts: ['scan-results.json', 'remediation-status.csv', 'kev-report.pdf']
#   KSI-AFR-04 Queries: ['Log Analytics vulnerability metrics', 'Defender scan results']
#   Storage: Azure Blob (retention: 730 days per FRR-VDR, KSI-MLA-02)

集成优势:

  • KSI-AFR-04 验证扫描工具配置
  • FRR-VDR 系列检查是否符合全部 59 项漏洞要求
  • 综合分析可识别差距(KEV 跟踪、经过身份验证的扫描)
  • 证据自动化建议同时涵盖 KSI 和 FRR 的需求
示例 3:授权数据共享(KSI-CED-01 + FRR-ADS 系列)

场景: 验证用于提供机器可读合规数据的 API 实现

# Step 1: Analyze API implementation with KSI
api_code = """
@app.route('/api/authorization/technical-controls', methods=['GET'])
@require_auth
def get_technical_controls():
    \"\"\"FRR-ADS-TC-02: Technical controls data endpoint\"\"\"
    
    # Query compliance data from storage
    controls_data = storage_client.get_blob(
        container='security-controls',
        blob='latest-technical-controls.json'
    )
    
    response = {
        'metadata': {
            'timestamp': datetime.utcnow().isoformat(),
            'version': '1.0',
            'frr_requirement': 'FRR-ADS-TC-02',
            'classification': 'CUI'
        },
        'data': json.loads(controls_data)
    }
    
    return jsonify(response), 200
"""

# Analyze against KSI-CED-01 (Continuous Evidence Delivery)
ksi_result = factory.analyze("KSI-CED-01", api_code, "python", "api/authorization.py")

print(f"KSI-CED-01 Analysis:")
print(f"  API endpoint defined: {ksi_result.is_compliant}")
print(f"  Authentication required: {'@require_auth' in api_code}")

# Step 2: Analyze against FRR-ADS family (22 requirements)
ads_analysis = analyze_frr_family(
    family="ADS",
    code=api_code,
    language="python",
    file_path="api/authorization.py"
)

print(f"\nFRR-ADS Family Analysis (22 requirements):")
for frr_id in ['FRR-ADS-01', 'FRR-ADS-02', 'FRR-ADS-AC-01', 'FRR-ADS-TC-02']:
    result = ads_analysis['results'][frr_id]
    print(f"  {frr_id}: {result['compliant']} - {result['frr_name']}")

# Step 3: List all required FRR-ADS-TC endpoints
tc_endpoints = list_frrs_by_family("ADS")
tc_frrs = [frr for frr in tc_endpoints if 'TC-' in frr['frr_id']]

print(f"\nRequired FRR-ADS-TC Endpoints ({len(tc_frrs)} total):")
for frr in tc_frrs:
    print(f"  {frr['frr_id']}: {frr['name']}")
    metadata = get_frr_metadata(frr['frr_id'])
    print(f"    Related KSI: {metadata['related_ksis']}")

# Output:
# KSI-CED-01 Analysis:
#   API endpoint defined: True
#   Authentication required: True
#
# FRR-ADS Family Analysis (22 requirements):
#   FRR-ADS-01: True - Machine-readable authorization data
#   FRR-ADS-02: True - Real-time compliance data API
#   FRR-ADS-AC-01: True - API authentication and access control
#   FRR-ADS-TC-02: True - Technical controls data endpoint
#
# Required FRR-ADS-TC Endpoints (7 total):
#   FRR-ADS-TC-01: Continuous monitoring data
#     Related KSI: ['KSI-CED-01', 'KSI-MLA-01']
#   FRR-ADS-TC-02: Technical controls data
#     Related KSI: ['KSI-CED-01']
#   FRR-ADS-TC-03: Vulnerability data
#     Related KSI: ['KSI-CED-01', 'KSI-AFR-04']
#   [... 4 more endpoints ...]

集成优势:

  • KSI-CED-01 验证证据交付机制
  • FRR-ADS 系列支持 22 项授权数据共享要求
  • 综合分析可识别各项 KSI 对应哪些 FRR 端点
  • 支持机器可读合规数据要求
示例 4:部署前扫描

场景: 在部署到生产环境前,结合 KSI 和 FRR 进行合规性分析

# Complete infrastructure/application scan
terraform_infra = open('main.tf', 'r').read()
app_code = open('app.py', 'r').read()
cicd_pipeline = open('.github/workflows/deploy.yml', 'r').read()

# Step 1: Analyze against all 72 KSIs
print("KSI Analysis (72 indicators):")
all_ksi_results = factory.analyze_all_ksis(terraform_infra, "terraform", "main.tf")
ksi_summary = {
    'compliant': sum(1 for r in all_ksi_results if r.is_compliant),
    'non_compliant': sum(1 for r in all_ksi_results if not r.is_compliant),
    'high_severity': sum(1 for r in all_ksi_results for f in r.findings if f.severity.value == 'HIGH')
}
print(f"  Total KSIs analyzed: {len(all_ksi_results)}")
print(f"  Compliant: {ksi_summary['compliant']}")
print(f"  Non-compliant: {ksi_summary['non_compliant']}")
print(f"  High-severity findings: {ksi_summary['high_severity']}")

# Step 2: Analyze against all 199 FRRs
print("\nFRR Analysis (199 requirements):")
all_frr_results = analyze_all_frrs(
    code=terraform_infra,
    language="terraform",
    file_path="main.tf"
)

frr_summary = {
    'compliant': all_frr_results['compliant_count'],
    'non_compliant': all_frr_results['non_compliant_count'],
    'not_applicable': all_frr_results['not_applicable_count']
}
print(f"  Total FRRs analyzed: {all_frr_results['total_frrs']}")
print(f"  Compliant: {frr_summary['compliant']}")
print(f"  Non-compliant: {frr_summary['non_compliant']}")
print(f"  Not applicable: {frr_summary['not_applicable']}")

# Step 3: Family-specific deep dive on critical families
critical_families = ['VDR', 'ADS', 'CCM', 'RSC', 'UCM']
print("\nCritical Family Analysis:")
for family in critical_families:
    family_result = analyze_frr_family(family, terraform_infra, "terraform", "main.tf")
    print(f"  FRR-{family}: {family_result['compliant_count']}/{family_result['total_frrs']} compliant")

# Step 4: Generate deployment checklist
print("\nPre-Deployment Checklist:")
print("  [" + ("✓" if ksi_summary['high_severity'] == 0 else "✗") + "] No high-severity KSI findings")
print("  [" + ("✓" if frr_summary['non_compliant'] == 0 else "✗") + "] All applicable FRRs compliant")
print("  [" + ("✓" if frr_summary['non_compliant'] < 10 else "✗") + "] Less than 10 FRR findings")
print("  [" + ("✓" if ksi_summary['compliant'] >= 65 else "✗") + "] At least 65/72 KSIs compliant")

# Step 5: Get implementation status for tracking
ksi_status = get_ksi_implementation_status()
frr_status = get_frr_implementation_status()

print("\nCompliance Tracking:")
print(f"  KSI Implementation: {ksi_status['implementation_percentage']}%")
print(f"  FRR Implementation: {frr_status['overall_compliance_percentage']}%")
print(f"  Combined Score: {(ksi_status['implementation_percentage'] + frr_status['overall_compliance_percentage']) / 2}%")

# Output:
# KSI Analysis (72 indicators):
#   Total KSIs analyzed: 72
#   Compliant: 58
#   Non-compliant: 14
#   High-severity findings: 5
#
# FRR Analysis (199 requirements):
#   Total FRRs analyzed: 199
#   Compliant: 167
#   Non-compliant: 18
#   Not applicable: 14
#
# Critical Family Analysis:
#   FRR-VDR: 45/59 compliant
#   FRR-ADS: 22/22 compliant
#   FRR-CCM: 18/25 compliant
#   FRR-RSC: 8/10 compliant
#   FRR-UCM: 4/4 compliant
#
# Pre-Deployment Checklist:
#   [✗] No high-severity KSI findings
#   [✗] All applicable FRRs compliant
#   [✓] Less than 10 FRR findings
#   [✓] At least 65/72 KSIs compliant
#
# Compliance Tracking:
#   KSI Implementation: 80.6%
#   FRR Implementation: 90.3%
#   Combined Score: 85.4%

集成优势:

  • 覆盖 72 项 KSI 和 199 项 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 官方仓库: https://github.com/FedRAMP/docs/tree/main/data

贡献

欢迎贡献!请参阅 CONTRIBUTING.md,了解:

  • 开发环境设置和测试
  • 安全扫描要求
  • 依赖管理指南
  • 拉取请求流程
  • 项目结构和架构
  • 完整的测试文档

安全

有关安全漏洞报告和安全最佳实践,请参阅 SECURITY.md。

贡献

欢迎贡献!请参阅 CONTRIBUTING.md,了解:

  • 开发环境设置和测试
  • 安全扫描要求
  • 依赖管理指南
  • 拉取请求流程

许可证

MIT 许可证 — 详情请参阅 LICENSE 文件。

本项目为开源项目,欢迎贡献!请参阅 CONTRIBUTING.md 了解相关指南。

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

参考资料

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。