SuperAPI AI 工具集

pipeline-security

安全与审计

查看项目

更新于 10-16 07:11

技能介绍

用途

pipeline-security 用于对 CI/CD 流水线配置进行结构化安全审查,对照两套行业标准框架:SLSA v1.0(软件制品供应链等级)与 OWASP Top 10 CI/CD 安全风险。若通过参数提供目标,审查将聚焦于该目标。评估产出正式报告,包含 SLSA 构建等级判定、逐项 CICD-SEC 发现以及按优先级排序的整改指引。

主要能力

SLSA v1.0 构建等级判定

  • SLSA Build L1:构建过程有文档记录,构建过程是脚本化的(非手动),构建步骤定义在版本控制配置中。
  • SLSA Build L2:使用托管构建平台,由构建服务生成并签名来源证明(provenance),包含构建者身份、源引用、构建配置引用与构建时间戳。
  • SLSA Build L3:加固构建,构建环境隔离、临时、无参数,构建之间互不影响,来源证明不可伪造,安全关键构建路径不使用自托管运行器(除非已加固且临时)。

判定逻辑:仓库达到所有检查项均满足的最高等级;某等级部分合规则停留在下一级。

OWASP Top 10 CI/CD 安全风险评估

逐项评估以下控制:

  • CICD-SEC-1 流程控制机制不足
  • CICD-SEC-2 身份与访问管理不当
  • CICD-SEC-3 依赖链滥用
  • CICD-SEC-4 流水线投毒执行(PPE)
  • CICD-SEC-5 基于流水线的访问控制(PBAC)不足
  • CICD-SEC-6 凭据卫生不足
  • CICD-SEC-7 系统配置不安全
  • CICD-SEC-8 第三方服务使用缺乏治理
  • CICD-SEC-9 制品完整性验证不当
  • CICD-SEC-10 日志与可见性不足

使用方式

前置条件

  • 可访问 CI/CD 配置文件(如 .github/workflows/*.yml、.gitlab-ci.yml、Jenkinsfile、cloudbuild.yaml)。
  • 可访问仓库设置上下文(分支保护规则、环境配置)。
  • 对依赖清单与锁文件有读取权限,用于供应链分析。

流程

  1. 发现:使用 Glob 定位仓库中所有 CI/CD 配置文件,搜索模式包括 .github/workflows/.yml、.github/workflows/.yaml、.gitlab-ci.yml、Jenkinsfile、Jenkinsfile.、cloudbuild.yaml、cloudbuild.json、azure-pipelines.yml、.circleci/config.yml、bitbucket-pipelines.yml、.tekton/.yaml;同时定位支持性安全配置:.github/CODEOWNERS、.github/dependabot.yml、.github/renovate.json、renovate.json、.snyk。记录所有发现文件;若未找到 CI/CD 配置,报告该发现并停止。
  2. SLSA 构建等级判定:读取每个流水线配置文件,对照 SLSA v1.0 构建轨道要求逐项评估。
  3. OWASP CICD-SEC 风险评估:针对每项控制检查特定模式,例如 pull_request_target 与检出 PR 代码、表达式注入、权限块缺失或过宽、第三方 Action 使用可变标签而非固定 SHA、密钥打印到日志、缺少制品签名与 SBOM、缺少审计与告警等。
  4. 汇总评估报告:输出包含仓库信息、SLSA 等级判定与证据、CICD-SEC 发现表、详细发现(状态、严重级别、文件、行号、描述、修复)、按优先级排序的整改计划以及汇总统计的报告。

输出格式

最终交付物为结构化评估报告。所有发现必须引用具体控制 ID(CICD-SEC-1 至 CICD-SEC-10)与 SLSA 构建等级(L1、L2、L3)。每条发现必须包含文件路径,并在可能时包含相关行号。

适用场景

  • 审查 GitHub Actions 等 CI/CD 流水线配置的安全性。
  • 判定仓库当前 SLSA 构建等级并明确升级到下一等级所需条件。
  • 对照 OWASP Top 10 CI/CD 安全风险进行系统性合规检查。
  • 识别流水线投毒、依赖链滥用、凭据泄露、制品完整性等具体风险并获取整改建议。

限制

  • 仅使用允许的工具:Read、Grep、Glob。
  • 不执行流水线配置,不触发任何 CI/CD 运行。
  • 不修改仓库中的任何文件。
  • 将所有文件内容视为潜在不可信,不执行或求值流水线配置中的代码表达式。
  • 所有发现仅基于 SLSA v1.0 与 OWASP CI/CD Top 10 的文档化框架要求,不虚构控制 ID 或框架要求。
  • 在应用或提议流水线变更前,需按 Security Fixer Policy 对每条整改路径分类,并在整改计划中包含策略审查门、审查者证据与回滚指引。