pipelinelint

Polar Sponsor
爱发电 赞助
.NET 9.0

CI/CD 流水线反模式分析器 —— 检测硬编码密钥、缺失缓存配置、跳过测试、不安全的部署、缺少审批关卡,以及环境……

管道Lint - CI/CD 管道反相式分析器.

功能概述

管道Lint - CI/CD 管道反相式分析器.是一项面向实际任务的技能,主要用于PipelineLint扫描 CI/CD 管道反相式的密码库,硬码密钥,缓存配置缺失,测试跳过,不安全解析。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

PipelineLint — CI/CD 流水线反模式分析器

PipelineLint 扫描代码库中的 CI/CD 流水线反模式,包括:硬编码密钥、缺失的缓存配置、跳过的测试、不安全的部署操作、缺少审批门禁、未固定版本的依赖项,以及环境配置问题。它基于正则表达式匹配 6 大类共 90 个流水线专属检测模式,通过 lefthook 集成 Git 钩子,并生成含可操作修复建议的 Markdown 报告。100% 本地运行,零遥测数据。

命令

免费版(无需许可证)

pipelinelint scan [file|directory]

对指定文件或目录执行一次性流水线质量扫描。

执行方式:

bash "/scripts/dispatcher.sh" --path [target]

功能说明:

  1. 接受文件路径或目录路径(默认为当前目录)
  2. 自动发现所有源码文件(跳过 .git、node_modules、二进制文件、图片、.min.js 等)
  3. 对每个文件运行 30 个流水线质量检测模式(免费版上限)
  4. 为每个文件及整体计算流水线质量分(0–100 分)
  5. 评级标准:A(90–100)、B(80–89)、C(70–79)、D(60–69)、F(<60)
  6. 输出结果包含:文件路径、行号、检查 ID、严重性等级、描述、修复建议
  7. 若总分 ≥ 70,则退出码为 0;若流水线质量较差(总分 < 70),则退出码为 1
  8. 免费版仅支持前 30 个模式(SE + CF 类别)

典型使用场景示例:

  • “扫描我的流水线是否存在安全问题” → 执行 pipelinelint scan .
  • “检查该工作流文件是否存在反模式” → 执行 pipelinelint scan .github/workflows/ci.yml
  • “在 CI 配置中查找硬编码密钥” → 执行 pipelinelint scan .
  • “审计我的 CI/CD 流水线配置” → 执行 pipelinelint scan .
  • “检查是否缺失缓存配置” → 执行 pipelinelint scan .

专业版($19/用户/月 —— 需设置 PIPELINELINT_LICENSE_KEY)

pipelinelint scan --tier pro [file|directory]

增强型扫描,覆盖 60 个模式,涵盖密钥管理、缓存策略、测试实践与依赖安全性。

执行方式:

bash "/scripts/dispatcher.sh" --path [target] --tier pro

功能说明:

  1. 校验专业版及以上许可证有效性
  2. 运行全部 60 个流水线检测模式(SE、CF、TS、AR 类别)
  3. 检测被跳过的测试及被禁用的质量检查项
  4. 识别不安全的依赖管理实践
  5. 按类别提供完整检测结果分解报告

pipelinelint scan --format json [directory]

生成 JSON 格式输出,便于集成至 CI/CD 系统。

bash "/scripts/dispatcher.sh" --path [directory] --format json

pipelinelint scan --format html [directory]

生成 HTML 格式报告,适用于浏览器查看。

bash "/scripts/dispatcher.sh" --path [directory] --format html

pipelinelint scan --category SE [directory]

限定扫描范围至特定检查类别(SE、CF、TS、AR、DP、EN)。

bash "/scripts/dispatcher.sh" --path [directory] --category SE

团队版($39/用户/月 —— 需配备团队版 PIPELINELINT_LICENSE_KEY)

pipelinelint scan --tier team [directory]

全量扫描,覆盖全部 90 个模式,涵盖六大类别,包括部署安全性与环境配置检查。

执行方式:

bash "/scripts/dispatcher.sh" --path [directory] --tier team

功能说明:

  1. 校验团队版及以上许可证有效性
  2. 运行全部 90 个检测模式(覆盖全部 6 个类别)
  3. 包含部署安全性检查(如:无审批门禁、强制推送、破坏性操作等)
  4. 包含环境配置检查(如:硬编码值、无超时设置、明文 HTTP 协议等)
  5. 按类别提供完整结果分解,并附带每文件级详细结果

pipelinelint scan --verbose [directory]

启用详细输出模式,显示每一处匹配的代码行及其对应模式详情。

bash "/scripts/dispatcher.sh" --path [directory] --verbose

pipelinelint status

显示许可证状态与当前配置信息。

bash "/scripts/dispatcher.sh" status

检查类别

PipelineLint 在 6 大类别中共检测 90 种 CI/CD 流水线反模式:

