vectimus/policies

GitHub: vectimus/policies

一套基于真实事件与合规框架的 Cedar 策略集合,用于约束 AI 编码代理的行为。

Stars: 0 | Forks: 1

# Vectimus 策略 **11 个包 | 78 个策略 | 369 条规则** 用于管理 AI 编码代理行为的 Cedar 策略。每一条规则都源自真实事件、已公开的漏洞或安全框架场景。 ![Packs](https://img.shields.io/badge/packs-11-blue) ![Policies](https://img.shields.io/badge/policies-78-blue) ![Rules](https://img.shields.io/badge/rules-369-blue) ![License](https://img.shields.io/badge/license-Apache%202.0-green) ## 策略包 [浏览所有在线策略 →](https://vectimus.com/policies) | 包 | 阻止的内容 | |----|------------| | `destructive-ops` | `rm -rf /`、`mkfs`、fork bombs、`chmod 777 /` | | `secrets` | 读取 `.env`、凭据、API 密钥、私钥 | | `supply-chain` | 锁定文件篡改、恶意注册表、无审查的 `npm publish` | | `infrastructure` | `terraform destroy`、`kubectl delete`、IAM 权限提升 | | `code-execution` | 反向 Shell、`eval()` 链、下载并执行模式 | | `data-exfiltration` | 将 Base64 管道传输到 `curl`、DNS 隧道、凭据泄露 | | `file-integrity` | 写入 CI 配置、证书、`.claude/`、IDE 设置、代理内存 | | `database` | `DROP DATABASE`、ORM `--force` 标志、迁移删除 | | `git-safety` | `push --force`、`reset --hard`、`clean -f` | | `mcp-safety` | 未批准的 MCP 服务器、参数注入、工具冒充 | | `agent-governance` | 自动生成、持久化、代理间通信、审计篡改 | ## 示例策略 每条规则都包含 `@incident`(它所阻止的真实攻击)和 `@controls`(合规框架映射): ``` @id("vectimus-destops-001") @description("Block recursive deletion of root, home or current directory") @incident("Home directory deletion via rm -rf reported in Claude Code sessions, 2025") @controls("SOC2-CC6.1, EU-AI-15, NIST-CSF-PR.DS-01, ISO27001-A.8.9") @suggested_alternative("Delete specific files or directories by name instead of using broad recursive deletion.") forbid ( principal, action == Vectimus::Action::"shell_command", resource ) when { context.command like "*rm -rf /*" || context.command like "*rm -rf ~*" || context.command like "*rm -rf .*" }; ``` 每条规则都可追溯到真实事件、已发布 CVE 或合规框架要求。无冗余内容。 ## 合规性覆盖 这些注解的存在是为了让审计人员能够将控制措施追溯到执行依据。这是审计证据,而非合规性复选框。 | 框架 | 前缀 | 覆盖范围 | |------|------|----------| | OWASP Agentic Top 10 | `OWASP-ASI` | 强制执行全部 10 个类别 | | SOC 2 Type II | `SOC2-` | CC6.1、CC6.6、CC6.8、CC7.2、CC7.3、CC8.1 | | NIST AI RMF | `NIST-AI-` | GOVERN 1.1/1.5、MAP 1.5、MEASURE 2.5/2.6、MANAGE 2.2/3.2 | | NIST CSF 2.0 | `NIST-CSF-` | PR.DS、PR.PS、DE.CM、RS.AN | | ISO 27001:2022 | `ISO27001-` | A.8 技术控制、A.5 组织控制 | | EU AI Act | `EU-AI-` | 第 9、12、13、14、15 条 | | SLSA | `SLSA-` | L2 供应链控制 | | CIS Controls | `CIS-` | CIS-16 | ## 策略更新方式 1. **Sentinel 发现威胁**:一个三代理管道监控攻击披露、CVE 和社区报告。 2. **Sentinel 编写策略**:生成 Cedar 代码,通过沙箱证明器验证,并向本仓库打开 PR。 3. **人工审核并合并**:每条策略 PR 在发布前都需人工批准。 4. **自动同步到本地安装**:Vectimus 每 24 小时从 Vectimus API 检查策略更新,无需人工干预。 ## Sentinel 集成 [Sentinel](https://github.com/vectimus/sentinel) 是自动化安全管道,用于分析 AI 代理事件并向本仓库打开包含新策略或更新策略的 PR。其安全工程师代理在提出更改前会读取 `manifest.json`、`VERSION` 和 `schema.cedarschema`,以了解当前策略格局。 ## 测试夹具 `tests/` 目录包含由 Sentinel 和消费者仓库用于验证策略决策的事件回放夹具。每个子目录以事件 ID 命名(例如 `VTMS-2026-0003`),并包含: - `entities.json` — 事件中涉及的 Cedar 实体(Agent、Tool、Resource) - `request_block.json` — 策略必须 DENY 的请求 - `request_allow.json` — 策略必须 ALLOW 的相关请求(用于验证无过度拦截) ## 消费者仓库 标记的发布会将 `policies-updated` 事件分发给消费者仓库,它们会打开自己的同步 PR: - [vectimus/vectimus](https://github.com/vectimus/vectimus)(Python) - [vectimus/openclaw](https://github.com/vectimus/openclaw)(TypeScript) - [vectimus/sentinel](https://github.com/vectimus/sentinel)(安全管道) ## 仓库结构 ``` / ├── pack.toml # Name, version, description ├── .cedar # One or more forbid/permit rules ``` 策略是与语言无关的 Cedar 文本文件,无论是通过 cedarpy、cedar-wasm 还是任何符合 Cedar 规范的实现进行评估,都会产生相同的允许/拒绝决策。 ## 贡献指南 ### 策略格式 每条规则需要以下注解: - **`@id`** — 遵循 `vectimus-<包>-` 模式的唯一标识符 - **`@description`** — 用自然语言描述规则所阻止的内容 - **`@incident`** — 驱动此规则的真实世界攻击或事件 - **`@controls`** — 逗号分隔的合规框架映射 - **`@suggested_alternative`** — 代理应采取的替代操作 ### 流程 1. **添加或编辑** 对应包目录中的 `.cedar` 文件 2. **包含 `@incident` 注解** — 没有事件就没有规则 3. **映射到合规框架** 通过 `@controls`。请参考上方表格中的前缀。 4. **运行测试套件** 在消费者仓库中(`vectimus/vectimus`、`vectimus/openclaw`)验证评估结果 5. **更新 CHANGELOG.md** 记录更改 6. **打开 PR** 并标记对应的包名称 ### 版本控制 本仓库采用语义化版本控制: - **补丁版本**(`v2.0.1`)— 规则调整、误报修复、描述变更 - **次要版本**(`v2.1.0`)— 新增策略,策略本身不变 - **主要版本**(`v3.0.0`)— 策略移除、模式变更、现有规则行为变更 ## 安装 Vectimus 这些策略由主 [Vectimus](https://github.com/vectimus/vectimus) 包消费。要开始强制执行: ``` pipx install vectimus # or: uv tool install vectimus vectimus init ``` 适用于 Claude Code、Cursor、GitHub Copilot 和 Gemini CLI(通过原生钩子)。请参阅[主仓库](https://github.com/vectimus/vectimus)获取安装说明。 ## 许可证 Apache 2.0
标签:AI安全, AI编码代理, Cedar策略, Chat Copilot, EUAI法案, ISO27001, MCP安全, NIST, SOC2, Streamlit, 云计算, 代理治理, 代码安全, 合规控制, 威胁建模, 审计篡改, 数据防泄露, 文件完整性, 最小权限, 漏洞枚举, 破坏性操作, 策略治理, 纵深防御, 自动生成代理, 自定义脚本, 规则引擎, 访问控制, 跨代理通信, 逆向工具