关于 GRC Lake
GRC Lake 是开源、可自托管的安全合规证据评估系统,供安全团队和审计人员将现有数据源映射到控制并检查结果。它保留证据、规则版本和人工审核决定,形成可追溯的审计工作底稿。
主要功能
- 01只读采集云、身份及代码证据
- 02评估版本化控制测试
- 03映射多个合规框架
- 04追踪证据与规则版本
- 05导出快照和审计工作底稿
适用场景
- 01检查控制失败项及其证据
- 02复核控制与框架要求的映射
- 03生成可验证的审计工作底稿
MCP 相关
MCP 服务与控制台、REST API 和 CLI 共用证据与评估模型。Agent 可提出评估相关操作,审核决定由人员批准。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx grc-lakeGRC_LAKE_LAKEPath to a local lake directory (default ./lake)GRC_LAKE_MCP_MODElocal, remote or auto (default); use remote on shared machinesGRC_LAKE_API_URLGRC Lake API URL for remote modeGRC_LAKE_API_KEY密钥API key for remote mode本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
48收录的工具列表 · 更新于 今天
此工具无需参数。
详细介绍
将安全证据转化为可追溯的控制评估和可审阅的审计底稿。 开源且可自托管:从你已在运行的系统和安全数据湖中读取证据,评估有版本控制的控制测试,并将证据和记录的审阅决策与结果一并保留。
- **可追溯:**追溯结果所依据的源记录和规则版本,并检查记录的映射决策;快照构成哈希链账本,可供重新验证。
- **兼容现有系统:**直接连接云、身份、终端和代码系统,或查询数据湖中已有的 OCSF 表。
- **一个控制,多种框架:**可复用的保障措施映射到 SOC 2、ISO 27001、NIST 等框架,并将已审阅的映射与提议的映射分开保存。
打开在线演示 → 点击浏览基于已记录合成数据的控制台。托管演示为只读;它不会连接你的系统,也不代表已覆盖实时服务提供商。无需安装。
快速开始 · 产品导览 · 连接证据 · 已使用 OCSF? · 框架 · 性能 · 自托管 · 文档
快速开始
Python 3.11+ 和 uv:
uvx --from "grc-lake[server]" grc-lake demo
此命令会将一家合成公司加载到临时数据湖中,在无需身份验证的情况下于
localhost:8787 提供控制台服务,并打开浏览器。按 Ctrl+C 可停止服务并删除数据湖。使用 pip:
pip install "grc-lake[server]",然后运行 grc-lake demo。
**第一个任务:**找到一项未通过的控制,检查其证据和映射,并导出冻结结果:先按照示例数据教程操作,再查看审计员底稿示例。
如需进行实际评估,请遵循有限范围试点指南:先使用一个来源,独立核查一项结果,然后重复采集并审阅。
保留数据湖、使用 Docker、开发源代码或使用 MCP
在多次运行之间保留数据湖:
grc-lake fixtures load --company golden --out ./lake --rebase-times
grc-lake serve --server --allow-insecure-no-auth --lake ./lake
Docker(公共镜像,无需登录镜像仓库):
git clone --branch v0.3.18 --depth 1 https://github.com/koda-ai-studio/grc-lake.git
cd grc-lake && docker compose up
使用 uv 和 Node 22+ 获取当前源代码:
git clone https://github.com/koda-ai-studio/grc-lake.git
cd grc-lake && uv sync --frozen --extra dev --extra server && make demo-local
通过 stdio 使用 MCP(无头 GRC介绍 Agent 凭据):
pip install "grc-lake[server,mcp]"
GRC_LAKE_LAKE=./lake grc-lake-mcp
采集 → 评估 → 解决 → 导出。 这些控制台截图使用随附的合成公司数据,并已针对 0.3.17 版本刷新。它们展示的是源代码行为;有关已发布软件包的验证,请参阅 发布记录。
从评估概览开始
在一个视图中查看已评估覆盖率、未解决发现、证据时效性和优先操作。
浏览框架覆盖情况
每个框架分别统计已编目、已映射、已审查和已评估的要求。
检查控制结果和证据
按结果、负责人或框架筛选;打开某项控制,查看其证据、发现、时效性和可信度。
浏览控制族和 CCF
通用控制框架 (CCF) 将可复用的防护措施归入不同控制族,并关联到框架要求。拟议映射不能用于鉴证。 通用防护措施的工作方式。
沿证据图追踪发现
在控制、防护措施、证据、代码库和资产之间追踪准确记录;可深入查看,也可汇总查看。
查看 AI 资产及其后续操作
模型和 Agent 均显示负责人、环境、治理信号和后续操作。 记录的沿袭信息表示存在证据,并不代表控制已通过 (AI 清单语义)。
架构
只读采集为确定性评估提供数据;控制台、REST API、CLI 和 MCP 共用同一套证据与评估模型。
flowchart LR
Sources["Cloud · identity · code · existing lakes"] --> Collect["Read-only collection"]
Collect --> Evaluate["Version-pinned control tests"]
Evaluate --> Assessments["Assessment generations"]
Assessments --> Review["Console · API · CLI · MCP"]
Assessments --> Export["Snapshots · workpapers · OSCAL"]
导出内容:可移植的 CCF/OSCAL 捆绑包、 框架覆盖率报告和可验证的 审计员工作底稿。恢复行为和 API 限制: 架构指南和评估契约。
连接证据
使用直接连接器,或 读取现有数据湖。两者均为只读,并会将 评估证据保存在由你运营的存储中。
支持的数据源
| 类别 | 数据源 |
|---|---|
| 云 | AWS、Microsoft Azure、Google Cloud;Kubernetes(预览版,含 GPU 云);Lambda(预览版) |
| 身份 | Okta(目录和 System Log)、Google Workspace、Microsoft Entra(预览版)、通用身份提供商 |
| 终端 | Microsoft Intune;Jamf、CrowdStrike Falcon(预览版) |
| 代码 | GitHub、GitLab |
| 漏洞扫描 | Snyk(预览版) |
| 人员与培训 | BambooHR、Rippling、Workday;来自任意 LMS 的培训完成情况导出(预览版) |
| 工作流与检测 | Atlassian Jira、工单系统、SIEM 警报、AI 运行时网关 |
| 现有数据湖 | Snowflake、ClickHouse、S3 对象存储、OCSF 预设;Databricks、BigQuery、Iceberg/Parquet(预览版) |
| 导入 | Agent-Bom 扫描报告、CycloneDX 和 SPDX AI 物料清单 |
已经使用 OCSF?
如果你的遥测数据已规范化为 OCSF,例如存储在 Amazon Security Lake 或 Databricks、Snowflake 上的 OCSF 表中,可将 GRC Lake 指向这些表。保留现有的数据源摄取管道:GRC Lake 会运行只读查询,保留映射后的副本,并评估导入的行。内置预设会将事件关联到 CCF 安全措施, 框架要求则遵循每项安全措施经审核的交叉映射:
flowchart LR
A["OCSF Authentication 3002<br/>successful Logon, is_mfa"] --> S1["SG-IDENTITY-001<br/>Logical access and MFA"]
B["OCSF Account Change 3001<br/>Attach Policy"] --> S2["SG-IDENTITY-002<br/>Access review"]
G["OCSF Group Management 3006<br/>Add User, Assign Privileges"] --> S2
V["OCSF Vulnerability Finding 2002<br/>EC2 instance, ECR image"] --> S3["SG-VULNERABILITYMANAGEMENT-001<br/>Vulnerability management"]
C["OCSF Compliance Finding 2003<br/>EC2 instance"] --> S4["SG-CONFIGBASELINE-001<br/>Hardened configuration baselines"]
S1 --> R1["SOC 2 CC6.1 · NIST 800-53 IA-2<br/>CIS AWS 1.10 · …"]
S2 --> R2["SOC 2 CC6.2 · ISO 27001 A.8.2 · …"]
S3 --> R3["SOC 2 CC7.1 · ISO 27001 A.8.8<br/>NIST 800-53 RA-5 · …"]
S4 --> R4["NIST CSF PR.PS-01 · …"]
规则得出的结论,以及 Databricks 示例
规则只说明事件所显示的内容。用户通过 MFA 成功登录,则该用户通过检查;未使用 MFA 的登录则为未解决状态。授予权限(包括将用户添加到组中)会阻止访问审查通过,直到有人审查该操作,但这不代表失败。 漏洞发现和配置检查保留各自的状态,只有资源类型存在明确的目录对应项时,才会关联到安全措施。登录失败、API 活动和检测发现均保持未关联状态。建议的交叉映射绝不会被证明属实。
CREDS='{"host":"dbc-example.cloud.databricks.com","warehouse_id":"abc123","catalog":"security",
"schema":"ocsf","client_id":"<sp-client-id>","client_secret_ref":"DATABRICKS_CLIENT_SECRET"}'
OPTS='{"mappings":[{"preset":"ocsf/authentication","source":{"table":"ocsf_events"}},
{"preset":"ocsf/account_change","source":{"table":"ocsf_events"}}]}'
grc-lake connectors probe --lake ./lake --connector-id databricks-evidence-lake \
--credentials-json "$CREDS" --options-json "$OPTS"
grc-lake connectors configure --lake ./lake --connector-id databricks-evidence-lake \
--state enabled --credentials-json "$CREDS" --options-json "$OPTS"
grc-lake connectors sync --lake ./lake --connector-id databricks-evidence-lake
grc-lake frameworks assessment --lake ./lake
使用 grc-lake lake map --dry-run,根据样例行预览预设。规则、限制,以及 Snowflake、ClickHouse、BigQuery 和 Iceberg 的设置:
CCF 中的 OCSF 事件。
覆盖度包含几个不同层面:已编入目录的要求、已审核的映射和已评估的结果彼此独立。请先查看各框架覆盖矩阵;建议中的映射无法证明已通过认证。
目录条目与已审核映射数量
- 各框架已审核要求: SOC 2 为 49/61,ISO 27001 为 43/93,HIPAA 为 0/24,PCI DSS 为 0/12(顶层),NIST CSF 2.0 为 72/106,NIST SP 800-53 为 399/1,014(其中 381 项是源原生自映射)。每个规范包都列在覆盖矩阵中。
- **22 个框架规范包,共 2,284 项已编入目录的要求(1,997 项不重复;FedRAMP Moderate 的 287 行重述了 NIST SP 800-53 控制项),**通过 1,200 项保障措施建立关联,其中包括源原生评估合约。2,198 项要求映射到保障措施;886 项有已审核的映射,其余 1,312 项为建议映射。在已审核的映射中,381 项是源原生自映射(依据该要求自身固定版本的来源编写),505 项基于已审核的交叉映射;0 项仅依据没有记录审核者的旧版审核。合并总数不代表各框架的就绪程度。
- **28 个可执行适配器(18 个已实现,10 个预览版)和 3 个配置边界。**只读提供方数据收集包括适用于现有安全数据湖的 OCSF 预设。
- **证据范围明确:**缺失或过时的证据会留下差距;通过的样本并不能证明总体覆盖完整。建议映射不可用于认证。
- **一个引擎,四种界面:**控制台、REST API、CLI 和 MCP 服务。Agent 提出建议;由人工批准。
这些数字的含义
数量由源数据生成。已审核数量记录维护者的映射决策 (审核方法与限制); 映射决策不会改变对提供方的访问权限。审计就绪度指数设有分数、已评估框架和阻断性差距门槛,因此高分无法掩盖尚未解决的框架评估问题。固定数据测试、截图和演示无法证明实时提供方数据的准确性、生产容量、认证资格或审计意见;剩余差距请参阅路线图。
性能与资质认定
已接受的本地图谱配置使用两个租户进行测试,每个租户最多包含 10k 条合成记录,并有四个并发客户端。其限制为:成功请求的预热 p95 ≤500 ms,首次读取或缓存过期后的读取 ≤5 秒,进程 RSS ≤1 GiB,且过载时两个租户仍能持续推进。已记录的三次运行均通过。准入拒绝和速率限制拒绝会单独报告;这并不保证过载时每个请求都能成功。
此配置仅涵盖本地 SQLite 上经身份验证的深度为一级的图谱读取。它不代表已验证 100k 规模的交互使用、浏览器渲染、外部存储或生产环境容量规划。请另行查看提供方资质认定和已验证的发布记录。
有限范围的实时运行会记录为收据,并针对提供方核查每项判定:AWS 和 GitHub 试点从没有框架结果进展到 103 项要求未通过、1 项通过认证;以及基于已填充审计日志的 Databricks 运行。每次运行均只涵盖一个账户或工作区,不代表已完成提供方范围的资质认定。
自托管
使用 Docker 或 Helm 部署到你掌控的基础设施上:
- 本地: 使用文件系统数据湖的单个可写副本。
- 分布式: API 副本和租户工作器共享 PostgreSQL 和兼容 S3 的 存储(分布式指南)。
- 生产环境: SSO 和范围限定的凭据、 保留策略和备份/恢复。
发布版本附带经过签名的来源证明和 SBOM(验证制品)。 从 TrustOps 升级?请阅读迁移指南。
工程审查
从一个控制项入手,沿着其证据追溯到经过验证的工作底稿: 合成访问/变更工作流涵盖通过、 失败、缺失、过时、冲突和总体不完整等情况。
各项审查问题的参考文档
| 问题 | 从这里开始 |
|---|---|
| 各层如何组合在一起? | 架构和源码映射、数据流 |
| 什么决定结果是通过、失败还是仍属未知? | 评估语义、总体对账 |
| 如何防止跨租户访问和未经授权的决策? | 信任边界、身份与范围 |
| 部分写入、重试或作业中断后会发生什么? | 生成版本发布、操作契约 |
| 如何检查完整性和可复现性? | 工作底稿资格验证、备份与恢复 |
| 实际测量过哪些性能? | 流水线测量数据、已接受的本地图谱配置 |
请使用正在审查的修订版本运行检查;CI 徽章跟踪 main,基准测试凭证会标明各自的修订版本和工作负载。
文档
| 任务 | 指南 |
|---|---|
| 试用控制台 | 产品导览 |
| 连接证据 | 连接器设置 · 现有数据湖 |
| 集成 Agent | 无头 GRC · Agent API |
| 运行部署 | 部署 · 运维 |
| 参与贡献 | 贡献指南 · 安全 |
全部文档 · 许可证:Apache 2.0
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。