关于 regula
Regula 是面向开发者和治理团队的离线命令行扫描器,用于检查代码中的 AI 治理相关模式。它记录部署背景并列出候选指标及参考条款,由人工审核者作出法律判断。
主要功能
- 01扫描本地代码中的治理指标
- 02将发现映射到法律条款
- 03记录部署事实及其来源
- 04生成供审核者补充的证据框架
- 05支持欧盟、韩国和科罗拉多州决策辅助
适用场景
- 01检查本地代码库中的 AI 相关指标
- 02为人工治理审核准备证据
- 03在 CI/CD 中运行可重复检查
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Regula
可离线运行、以代码为基础的 AI 治理扫描。核心扫描在本地运行,不会上传扫描文件的内容,也无需账户;只有在明确选择加入并同意后才会发送遥测数据。Regula 会标记可能需要根据《欧盟 AI 法案》、《韩国 AI 基本法》和《科罗拉多州 SB 26-189》进行审查的模式,记录代码无法揭示的部署事实,并在信息不足时如实报告,而不是凭空给出评分。
目录
$ regula check examples/cv-screening-app --scope all
Decision: insufficient_information
Jurisdiction: eu
Rule resolution: unresolved
Facts needed to resolve the next decision: 2
- is_ai_system: Does the subject meet the governing law's definition of an AI system or regulated automated technology?
- jurisdiction_in_scope: Does this jurisdiction's territorial and operator scope apply?
Detector observations (not legal facts):
Detector summary: ANNEX III OR SECURITY PATTERNS
The scanner found patterns relevant to Annex III or security review.
Resolve the facts listed above before attaching Article 9 to 15 duties.
Files scanned: 1
High-risk: 1
INFO tier: 1
HIGH-RISK INDICATORS:
[INFO] [ 43] app.py — Employment and workers management [plan]
Detector priority: 0-100 (higher = more code patterns matched; not a correctness probability)
以下内容摘自对已跟踪的测试样例 examples/cv-screening-app 执行所示命令时的实际输出。为简洁起见,省略了显示为零的各类别计数以及后续步骤页脚;其他内容均未修改。scripts/verify_transcripts.py 会在每次检查时重新运行此命令;如果上方任何一行不再出现在输出中,检查就会失败。
功能
Regula 会扫描本地源代码文件夹,查找可能需要进行 AI 治理审查的模式。问卷会记录代码无法揭示的事实,例如系统将在何处以及如何使用。结果会指出候选风险类别,并链接到可能相关的条款。Regula 不会判定法律分类、合规情况,也不会确定实际部署所适用的义务。
参考资料涵盖《欧盟 AI 法案》、《韩国 AI 基本法》(第 20676 号法案)和《科罗拉多州 SB 26-189》。核心安装不需要任何第三方运行时依赖。可选扩展会添加依赖项;某些可选命令或已配置功能可能会联系外部服务。请自行评估地域适用范围和数据处理义务。
简单来说:向 Regula 提供一个源代码文件夹,并回答有关系统使用方式的问题。它会返回可能存在的问题和审查记录,供开发者、治理负责人或顾问决定接下来要调查什么。扫描未发现问题,并不能证明系统合规或风险较低。
选择如何开始
| 如果你想…… | 从这里开始 |
|---|---|
| 不安装任何内容,先了解这些问题 | 浏览器评估的源代码位于 site/assess/。目前公共 Pages 部署不可用;恢复后,它会记录声明的上下文以供审查,但不会检查你的代码库,也不会作出法律判定。 |
| 检查本地代码库 | 按照快速开始操作,然后运行 regula check .。 |
| 在采用 Regula 之前对其进行评估 | 按照 10 分钟示例流程操作,并阅读已记录的局限性和验证证据。 |
| 添加可重复执行的团队检查 | 使用 CI/CD 示例,并在将其设为阻断性检查前查看退出代码策略。 |
| 为人工审查者准备材料 | 生成一份可由审查者填写的证据框架,然后补全并验证其中的上下文信息。 |
快速开始
pipx install git+https://github.com/kuzivaai/getregula.git@main
PyPI 分发目前不可用。上面的命令会安装不断变化的公共源代码引用;如需可复现地使用,请固定到经过审查的提交哈希。已验证的状态和替代方案请参阅 docs/installation.md。
不确定 AI Act 是否适用? 无需编写代码:
regula assess # record declared context for human review
regula assess --save-facts # and write the answers where `regula check` reads them
扫描会告诉你需要哪些事实,以及哪些事实无法从代码中获取。你提供 这些事实后,判定就会发生变化:
regula check . --list-facts # every fact id the model defines
regula check . --fact is_ai_system=yes \
--fact jurisdiction_in_scope=yes # declare them for one run
声明的事实属于你,而非 Regula。每项事实都会记录在 .regula/facts.json 中,并注明声明者、使用的命令、所回答的问题以及声明时间;扫描会在判定旁显示这些来源信息。
unknown 是一种回答,绝不会被视为 no。声明事实可以让判定从 insufficient_information 转变为某种适用性指示,但不会生成风险等级、合规评分、准备度百分比或工作量估算。
想扫描代码?
regula check . # 423 tier patterns, 8 language families; runtime varies
regula check . --jurisdictions eu,korea,colorado # selected reference mappings
需要审查材料包?
regula evidence-pack --project . # reviewer-completable evidence scaffold
regula conform --sign --timestamp # integrity metadata (requires regula[signing])
生成的文件是供人工审查的输入材料,不构成审计意见、认证或合规证明。
只想看看它如何运行?(需要克隆的仓库:examples/ 未包含在 pip 软件包中)
git clone https://github.com/kuzivaai/getregula && cd getregula
regula demo # scan a bundled example project
安装详情
推荐使用 pipx 安装:它会将 Regula 与系统 Python 隔离,并避免在 Ubuntu 22.04+、Debian 12+、Fedora、Arch 和 Homebrew Python 上出现 externally-managed-environment 错误。
如果你还没有 pipx,请先安装(仅需一次):
| 平台 | 安装 pipx |
|---|---|
| macOS | brew install pipx && pipx ensurepath |
| Debian / Ubuntu | sudo apt install pipx && pipx ensurepath |
| Fedora | sudo dnf install pipx && pipx ensurepath |
| Arch | sudo pacman -S python-pipx && pipx ensurepath |
| Windows | python -m pip install --user pipx && python -m pipx ensurepath |
已经在使用 uv? 运行 uvx --from git+https://github.com/kuzivaai/getregula.git@main regula,即可运行公共源代码而无需持久安装。也可以通过 uv tool install git+https://github.com/kuzivaai/getregula.git@main 安装。
在 venv 或 conda 环境中运行? 使用 pip install git+https://github.com/kuzivaai/getregula.git@main。PEP 668 限制适用于受管理的系统 Python,不适用于已激活的虚拟环境。
有关故障排查(externally-managed-environment、安装后出现 command not found: regula、各 Shell 的 PATH 设置),请参阅 docs/installation.md。
对已知的高风险测试样例进行试用:
regula check examples/cv-screening-app --scope all
需要使用 --scope all 标志,因为 Regula 的默认范围(production)会跳过示例目录。此测试样例特意包含与就业相关的代码指标,用于测试 Annex III Category 4 检测器;生成的标签是检测器的观察结果,并非法律认定。
请参阅 examples/ 中可运行的参考项目,涵盖禁止行为、高风险、透明度和无升高指标场景;也可以按照 examples/cv-screening-app/ 中的完整 10 分钟评估流程逐步操作:安装、扫描、规划、差距分析、符合性处理、验证,以及移交给红队工具。
如需更深入的首次用户操作指南(策略调整、CI 集成、建立基线),请参阅 docs/QUICKSTART.md。完整文档按类型(教程/操作指南/参考/说明)整理在 docs/README.md 中。
CI/CD
# .github/workflows/regula.yaml
name: AI Governance Check
on: [push, pull_request]
jobs:
regula:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: kuzivaai/getregula@v1
with:
path: '.'
upload-sarif: 'true'
fail-on-prohibited: 'true'
Regula 会告诉你什么
《欧盟 AI 法案》定义了四个风险等级。Regula 会将代码模式映射到各个等级:
| 等级 | 操作 | 含义 |
|---|---|---|
| 可能被禁止(第 5 条) | 阻止指标 | 报告与列明做法相关的代码模式,以便紧急进行情境审查。 |
| 可能属于高风险(第 6 条和 Annex III) | 警告 + 审查映射 | 报告候选用途类别,并映射在审查人员确认法律分类后可能相关的条款。 |
| 可能存在透明度义务(第 50 条) | 透明度指标 | 报告聊天机器人、合成内容及相关实现信号;适用段落和例外情况仍需审查。 |
| 未发现升高的代码指标 | 仅记录 | 表示扫描器未观察到已配置的升高指标。这不能证明其属于最低风险,也不能证明不存在法律义务。 |
每项发现都包含相关条款,并说明例外情况可能适用的情形。Regula 会标记模式,但不会作出法律认定。
覆盖范围有明确层级。 Regula 为《欧盟 AI 法案》、韩国《AI 基本法》(第 20676 号法案)和 Colorado SB 26-189 提供基于证据的问卷和决策模型。它还会将发现单独映射到 13 个框架中的部分控制措施或条款,并发布带日期的地区追踪信息。交叉映射或追踪信息并非可执行的适用性判定,也不是合规评估。当前能力矩阵和声明边界请参阅产品覆盖范围和用户流程。使用 regula check 的 --jurisdictions 筛选部分参考映射;该选项也接受 uk、brazil、nist 和 iso,但不会执行适用性判定。对于三种已实现的决策支持配置,请在 regula assess 中使用 --jurisdiction eu、korea 或 colorado。
开发者指南来源: Python | JavaScript | 医疗保健 | 招聘 | 第 5 条 | 第 9 条 | 第 14 条 | 第 50 条
关键命令
| 命令 | 功能 |
|---|---|
regula | 扫描当前目录,显示指标摘要和后续步骤 |
regula check . | 详细风险扫描,列出各文件的发现项 |
regula comply | 提供 EU AI Act 义务证据和待解决事实;--article 50 可将已声明的适用性事实与静态实现信号分开 |
regula gap --project . | 根据第 9 至 15 条进行合规差距评估 |
regula plan --project . | 根据差距评估结果生成按优先级排序的整改计划 |
regula fix --project . | 为发现项生成合规修复脚手架 |
regula evidence-pack --project . | 生成带完整性元数据、可由审查者补充的证据脚手架 |
regula conform --project . | 生成第 43 条符合性评估证据包 |
regula dpv --project . | 将风险指示导出为 DPV-AIAct JSON-LD(与 DPVCG EU-AIAct 词汇表一致),用于 RDF/GRC 工具 |
regula check --ci . | CI 模式——出现任何 WARN 或 BLOCK 发现项时返回退出代码 1,并输出 SARIF |
regula assess | 用于适用性和风险审查的结构化已声明上下文问卷 |
regula demo | 扫描捆绑的示例项目——无需承诺即可试用 |
regula api-server | 启动 REST API(localhost:8487)和 Web 仪表板 |
regula conform --organisational | 针对第 9、17、27 和 72 条的治理自评 |
regula questionnaire | 由上下文驱动的风险评估问卷(也可通过 REST API 使用) |
regula exempt | 第 6(3) 条高风险豁免决策树 |
regula oversight . | 第 14 条人工监督分析(跨文件流程追踪) |
regula guardrails . | 检测第 15 条防护措施的实现覆盖情况 |
regula owasp-agentic | OWASP Agentic Applications Top 10 评估 |
regula monitor | 分析本地记录的 Agent/工具事件,检查选定的第 12 条记录保存信号;此命令本身不会观察正在运行的系统 |
regula gdpr | GDPR 交叉引用扫描(14 项专项检查,4 个 AI Act/GDPR 热点) |
regula bias | CrowS-Pairs 偏见评估(1,508 对句子),可选用 BBQ 基准测试。符合《数字综合法案》偏见测试保障措施(第 4a 条,COM(2025)836)。 |
regula mcp-server | MCP 服务(JSON-RPC stdio),提供三个工具:regula_check、regula_classify、regula_gap,供 Claude Code、Cursor 和其他 MCP 客户端使用 |
regula install <integration> | 设置 pre-commit 框架或直接集成 Git 钩子 |
Regula 共提供 62 条命令。运行 regula --help-all 查看完整列表,或参阅 docs/cli-reference.md。
REST API 和 Web 仪表板
适用于 GRC 集成或不使用终端的用户:
python3 scripts/api_server.py --port 8487
# Open http://localhost:8487/v1/dashboard
提供 7 个端点:/health、/v1/check、/v1/classify、/v1/gap、/v1/questionnaire、/v1/questionnaire/evaluate、/v1/dashboard。所有端点返回与 CLI 相同的 JSON 封装格式。无需身份验证——如需远程访问,请通过反向代理运行。
适用对象
- 构建者和维护者:需要初步了解源代码信号,以便在进行上下文和法律审查前开展调查。
- 治理与保证审查者:需要清晰区分观察结果、已声明事实、待解决问题和来源信息。
- 评估者和采用者:需要可复现的测试、完成情况数据、已知故障模式,以及可在自己的代表性样本上测试 Regula 的非阻塞途径。
- 具备资质的上下文审查者:可将 Regula 产物作为输入。Regula 不会替他们作出法律、符合性、安全、无障碍或领域方面的判断。
详细任务、失败路径和必需的界面状态,参见 产品覆盖范围和用户流程。
Regula 是什么(以及不是什么)
Regula 是:
- 一款开发阶段的证据收集与分流工具,将静态代码 分析与治理问卷相结合,把观察结果和声明事实映射到 3 个司法辖区(EU AI Act、South Korea AI Basic Act、Colorado SB 26-189)可能适用的义务
- 一款左移式代码指标扫描器——类似于用于治理审查的 ESLint,可在终端或 CI/CD 流水线中运行
- 一款基于问卷的评估工具,用于评估代码模式无法验证的组织义务(Articles 9、17、27、72)
- 一种覆盖 3 个司法辖区的基于模式的风险提示工具,而非法律合规证书
- 合规意识的起点,而非终点
Regula 不是:
- 运行时监控系统(它分析的是源代码,而非运行中的系统)
- 法律合规证书(发现结果只是指标,并非法律认定)
- Credo AI 或 Holistic AI 等企业级 GRC 平台的替代品(它可以与这些平台互补)
- 生产环境公平性测试平台(
regula bias会针对本地模型运行基准探测,作为起点,但不能替代运行时公平性监控) - 法律建议(请咨询合格的法律顾问,以作出合规决策)
Regula 帮助开发团队更早地发现与其已实现的司法辖区和参考框架相关的 AI 治理问题。它无法替代合规所需的组织、程序、领域和法律工作。有关 Regula 范围之外内容的详细说明,请参阅
docs/what-regula-does-not-do.md;有关
Regula 自身的模型卡(预期用途、训练数据、评估、已知失效模式),请参阅
docs/MODEL_CARD.md。
偏见评估:方法与伦理
regula bias 会针对本地托管的
语言模型(支持 Ollama、llama3.2/mistral/qwen 变体)运行两项社会偏见基准测试,
作为 EU AI Act Article 10 数据治理文档的证据。
| 基准测试 | 论文 | 方法 | 衡量内容 |
|---|---|---|---|
| CrowS-Pairs | Nangia 等,2020 年 | 对刻板印象与反刻板印象句子对之间的对数概率差进行比较 | 掩码/因果 LM 输出中的内在偏见 |
| BBQ | Parrish 等,2022 年 | 基于含糊上下文提示词进行问答 | 偏见在下游 QA 行为中的显现 |
两项测试都提供小样本可靠性的 Wilson 置信区间,以及用于估计分布的
bootstrap 置信区间。完整方法见
scripts/bias_eval.py 和
docs/benchmarks/PRECISION_RECALL_2026_04.md。
伦理声明。 CrowS-Pairs 和 BBQ 中的刻板印象句对仅用于在受控
条件下对模型行为进行科学评估。Regula 不会在
终端输出或报告中显示单个刻板印象句对: 只显示汇总分数、置信
区间和基准级判定。这些句对依据数据集自身的许可协议(CrowS-Pairs 采用 CC BY-SA 4.0)分发,Regula 不会
重新分发或修改它们。刻板印象句对中表达的观点不代表维护者、Regula 贡献者
或任何运行该工具的用户的观点;这些内容仅作为评估手段,并不代表
认同。regula bias 是用于编写偏见文档的开发阶段起点,而非生产环境公平性监控器: 请参阅上文“Regula 是什么
(以及不是什么)”。
重要限制
Regula 执行的是基于模式的风险提示,而非法律风险分类。
- 《欧盟 AI 法案》根据预期用途和部署场景(第 6 条)对风险进行分类,而不是根据代码模式。Regula 的发现是需要人工审查的提示。
- 会出现误报。 Regula 目前没有经过独立标注的真实场景精确率估计。其开发语料来自单人审查记录;由于未保留所测子集和固定版本的源快照,因此无法从干净检出中重新得出较早随机语料测试的结果。算术过程、局限性和已被取代的测量结果仍作为带日期的研究记录保存在
benchmarks/README.md中;它们不能作为当前检测器准确率的证据。 - **TypeScript 发现仅供参考:**目前尚未测量真实场景精确率。某个带日期的开发切片包含 6 项发现,且全部为误报;这是警示信号,而非可靠的比率。
- **会出现漏报。**数据库中没有的新型风险模式将无法被发现。
- 第 5 条中的禁止事项附有条件和例外,需要人工判断。
- 审计记录采用自我证明方式(可在本地验证,但未经外部见证)。
- 这不能替代法律意见或 DPO 审查。
已验证数据
| 项目 | 数量 |
|---|---|
| CLI 命令 | 62 |
| 风险检测模式(正则表达式) | 423 |
| 扫描的语言类别 | 8(Python、JS、TS、Java、Go、Rust、C/C++、Jupyter) |
| 有选定参考资料的框架标识符 | 13 |
| 测试(pytest --collect-only) | 2,936 |
| 必需的生产依赖项 | 0 |
有关复现命令、有版本范围的基准测试、已知例外、安全态势和审计记录设计,请参阅 docs/TRUST.md。有关版本号的承诺、涵盖的公共 API 以及弃用政策,请参阅 docs/VERSIONING.md。
隐私与数据处理
Regula 的核心扫描在你的设备上运行。默认扫描期间不会传输代码、发现结果或元数据。Regula 没有账户系统或 API 密钥,默认也不会收集遥测数据(崩溃报告需要同时运行 regula telemetry enable 并且通过 REGULA_SENTRY_DSN 配置你自己的端点;已发布的构建不包含端点,并且 DO_NOT_TRACK 始终会禁用该功能)。该工具会读取你的源文件,在本地分析,并将输出写入本地文件系统。明确启用网络的操作包括 RFC 3161 时间戳、源数据或更新检查,以及你配置的集成。完整的安全态势请参阅 SECURITY.md。
贡献
欢迎提交 Bug 报告和拉取请求。
- 提交 PR 前运行
pytest tests/ -q。 - 在
scripts/risk_patterns.py中添加模式。每个模式都应有对应的测试。 - Regula 的设计目标是提示风险,而非进行法律分类。新增模式应保持谨慎——对于面向开发者的工具,误报比漏报更容易损害信任。
- 完整的贡献指南请参阅
CONTRIBUTING.md,版本历史请参阅CHANGELOG.md。
作者身份
Regula 目前只有一位维护者。提交记录中标明共同作者时,该署名用于记录参与其中的工具或协作者。维护者仍需负责审查并接受每项合并的变更。有关单点故障限制,请参阅 GOVERNANCE.md。
许可
引擎和 CLI:Apache License 2.0 或 European Union Public Licence v. 1.2,由你选择。请选择适合你使用场景的许可:
- Apache 2.0 明确授予专利许可,因此是企业采用、商业再分发,以及任何需要明确专利权的场景中的首选。
- EUPL-1.2 在欧盟机构和公共部门采购中得到明确认可,对软件采用强互惠条款,并附有正式的兼容性附录(GPL v2/v3、AGPL v3、OSL、EPL、CeCILL、MPL 2.0、LGPL、CC BY-SA 3.0),适用于下游项目。如果你与欧洲公共行政部门合作,EUPL 通常是必需或优先选择的许可。
你可以在任何用途下选择任一许可。你无需说明选择了哪一种,但两种许可都要求注明出处(保留版权声明和 NOTICE 文件)。
风险模式和监管数据:Detection Rule License (DRL) 1.1。你可以自由使用、修改和再分发这些模式。如果你再分发这些模式或在产品中使用它们,则必须注明出处。如果你的工具根据这些模式生成匹配结果,则输出必须注明来源。
完整软件包的 SPDX 表达式为 (Apache-2.0 OR EUPL-1.2) AND LicenseRef-DRL-1.1。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。