dfirs1car1o/sicario-spec
GitHub: dfirs1car1o/sicario-spec
SicarioSpec 是一个为 GitHub Spec Kit 提供默认安全治理能力的套件,旨在将安全架构、合规证据和风险决策嵌入规范驱动开发流程,在代码编写之前消灭风险。
Stars: 0 | Forks: 0
SicarioSpec
在风险发布前将其消灭。
SicarioSpec 是一个针对 GitHub Spec Kit 的默认安全治理套件。它为规范驱动的开发增加了 AppSec、AI 安全、agent 集群编排、云/IaC 安全、供应链安全、CCM/SOX 证据映射、文档即代码、图表、良好架构审查、风险例外以及人工审批关卡。 目标很简单:在编写代码之前,将安全架构、合规性证据和风险决策作为规范的一部分。 ## 它能增加什么 SicarioSpec 提供: - **预设**:更改每个 Spec Kit 规范、计划、任务列表、清单和准则所必须包含的内容。 - **Guard 扩展命令**:用于审查、威胁建模、控制措施、证据、验证和缺陷修复。 - **Bootstrap CLI**:通过一行命令将套件安装到目标 repo 中。 - **控制映射**:用于 CSA CCM v4.1 和 SOX 404 / ICFR ITGC 证据就绪。 - **Policy-as-code 启动模板**:适用于 Checkov、OPA/Conftest、Azure Policy 和 Kubernetes 准入策略。 - **安全工具链启动模板**:用于密钥、SAST、SCA、SBOM、容器/IaC 扫描和证据路径。 ``` spec idea -> governed spec -> threat model and abuse cases -> architecture decision record -> well-architected review -> secure implementation plan -> security/compliance/docs tasks -> implementation -> deterministic gates -> evidence artifacts -> human review before merge/deploy/publish ``` ## 安装 从本地检出: ``` python3 -m pip install -e . ``` 从 GitHub: ``` python3 -m pip install "git+https://github.com/dfirs1car1o/sicario-spec.git" ``` 安装特定版本: ``` python3 -m pip install "git+https://github.com/dfirs1car1o/sicario-spec.git@v0.1.1" ``` ## 快速开始 ``` sicario init my-project --integration claude --profile public-core cd my-project sicario verify ``` 实用的 profile 组合: ``` sicario init my-api --profile appsec,compliance sicario init my-agent --profile ai-system,agent-fleet,supply-chain sicario init my-cloud-build --profile cloud-iac,security-toolchain sicario init my-audit-ready-build --profile appsec,cloud-iac,security-toolchain,compliance ``` ## Profiles | Profile | 用途 | |---|---| | `public-core` | 核心治理、数据分类、标记规范、文档、图表、威胁模型、证据和风险登记册。 | | `appsec` | 应用/API 安全需求、身份验证/授权、验证、日志记录和负面测试。 | | `ai-system` | AI、LLM、agent、RAG、MCP、模型输出、工具边界、评估和红队测试需求。 | | `agent-fleet` | LangGraph 风格的状态图、持久化工作流、队列、worker、分布式执行、SOAR playbook 和多 agent 编排。 | | `cloud-iac` | Terraform/OpenTofu、Azure Verified Modules、Azure Bicep、AWS、GCP、Kubernetes、容器和 policy-as-code。 | | `security-toolchain` | 密钥扫描、SAST、SCA、SBOM、容器/IaC 扫描、policy-as-code 和扫描证据。 | | `supply-chain` | SBOM、SCA、来源溯源、固定依赖、固定 actions/images 和发布完整性。 | | `compliance` | 控制措施适用性、CCM/SOX 映射、证据索引、例外情况和已接受的风险。 | | `enterprise-strict` | 高保证审查、审批、发布控制、CODEOWNERS 和例外规范。 | Profiles 是可组合的: ``` sicario init my-service --profile appsec,ai-system,agent-fleet,security-toolchain,supply-chain ``` ## 准则基础 核心准则要求: - 最小权限和只读默认设置 - 用于通过/失败决策的确定性授权 - 证据完整性 - 在存储、记录日志、外部共享或发布之前进行数据分类 - 对数据、资源、证据、风险和例外进行一致的标记 - 信任边界净化 - 真理来源授权 - 质量关卡 - 架构纪律 - 良好架构审查 - 可运维性和韧性 - 诚实的文档 - 文档影响跟踪 - 人工把关的高影响变更 - repo、日志、生成的产物或 LLM 上下文中不得包含密钥 良好架构基线涵盖卓越运营、安全性、可靠性、性能效率、成本优化和可持续性。特定于提供商的视角可能会增加细节,但它们不会取代基线。 ## 生成的目标 Repo 产物 `sicario init` 会创建: - `.specify/presets/*` - `.specify/extensions/sicario-guard` - `.specify/extensions.yml` - `SICARIO.md` - 使用 `--integration claude` 时的 `CLAUDE.md` - `docs/security/threat-model.md` - `docs/security/abuse-cases.md` - `docs/governance/data-classification.md` - `docs/governance/tagging-taxonomy.md` - `docs/compliance/control-applicability.md` - `docs/compliance/evidence-index.md` - `docs/compliance/control-maps/*` - `docs/risk/risk-register.md` - `docs/risk/security-exceptions.md` - `docs/risk/accepted-risk-log.md` - `docs/architecture/system-context.md` - `docs/diagrams/system-context.mmd` - `docs/docs-impact.md` - `docs-site/` Docusaurus 脚手架 - `.github/workflows/sicario-verify.yml` - `.github/workflows/docs-site.yml` - 使用 `security-toolchain` 时的 `.github/workflows/security-toolchain.yml` ## 控制映射 SicarioSpec 包含以下启动映射: - CSA Cloud Controls Matrix v4.1 域级可追溯性 - SOX 404 / ICFR ITGC 证据就绪 这些映射是可追溯性辅助工具。它们不是认证声明,也不能取代官方的框架产物、审计师判断或法律/会计范围界定。 ## 验证 运行: ``` sicario verify ``` 验证器目前会检查: - 必需的威胁模型、滥用案例、数据分类、标记分类法、文档影响、图表、控制映射和风险登记册 - 硬编码的密钥模式 - 必需的 spec 章节,包括数据分类和标记规范 - 必需的计划章节,包括数据分类、标记和良好架构审查 - 必需的安全/文档/证据/威胁模型/分类/标记任务 - 缺少 prompt injection 或工具边界防护措施的 AI 敏感 spec - 缺少重试、幂等性、死信、工作流状态或审批防护措施的编排 spec - 缺少所有者、过期时间、审批/理由、补偿控制或证据的有效风险/例外情况 ## 公共项目健康度 SicarioSpec 为合法的开源维护提供了公共 repo 卫生规范: - MIT 许可证 - 行为准则 - 安全策略和私人漏洞报告路径 - 用于 bug、功能、安全加固和控制映射的结构化 issue 表单 - 带有安全/治理清单的 pull request 模板 - Dependabot 配置 - CodeQL 工作流 - OpenSSF Scorecard 工作流和徽章 - 更新日志和发布流程 - 不可变的语义化发布 tag 纪律 目前尚未声明 OpenSSF Best Practices 状态。只有在实际完成外部自我评估之后,才应显示该状态。 ## 开发 运行本地检查: ``` python3 -m unittest discover -s tests python3 -m sicario_cli.cli verify . sicario --version ``` 构建/安装冒烟测试: ``` tmpdir=$(mktemp -d) python3 -m pip wheel . -w "$tmpdir/wheelhouse" python3 -m venv "$tmpdir/venv" "$tmpdir/venv/bin/pip" install "$tmpdir"/wheelhouse/sicario_spec-*.whl "$tmpdir/venv/bin/sicario" init "$tmpdir/project" --profile appsec,cloud-iac,security-toolchain,compliance "$tmpdir/venv/bin/sicario" verify "$tmpdir/project" ``` ## 不作保证的事项 SicarioSpec 不保证代码安全、不认证合规性,也不替代人工安全审查。它能在早期发现风险,将其转化为具体工作,并在合并前阻止常见的不安全路径。 ## 社区 - 贡献:[CONTRIBUTING.md](CONTRIBUTING.md) - 安全:[SECURITY.md](SECURITY.md) - 支持:[SUPPORT.md](SUPPORT.md) - 行为准则:[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) - 更新日志:[CHANGELOG.md](CHANGELOG.md) - 发布流程:[docs/release-process.md](docs/release-process.md) - Repo 设置:[docs/repository-settings.md](docs/repository-settings.md) - OpenSSF 姿态:[docs/openssf.md](docs/openssf.md)标签:DevSecOps, 上游代理, 人工智能安全, 合规性, 子域名突变, 安全治理, 开发安全, 逆向工具