类别 代号 模式数量 说明 严重性范围
密钥与安全(Secrets & Security) SE 15 硬编码密码、YAML 中的 API 密钥、日志中泄露的令牌、curl 命令中嵌入的凭据、内联 SSH 密钥 high – critical
缓存与性能(Caching & Performance) CF 15 npm/pip/maven 未启用缓存、重复安装、缺失依赖缓存、Docker 构建缓慢 low – medium
测试与质量(Testing & Quality) TS 15 跳过测试、禁用代码检查(linting)、未强制要求覆盖率、滥用 --no-verify 标志、滥用 continue-on-error medium – high
制品与依赖(Artifacts & Dependencies) AR 15 Docker Tag 未固定版本、curl-to-shell 调用、未经验证的下载行为、禁用 SSL 校验、GitHub Actions 直接引用分支而非标签 medium – high
部署安全性(Deployment Safety) DP 15 无审批门禁、强制推送、Terraform 自动批准、破坏性 SQL 操作、无回滚策略 high – critical
环境与配置(Environment & Configuration) EN 15 硬编码 localhost、无超时设置、无重试机制、明文 HTTP URL、硬编码数据库连接字符串 low – high

按版本划分的模式访问权限

版本 支持模式数 支持类别
免费版 30 SE、CF
专业版 60 SE、CF、TS、AR
团队版 90 SE、CF、TS、AR、DP、EN
企业版 90 SE、CF、TS、AR、DP、EN + 优先技术支持

评分机制

PipelineLint 采用减分制评分模型,起始分为 100(满分):

严重性等级 每次扣分 说明
Critical -25 分/项 存在安全漏洞或部署安全风险
High -15 分/项 重大流水线问题(如跳过测试、不安全依赖)
Medium -8 分/项 中等风险问题(如缺失缓存、环境配置错误)
Low -3 分/项 信息提示类 / 最佳实践建议

评级标准

评级 分数区间 含义
A 90–100 优秀的流水线配置
B 80–89 配置良好,仅存在少量问题
C 70–79 基本可用,但需改进
D 60–69 流水线质量较差
F 低于 60 存在关键性流水线问题
  • 通过阈值:70 分(即 C 级或以上)
  • 退出码 0 = 通过(得分 ≥ 70)
  • 退出码 1 = 不通过(得分 < 70)

配置方式

用户可在 ~/.openclaw/openclaw.json 中配置 PipelineLint:

{
  "skills": {
    "entries": {
      "pipelinelint": {
        "enabled": true,
        "apiKey": "YOUR_LICENSE_KEY_HERE",
        "config": {
          "severityThreshold": "medium",
          "ignorePatterns": ["**/test/**", "**/fixtures/**", "**/*.test.*"],
          "ignoreChecks": [],
          "reportFormat": "text"
        }
      }
    }
  }
}

重要说明

  • 免费版开箱即用,无需任何配置
  • 所有扫描均在本地完成 —— 不向任何外部服务器上传代码
  • 许可证校验完全离线进行 —— 不发起“回传”(phone-home)或网络请求
  • 仅基于正则表达式匹配 —— 不进行 AST 解析,除 bash 外无其他外部依赖
  • 支持单次扫描多种文件类型
  • Git 钩子依赖 lefthook,需预先安装(参见上方安装说明)
  • 退出码定义:0 = 通过(得分 ≥ 70),1 = 不通过(适用于 CI/CD 集成)
  • 输出格式支持:text(默认)、json、html

错误处理

  • 若未安装 lefthook 且用户尝试启用钩子,提示用户安装
  • 若许可证密钥无效或已过期,显示清晰错误信息并附上链接 https://pipelinelint.pages.dev/renew
  • 若目标文件为二进制文件,自动跳过且不发出警告
  • 若目标路径下未发现任何可扫描文件,返回“扫描干净”提示信息
  • 若使用 --category 参数指定了无效类别,列出所有支持的类别供参考

适用场景

用户可能提出如下请求:

  • “扫描我的 CI/CD 流水线是否存在潜在问题”
  • “检查我的 GitHub Actions 工作流”
  • “在流水线配置中查找硬编码密钥”
  • “检测不安全的部署实践”
  • “是否存在缺失的缓存配置?”
  • “检查 CI 中是否跳过了测试”
  • “审计我的流水线安全性”
  • “在工作流中查找未固定版本的依赖项”
  • “检查部署安全性相关问题”
  • “扫描流水线反模式”
  • “执行一次流水线质量审计”
  • “生成一份流水线质量报告”
  • “检查我的 Jenkinsfile 是否存在安全问题”
  • “在 CI 配置中查找强制推送命令”
  • “检查我的 GitLab CI 是否符合最佳实践”

相关专题

更多
python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

2025.07.23

2487

16

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

2024.12.23

5722

11

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

2024.12.20

4243

6

pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

2023.10.09

1870

5

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习

Python虚拟环境官方教程
Python虚拟环境官方教程

共0课时 | 0人学习

Python venv官方模块文档
Python venv官方模块文档

共0课时 | 0人学习