Token导航 LogoToken导航TokenDH.com
开发只读clawhub未标认证来源可访问clear审计通过

gitlab-ci-linterGitLab CI linter 安全

Agent Skill

用于围绕 GitLab 项目、Merge Request、Issue、分支、流水线和代码审查流程提供辅助能力。它适合让 Agent 查询项目状态、整理提交差异、辅助检查合并请求或汇总 CI 结果。使用时需要确认项目权限、访问 token 和目标分支范围;涉及合并、推送、改工单或触发流水线时,应先预览影响并核对团队流程。

总安装

2,620

周安装

106

GitHub Stars

公开资料未说明

下载量

823
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:gitlab-ci-linter(GitLab CI linter 安全)
来源仓库:https://github.com/charlie-morrison/gitlab-ci-linter
安装命令:
openclaw skills install gitlab-ci-linter
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install gitlab-ci-linter

简介

检查 GitLab CI/CD 管道 YAML 文件的语法、安全与规范问题。

  • 识别已弃用模式和违反最佳实践的配置项。
  • 提供详细的错误报告和改进建议,提升流水线可靠性。
  • 使用时需确保 .gitlab-ci.yml 文件路径正确且可读。
  • gitlab-ci-linter 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
gitlab-ci-linter
description
Lint and validate GitLab CI/CD pipeline YAML files (.gitlab-ci.yml) for syntax errors, security issues, deprecated patterns, and best practices. Use when asked to lint, validate, audit, or check GitLab CI pipelines, .gitlab-ci.yml files, or CI/CD configurations for GitLab. Triggers on "lint gitlab", "check pipeline", "validate CI", "audit gitlab-ci", "pipeline issues", "gitlab security".

GitLab CI Linter

Lint GitLab CI/CD pipeline files for syntax errors, security issues, deprecated patterns, and best practices violations.

Commands

All commands use the bundled Python script at scripts/gitlab_ci_linter.py.

1. Lint a pipeline file

python3 scripts/gitlab_ci_linter.py lint <file-or-directory> [--strict] [--format text|json|markdown]

Runs all lint rules against one or more .gitlab-ci.yml files. If given a directory, scans for *.yml and *.yaml files recursively.

Flags:

  • --strict -- exit code 1 on any warning (not just errors)
  • --format -- output format: text (default), json, markdown

2. Audit for security issues

python3 scripts/gitlab_ci_linter.py security <file> [--format text|json|markdown]

Focused security audit: hardcoded secrets, unprotected variables, privileged runners, insecure Docker image tags, security jobs with allow_failure.

3. Inspect stages

python3 scripts/gitlab_ci_linter.py stages <file> [--format text|json|markdown]

Show defined stages and which jobs map to each stage. Flags undefined or unused stages.

4. Validate pipeline structure

python3 scripts/gitlab_ci_linter.py validate <file> [--format text|json|markdown]

Structural validation only: required keys, stage definitions, job keywords, dependency graph (circular needs:, missing refs).

Lint Rules (24 total)

Syntax & Structure (8 rules)

  1. missing-stages -- No stages: definition
  2. undefined-stage -- Job uses stage not in stages: list
  3. empty-job -- Job has no script: section
  4. invalid-job-name -- Job name starts with . but is not used as a template
  5. missing-script -- Job without script:, before_script:, or trigger:
  6. circular-needs -- Circular dependency in needs: graph
  7. duplicate-job -- Duplicate job names (YAML parser collapses them)
  8. invalid-keyword -- Unknown top-level or job-level keyword

Security (6 rules)

  1. hardcoded-secret -- Passwords, tokens, keys in plain text
  2. unprotected-variable -- Sensitive-looking variable not using $CI_* references
  3. allow-failure-security -- Security-related job with allow_failure: true
  4. privileged-runner -- tags: requesting privileged runners
  5. unmasked-variable -- Variable looks sensitive but not described as masked
  6. insecure-image -- Using :latest tag for Docker images

Best Practices (10 rules)

  1. missing-retry -- No retry: on deploy/test jobs
  2. missing-timeout -- No timeout: specified
  3. no-cache-key -- cache: without explicit key:
  4. broad-artifacts -- Overly broad artifacts: paths: patterns
  5. missing-rules -- Job without rules: or only:/except:
  6. deprecated-only-except -- Using only:/except: instead of rules:
  7. long-script -- script: block exceeds 30 lines
  8. missing-interruptible -- Long-running job without interruptible:
  9. no-coverage-regex -- Test job without coverage: regex
  10. missing-when -- No when: in rules: entries

Output Formats

Text (default)

.gitlab-ci.yml:12 error [missing-script] Job 'deploy' has no script:, before_script:, or trigger:
.gitlab-ci.yml:25 warning [missing-timeout] Job 'test' has no timeout: specified
.gitlab-ci.yml:31 info [deprecated-only-except] Job 'build' uses only:/except: instead of rules:

3 issues (1 error, 2 warnings)

JSON

{
  "file": ".gitlab-ci.yml",
  "issues": [...],
  "summary": {"errors": 1, "warnings": 2, "info": 0}
}

Markdown

Summary table with severity, rule, location, and message.

CI Integration

# .gitlab-ci.yml
lint-pipeline:
  stage: test
  script:
    - python3 scripts/gitlab_ci_linter.py lint .gitlab-ci.yml --strict

Exit codes: 0 = clean, 1 = errors found (or warnings in --strict mode).

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

70.52%
按下载量换算580

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills