Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/shieldnet-360/secure-vibe/cicd-securitynpx skills add ShieldNet-360/secure-vibe --skill cicd-securitygit clone --depth 1 https://github.com/ShieldNet-360/secure-vibeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/shieldnet-360/secure-vibe/cicd-security)<a href="https://agentmods.dev/skills/shieldnet-360/secure-vibe/cicd-security"><img src="https://agentmods.dev/badge/skills/shieldnet-360/secure-vibe/cicd-security.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00065 | $0.02126 |
| Opus 5 | $0.00032 | $0.01063 |
| Sonnet 5 | $0.00013 | $0.00425 |
| Haiku 4.5 | $0.00006 | $0.00213 |
Grade B, and why
cicd-security scanned grade B with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Downloads and executes remote codemediumSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
- `curl | bash` (or `wget -O- | sh`) any installer script in CI. Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- `curl | bash` (or `wget -O- | sh`) any installer script in CI. How it starts
The opening of the file, as written. The whole thing — 152 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CI/CD Pipeline Security
Rules (for AI agents)
ALWAYS
- Pin every third-party GitHub Action by commit SHA (full 40-char), never by
a floating tag (
@v1,@main,@latest) — tags can be re-pushed. The tj-actions/changed-files March 2025 incident exfiltrated secrets from 23,000+ repositories specifically because consumers used floating tags. Same applies to GitLab CIinclude:references and reusable workflows. Renovate / Dependabot can keep the SHA pins fresh. - Declare
permissions:at the workflow or job level and default tocontents: readonly. Grant additional scopes (id-token: write,packages: write, etc.) job-by-job, never workflow-wide. - Use OIDC (
id-token: write+ cloud provider trust policy) for short-lived cloud credentials. Never store long-lived AWS / GCP / Azure keys as GitHub Secrets. - Treat
pull_request_target,workflow_run, and anypull_requestjob that usesactions/checkoutwithref: ${{ github.event.pull_request.head.ref }}as trusted-context-on-untrusted-code — the "pwn request" pattern documented by GitHub Security Lab. Either don't run them, or run with no secrets and no write tokens. A fork's GitLab merge-request pipeline is the same shape — it runs the fork's own.gitlab-ci.ymlon your runners: isolate them, expose no protected variables. - Echo every untrusted expression (
${{ github.event.* }}) through an environment variable first; never interpolate it directly intorun:body — that's the canonical GitHub Actions script-injection sink. The GitLab sink has the same shape:$CI_*/$TRIGGER_*interpolated intobash -coreval, where merge-request metadata carries the shell metacharacters. - Sign release artifacts (Sigstore / cosign) and publish SLSA provenance attestations. Verify provenance in any consumer pipeline that pulls the artifact.
- Pin
runs-onto a dated runner image (ubuntu-24.04), not a floating label (ubuntu-latest) — the label moves underneath you. On GitLab, use ephemeral Docker-executor runners withprivileged: false; a shared shell runner withprivileged: truegives a compromised job root on the host. An egress firewall on runners handling secrets (StepSecurity Harden-Runner or equivalent) is defense-in-depth on top of that, not a substitute. - Require a human reviewer on a dependency-bump PR when
supply-chain-securityraises a trust-boundary change — a maintainer or ownership change, a new or changed install hook, a registry or source transition, a provenance regression. Gate on that signal, not on the version number: a patch release that changes maintainer warrants more review than a major bump that does not. - Consult
supply-chain-securitybefore any dependency install step (npm install,pip install,docker pull) — in CI it is untrusted code execution on a runner holding your credentials. It owns install-script risk (postinstall,setup.py,build.rs) and registry pinning;container-securitynames the command that fixes the lockfile half (npm ci,--frozen-lockfile) rather than adding flags tonpm install.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 152 lines · 65 tokens per session scan B 7aacf0e3403d
cicd-security is a skill published in the GitHub repository ShieldNet-360/secure-vibe (22 stars, last pushed 22d ago), licensed MIT. It adds 65 tokens to every session and 2,126 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it B with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
review-tooling
Detect what dev tooling infrastructure a project has and flag gaps across linters, formatters, pre-commit hooks, test runners, and CI/CD pipelines. Returns structured findings without applying changes. Use when the user asks to "review tooling", "check project tooling", "what tooling is missing", "review dev…
zb-release-pipeline
Generate a GitHub Actions pipeline that builds a zb (Zero Dependencies Builder) project and publishes a GitHub Release with the produced JAR. Use whenever the user wants CI/CD, a build pipeline, a release workflow, or GitHub Actions for a zb-based Java project — phrases like "set up GitHub Actions for this zb…
ci-cd
Use when building or fixing a delivery pipeline. Covers pipeline structure, caching, test parallelization, deployment strategies, secrets, and making the pipeline fast enough that people do not route around it.
mobile-release
Use when preparing a mobile app for release. Covers versioning, signing, staged rollout, crash monitoring, store review requirements, and rollback when an update goes wrong.
neo-azure-pipelines
Use this skill when the user asks to create, review, debug, or modernize Azure Pipelines YAML for CI/CD, especially .NET builds, Azure App Service deploys, or IIS/on-premises deploys. Prefer bundled templates and verify task syntax against Microsoft docs when version-specific accuracy matters.
offensive-cicd-pipeline
Comprehensive CI/CD pipeline exploitation methodology covering GitHub Actions injection vectors (expression injection via PR titles and issue bodies, workflowrun event abuse, GITHUBTOKEN over-scoping, composite action supply chain compromise), Jenkins attack paths (Groovy sandbox escapes, script console remote code…