Holley-Studio/thesmos-governance

GitHub: Holley-Studio/thesmos-governance

Thesmos Governance 是一个面向 AI 辅助工程时代的代码治理工具包,通过 CLI、GitHub Action、VS Code 扩展和 MCP server 在代码进入生产前检测 AI 生成代码中的安全漏洞与架构问题。

Stars: 1 | Forks: 0

# Thesmos Governance [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/Holley-Studio/thesmos-governance/actions/workflows/ci.yml) [![npm version](https://img.shields.io/npm/v/thesmos-governance?color=blue)](https://www.npmjs.com/package/thesmos-governance) [![npm downloads](https://img.shields.io/npm/dm/thesmos-governance)](https://www.npmjs.com/package/thesmos-governance) [![VS Code Marketplace](https://img.shields.io/visual-studio-marketplace/v/holleystudio.thesmos-governance-vscode)](https://marketplace.visualstudio.com/items?itemName=holleystudio.thesmos-governance-vscode) [![License: FSL-1.1-MIT](https://img.shields.io/badge/License-FSL--1.1--MIT-blue.svg)](LICENSE) [![Node ≥20](https://img.shields.io/node/v/thesmos-governance)](https://nodejs.org) **1,137 条规则。零配置。为 AI 辅助工程时代而生。** Thesmos 是一个源码可见的代码治理工具包,专门监控 AI 生成的代码是否存在安全漏洞、破坏性模式以及架构错误——所有这一切都在代码进入生产环境之前完成。 由 [Holley Studio](https://holley.studio) 构建——Thesmos 治理着它自己的代码仓库;此处合并的每一个 PR 都通过了其自身的拦截门禁。查看 [Actions 选项卡](https://github.com/Holley-Studio/thesmos-governance/actions) 以获取证明。 ## 为什么选择 Thesmos AI 工具编写代码的速度远超人类审查的速度。Copilot、Cursor 和 Claude 可以在几分钟内交付可用的功能——但它们也会凭空“幻觉”出模块作用域之外的 Prisma 客户端,将用户输入直接拼接到 LLM prompt 中,并毫无顾忌地制造 N+1 查询瀑布流。 Thesmos 弥补了这一差距。1,137 条涵盖 AI 安全、安全性、性能和正确性的治理规则——安装即刻生效。 ## 四种使用方式 ### 1. CLI 扫描整个代码库并获取健康度评分: ``` npm install thesmos-governance npx thesmos scan ``` 在提交前仅审查已暂存的更改: ``` npx thesmos review ``` 运行 `thesmos audit` 获取详细的 JSON + HTML 报告,或运行 `thesmos init` 以交互方式进行配置。 ### 2. GitHub Action 为每个 pull request 添加治理审查。BLOCKER 级别的发现会阻止合并。行内注释会精确出现在对应的代码行上。 将以下内容复制到 `.github/workflows/thesmos-pr.yml`: ``` name: Thesmos Governance on: pull_request: types: [opened, synchronize, reopened] permissions: pull-requests: write contents: read jobs: governance: name: Governance Review runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Thesmos PR Review uses: Holley-Studio/thesmos-governance/actions/pr-review@v1 with: github-token: ${{ secrets.GITHUB_TOKEN }} fail-on-severity: BLOCKER post-inline-comments: 'true' update-summary: 'true' ``` 无需配置任何密钥。没有构建步骤。该 action 完全独立运行。 ### 3. VS Code Extension 从 `extensions/vscode/` 目录安装,即可获得: - 编写代码时的实时发现 - 状态栏中的健康度评分 - AI 适配器面板——让 Claude、Cursor、Copilot 和 Gemini 随时了解你的治理规则,从而使它们从第一行代码起就生成受治理的代码 ### 4. Claude Code Plugin 直接在 Claude Code 中安装——无需单独执行 `npm install` 步骤: ``` /plugin marketplace add Holley-Studio/thesmos-governance /plugin install thesmos-governance ``` 内置 MCP server、`scan` / `review` / `advise` 技能,以及 CLI 的 `claude:govern install` 所写入的相同 PreToolUse/PostToolUse/Stop 治理钩子——按项目启用,默认关闭。 ## 超越扫描器的功能 规则引擎只是前门——在它背后内置了一个完整的治理平台: | 界面 | 功能描述 | |---|---| | **Diff 感知 PR 门禁** | GitHub Action 仅针对你的 PR 变更行所产生的发现进行拦截——既有的技术债务仅作报告,绝不拦截。基线、行内抑制和置信度分级在所有门禁中的执行方式完全一致([门禁契约](docs/gating.md)) | | **Pantheon** | 由 Zeus 编排的 67 个专家级 AI 代理——`thesmos pantheon:*` | | **Autopilot** | 在隔离分支上由计划文件驱动的自主执行,带有日志记录和一键回滚功能——`thesmos autopilot:*` | | **Brain** | 能够观察发现结果、学习模式并提出新规则供人工审批的机构记忆——`thesmos brain:*` | | **MCP server** | 在 AI 代理编写代码*之前*对其进行治理——`thesmos mcp:serve` | | **Builder 向导** | 搭建受治理的代理、技能、RAG pipeline 和 MCP 工具——`thesmos build:*` | | **执行顾问** | 为计划推荐合适的模型+代理,生成可直接粘贴的启动方案——`thesmos advise ` | | **合规包** | 包含 GDPR、欧盟 AI 法案、HIPAA、DORA 规则集及审计跟踪工具——`thesmos compliance:report`、`agent:audit:*` | | **成本与范围守卫** | 带有硬性停止的 token 预算、代理范围边界、1M 上下文防护——`thesmos tokens:*`、`scope:*` | ## 检测工作原理 我们直言不讳,因为这关系到你应该对发现结果给予多大的信任:Thesmos 的 1,137 条规则**主要基于代码行和模式**——即应用于文件内容和 diff 的正则表达式和轻量级结构启发式方法。这并不是完整的 AST 解析或跨文件数据流分析,我们也没有将其宣传成那样。基于模式的检测速度快,零运行时依赖,且可在任何地方运行——但它可能会被别名、间接引用或与预期模式形状不同的代码所迷惑,这也是同类扫描器共同面临的权衡。 正是基于这种坦白,没有任何发现会被盲目拦截: - **置信度分级**——每条规则都被标记为 `high`(近乎确定的证据,例如已提交的密钥或被禁用的 TLS 检查)、`medium`(可能误报的形状启发式,例如带有模板字面量且其插值可能是常量的 `exec()`),或 `low`(暗示而非证明的关键字/存在信号)。默认情况下,只有 `medium` 及以上置信度的发现会导致构建失败;`low` 置信度的发现会带有可见标签进行报告,但绝不会改变退出代码。 - **Diff 感知门禁**——只有位于你的 PR 实际更改的行上(或其添加的文件中)的发现才会阻止合并。被修改文件中的其他所有发现仅作报告,绝不拦截。 - **抑制系统**——单个行内注释(`// thesmos-disable-next-line -- reason: -- owner: @who`)可永久移除特定的误报。抑制操作需要提供理由和负责人,并且 `thesmos suppressions:audit` 会报告未使用、已过期或一刀切的抑制记录。 - **基线**——`.thesmos/baseline.json` 是一个已接受债务的账本,因此门禁只会在*新*问题上触发,绝不会对你继承而来的既有问题触发。 完整的策略——包括确切说明哪些发现可以阻止合并、哪些不能——已记录在 [docs/gating.md](docs/gating.md) 中,这是每个门禁(`thesmos validate`、`thesmos ci` 和 GitHub Action)完全遵循的唯一事实来源。 ### 谁来审查审查者 合并到*本*仓库的每个 pull request 都必须通过客户 PR 将面临的相同 `thesmos validate` 门禁——包括这一次。这不是一句承诺,而是一份公开记录:[github.com/Holley-Studio/thesmos-governance/actions](https://github.com/Holley-Studio/thesmos-governance/actions)。 本代码库同样也是 AI 加速、人类主导的开发产物——Holley Studio 全程使用 Claude Code 和其他 AI 助手构建 Thesmos。我们认为这是一种优势,而不是需要隐瞒的披露:这里落地的每一项 AI 辅助更改,都会经过我们向你提供的完全相同的门禁。 ## 1,137 条规则 规则被划分为 17 个类别: | 类别 | 规则数 | 示例 | |----------|-------|---------| | AI / LLM | 27 | Prompt 注入、token 滥用、系统 prompt 泄露 | | Security | 22 | CORS 通配符、原型污染、eval 使用 | | Prisma | 30 | 缺失的外键索引、连接池耗尽、N+1 查询 | | Zod | 30 | 被绕过的 schema、`.any()` 使用、缺失的 API 校验 | | tRPC | 25 | 缺失的 auth 中间件、未受保护的 mutation | | React | 30 | 缺失的错误边界、prop 透传、过期的闭包 | | Next.js | 22 | 泄露密钥的 Client component、缺失的 Suspense 边界 | | Performance | 23 | 瀑布式 fetch、庞大的 bundle 引入、未节流的 effect | | TypeScript | 18 | `any` 逃逸出口、缺失的返回类型 | | Node.js | 30 | 未处理的 Promise 拒绝、主线程上的同步 I/O | | Error Handling | 25 | 静默的 catch 块、被吞掉的错误 | | State | 20 | 派生状态存储在 useState 中、被修改的 ref | | Forms | 20 | 缺失校验、不受控的输入 | | Logging | 20 | 日志中的密钥、缺失的请求 ID | | CSS | 20 | 魔法数字、特异性冲突 | | Imports | 20 | Barrel 文件循环引用、深度的内部引入 | | Database | 23 | 缺失事务、未建立索引的外键 | 每条规则都配备了一对回归测试——一个必须**不**触发的误报 fixture,以及一个必须触发的真阳性 fixture(策略详见 [CONTRIBUTING.md](CONTRIBUTING.md))。截至撰写本文时,这相当于跨越 79 个测试文件的 **2,827 个通过测试**,并在每个 PR 上进行验证。 ## 严重性级别 | 级别 | 含义 | |-------|---------| | `BLOCKER` | 合并前必须修复。阻止 CI。 | | `HIGH` | 安全性或正确性风险。尽快修复。 | | `MEDIUM` | 质量问题。在本迭代内修复。 | | `LOW` | 最佳实践缺失。在处理附近代码时修复。 | | `TECH_DEBT` | 仅作记录,不阻止合并。 | ## 配置 无需配置文件。如需自定义,请创建 `.thesmos/config.json`: ``` { "exclude": ["**/*.test.ts", "scripts/"], "rules": { "AI_013": "off", "PERF_018": "MEDIUM" }, "failOn": "BLOCKER" } ``` ## 社区规则包 将任何 `.json` 规则包放入 `.thesmos/packs/` 目录——它们会在运行时加载,无需重新构建。schema 请参阅 `CONTRIBUTING.md`。 ## 仓库结构 ``` thesmos-governance/ ├── website/ Marketing site (deployed to Vercel) │ └── index.html ├── thesmos/ npm package — CLI + core engine │ ├── bin/ CLI entry points (scan, review, audit, init, watch) │ ├── catalog/ 1,137 rules organized by category │ ├── index.ts Public API │ ├── metrics.ts Health grade calculation │ └── report.ts Report generation ├── actions/ │ └── pr-review/ GitHub Action (self-contained, no install step) ├── extensions/ │ └── vscode/ VS Code extension ├── .claude-plugin/ Claude Code plugin manifest + marketplace listing ├── skills/ Plugin skills (scan, review, advise) ├── hooks/ Plugin governance hooks (mirrors claude:govern install) └── .github/workflows/ CI + release pipeline ``` ## 许可证 [Functional Source License 1.1, MIT Future License](LICENSE) (FSL-1.1-MIT)——今日源码可见;在每个版本发布四年后转换为 MIT 许可证。可免费使用(包括商业用途),但竞争性用途(将 Thesmos 本身或实质上相似的产品作为托管或本地部署服务提供给第三方)除外。完整条款请参阅 [LICENSE](LICENSE)。 *由 [Holley Studio](https://github.com/Holley-Studio) 构建*
标签:AI治理, MITM代理, SOC Prime, 云安全监控, 开发工具, 暗色界面, 自动化攻击, 静态分析