tzone85/themis

GitHub: tzone85/themis

AI代码生成合规网关,确保代码变更符合安全政策。

Stars: 0 | Forks: 0

# Themis [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/994557b202065626.svg)](https://github.com/tzone85/themis/actions/workflows/ci.yml) [![发布](https://img.shields.io/github/v/release/tzone85/themis?sort=semver)](https://github.com/tzone85/themis/releases/latest) [![Go](https://img.shields.io/github/go-mod/go-version/tzone85/themis)](https://go.dev) [![许可证:Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![SLSA 3](https://img.shields.io/badge/SLSA-3-success)](https://slsa.dev) **AI生成代码的合规网关。** Themis 记录并管理 AI 编码工具(Claude Code、Cursor、GitHub Copilot、如 [VXD](https://github.com/tzone85/vortex-dispatch) 之类的自主代理)对您的软件所做的每个更改。它捕获 *谁*(哪个 AI、哪个提示、哪个人类)更改了 *什么*(哪个事件合约、哪个服务、哪个下游消费者),通过密码学方式证明(每个拉取请求的签名 AI 材料清单、防篡改账本),并在合并之前阻止违反您政策的更改。 ## 状态 ## 安装 三种安装路径。选择一种。完整操作员指南: [`docs/ops/deployment.md`](docs/ops/deployment.md). ``` # A. 容器(推荐)。 docker pull ghcr.io/tzone85/themis:0.1.0 # B. 签名二进制文件。 VERSION=v0.1.0 curl -sLo themis.tar.gz \ "https://github.com/tzone85/themis/releases/download/${VERSION}/themis_${VERSION#v}_linux_x86_64.tar.gz" tar -xzf themis.tar.gz && sudo install -m 0755 themis /usr/local/bin/themis # C. 从源代码。 git clone https://github.com/tzone85/themis && cd themis && make build ``` ## 验证发布 每个发布都使用 [cosign keyless](https://docs.sigstore.dev/) 通过 GitHub Actions OIDC 签名,并按存档和按镜像提供 SPDX SBOMs (`syft`)。在部署之前: ``` # 容器镜像。 cosign verify ghcr.io/tzone85/themis:0.1.0 \ --certificate-identity-regexp '^https://github.com/tzone85/themis/' \ --certificate-oidc-issuer https://token.actions.githubusercontent.com # 二进制:验证校验和文件,然后检查存档是否与行匹配。 cosign verify-blob \ --certificate checksums.txt.pem --signature checksums.txt.sig \ --certificate-identity-regexp '^https://github.com/tzone85/themis/' \ --certificate-oidc-issuer https://token.actions.githubusercontent.com \ checksums.txt grep themis_0.1.0_linux_x86_64.tar.gz checksums.txt | sha256sum -c ``` ## 快速入门 要查看从从头到尾的引导教程,请参阅 [`docs/onboarding/README.md`](docs/onboarding/README.md). 此块是最小可能的端到端演示。 ``` go build -o /tmp/themis ./cmd/themis DIR=/tmp/themis-demo # 1. 租户引导。 /tmp/themis tenant init --id acme --base "$DIR" # 2. 为租户颁发管理员令牌。 /tmp/themis tokens grant --base "$DIR" --tenant acme --role admin --description quickstart # 3. 目录快照(使用捆绑的示例树)。 /tmp/themis catalogue sync --id acme --base "$DIR" \ --source ./internal/catalogue/testdata/sample # 4. 通过 git_heuristic(或编写自己的 AIChange JSON)导入真实的PR。 /tmp/themis ingest --id acme --base "$DIR" \ --adapter git_heuristic --pr-id "demo#1" \ --workdir "$PWD" --base-ref HEAD~1 # 5. 策略 + 决策。 echo 'version: 1 default: REQUIRE_APPROVAL rules: - name: doc-only allowed when: impact.kind: [DOC_ONLY] then: verdict: ALLOW' > "$DIR/themis.yaml" /tmp/themis decide --id acme --base "$DIR" \ --aichange "$DIR/tenants/acme/aichange/demo_1.json" \ --policy "$DIR/themis.yaml" # 6. 构建 + 签署BOM(本地ed25519;cosign-keyless-stub也可用)。 /tmp/themis bom build --id acme --base "$DIR" --pr-id "demo#1" /tmp/themis bom sign --id acme --base "$DIR" --pr-id "demo#1" # 7. 获取LLM风格的咨询笔记(默认为NullLLM)。 /tmp/themis advise --id acme --base "$DIR" --pr-id "demo#1" # 8. 账本完整性 + 外部锚点。 /tmp/themis ledger doctor --id acme --base "$DIR" /tmp/themis ledger anchor --id acme --base "$DIR" --sink "s3://demo/" # 9. 启动REST API + 仪表板。 /tmp/themis serve --base "$DIR" --addr 127.0.0.1:8787 & open http://127.0.0.1:8787/?tenant=acme # the dashboard ``` ## 更新日志 有关按计划的历史记录,请参阅 [`CHANGELOG.md`](CHANGELOG.md)(计划 1 至 18)。README 以前曾嵌入它;该部分增长到 ~360 行,将面向操作员的内容推到了折叠之下。 ## 文档 - 🚀 **[入门教程](docs/onboarding/README.md)** — 从干净安装到运行部署的 30 分钟引导,每个命令都经过现场验证。如果您想 *使用* Themis,请从这里开始。 - 📒 **[食谱](docs/onboarding/cookbook/README.md)** — 8 个命名食谱(锁定策略、供应链、覆盖、Sigstore-stub、OIDC 链、自定义声明映射等),每个食谱都引用了证明它的测试。 - 🧪 **[练习](docs/onboarding/exercises/README.md)** — 6 个动手练习,带有检查命令。 - 📜 **[更新日志](CHANGELOG.md)** — 按计划的历史记录。 - 📄 **[执行摘要](docs/superpowers/specs/2026-05-22-themis-exec-summary.md)** — 一页。 - 📄 **[完整设计规范](docs/superpowers/specs/2026-05-22-themis-design.md)** — 标准工件。 - 📁 **[利益相关者简报索引](docs/stakeholders/README.md)** — 合规性、工程、安全、执行、锚定试点提案。 - 🛠 **[操作](docs/ops/)** — [`deployment`](docs/ops/deployment.md), [`observability`](docs/ops/observability.md), [`backup-restore`](docs/ops/backup-restore.md), [`runbook`](docs/ops/runbook.md). - 🔐 **治理** — [`SECURITY`](SECURITY.md), [`CONTRIBUTING`](CONTRIBUTING.md), [`SUPPORT`](SUPPORT.md), [`CODE_OF_CONDUCT`](CODE_OF_CONDUCT.md). ## 关于名称 **Themis** 是希腊神话中 *神圣法律、秩序和习俗* 的化身 — 决策遵循规则、规则可知、结果可与之对照的原则。与该产品的映射是直接的:受 AI 影响的代码更改遵循明确的政策,政策被记录,每个决策都是可回放的,审计跟踪是可独立验证的。图标(手持天平的正义女神)无需解释即可立即与合规买家产生共鸣。 以下是名称获得其位置的三条实际原因: 1. **企业可信而不可爱。** 合规性、风险和监管受众立即阅读参考;没有“那是什么意思?”的差距需要弥合。 2. **全球发音无歧义。** *THEE-miss.* 简短易说,拼写简单,在会议中不太可能听错。 3. **适用于未来的模块。** 如果 Themis 从 AI 编码治理扩展到一般 AI 系统运行时治理或更广泛的变化管理,该名称仍然适用。子模块可以采用互补的神话名称(`Themis Gateway` = 策略引擎,`Themis Ledger` = AI-BOM 存储,`Themis Eye` = 仪表板)而无需重新品牌。 在命名过程中被拒绝(在我们的买家空间中的搜索命名空间冲突): - *Catalyst* — Cisco、Salesforce。 - *Argus* — Argus Cyber Security(相邻信息安全领域的既定供应商)。 - *Aegis* — Aegis Group 本身是一家保险公司。 - *Lineage* — Lineage Logistics、Lineage OS。 如果 `themis.dev` / `themis.ai` 不可用时的备选方案:**Provene**(一个以来源为基础的新词,具有干净的商标表面)。 ## 解决的问题 在受监管的环境中(保险、银行、医疗保健、公共部门),AI 辅助工程创建了一个审计差距:当 AI 编写代码时,关于 *哪个 AI、哪个提示、哪个模型、哪个人类审查了它* 的痕迹在拉取请求合并的瞬间消失。合规团队合理地要求:“*证明 AI 没有违反合同、没有泄露数据,以及人类对任何重要事项都进行了签字。*”今天,大多数组织都无法做到。 非官方的行业答案是“不要使用 AI 处理任何重要事项。”这降低了生产力,滋生了规避措施,并且随着 AI 辅助工程成为常态,这是不可持续的。 Themis 关闭了差距:常规 AI 工作流程自动进行,影响合同的作业暂停以进行明确签字,每个更改都留下一个已签字的审计包,并且检测到系统被静默绕过并发出警报。 ## 架构支柱(每条一行) 1. **适配器驱动式摄取** — 一个标准化的 `AIChange` 事件格式;每个 AI 工具通过其自己的适配器连接。 2. **[EventCatalog](https://eventcatalog.dev) 作为事实真相** — 我们知道哪些事件、服务和领域受更改影响。 3. **策略即代码** — YAML 规则;确定性裁决;纯函数引擎。 4. **只读账本** — 每个租户的 `events.jsonl` + SQLite WAL;通过 Merkle 链进行篡改证据。 5. **Sigstore 风格签名** — 默认 cosign keyless;本地密钥回退用于断网。 6. **通过文件系统隔离实现多租户** — 在存储层中,跨租户数据泄露在物理上是不可能的。 7. **多个表面,一个核心** — EventCatalog 插件、CLI、GitHub Action / git 钩、Web 仪表板、REST API。 ## 首个试点目标 一个锚定受监管的组织(保险/金融服务、南非) — 请参阅 [锚定试点提案](docs/superpowers/specs/2026-05-22-themis-anchor-pilot-proposal.md) 了解范围、计划、退出标准和风险概况。 ## 许可证(计划) - **EventCatalog 插件** (`@themis/eventcatalog-plugin`): Apache 2.0。 - **AI-BOM 架构** (`themis-bom-schema`): Apache 2.0。 - **Themis 核心**:最初是开放核心与封闭源代码之间的利益相关者决策。在代码发布之前需要做出决定。 © 2026 Thando Mini。保留所有权利,直到许可决定最终确定。
标签:AI代码生成, AI伦理, AI治理, Apache许可证, Claude Code, Cursor, EVTX分析, GitHub Copilot, Go语言, NIDS, SLSA标准, VXD, 代码合规, 代码审查, 加密签名, 区块链技术, 容器化, 开源框架, 持续集成, 政策即代码, 日志审计, 智能代理, 智能合约, 源代码管理, 程序破解, 请求拦截, 跌倒检测, 软件供应链安全, 软件物料清单, 远程方法调用, 防篡改