Warp Vulnerability Triage
warpdotdev/warp
Gathers security findings from Dependabot, GCP container scanning, Docker Scout and Linear security issues, then triages and remediates them across Warp's repos and images.
Add an SLSA Verification (SlsaVerification) step to an existing Harness pipeline to verify SLSA provenance attestations and optionally enforce OPA policy sets on provenance data.
$ npx skills add harness/harness-skills --skill enforce-slsa -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install harness/harness-skills enforce-slsa --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/harness/harness-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/enforce-slsa .claude/skills/enforce-slsa && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "enforce-slsa" agent skill from https://github.com/harness/harness-skills/tree/main/skills/enforce-slsa into .claude/skills/enforce-slsa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "enforce-slsa", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/harness/harness-skills/tree/main/skills/enforce-slsaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add harness/harness-skills --skill enforce-slsa -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install harness/harness-skills enforce-slsa --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/harness/harness-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/enforce-slsa .agents/skills/enforce-slsa && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "enforce-slsa" agent skill from https://github.com/harness/harness-skills/tree/main/skills/enforce-slsa into .agents/skills/enforce-slsa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "enforce-slsa", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add harness/harness-skills --skill enforce-slsa -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install harness/harness-skills enforce-slsa --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/harness/harness-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/enforce-slsa .cursor/skills/enforce-slsa && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "enforce-slsa" agent skill from https://github.com/harness/harness-skills/tree/main/skills/enforce-slsa into .cursor/skills/enforce-slsa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "enforce-slsa", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/harness/harness-skills.git --path skills/enforce-slsa--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add harness/harness-skills --skill enforce-slsa -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install harness/harness-skills enforce-slsa --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/harness/harness-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/enforce-slsa .gemini/skills/enforce-slsa && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "enforce-slsa" agent skill from https://github.com/harness/harness-skills/tree/main/skills/enforce-slsa into .gemini/skills/enforce-slsa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "enforce-slsa", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install harness/harness-skills enforce-slsaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add harness/harness-skills --skill enforce-slsa -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/harness/harness-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/enforce-slsa .github/skills/enforce-slsa && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "enforce-slsa" agent skill from https://github.com/harness/harness-skills/tree/main/skills/enforce-slsa into .github/skills/enforce-slsa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "enforce-slsa", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add harness/harness-skills --skill enforce-slsa -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install harness/harness-skills enforce-slsa --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/harness/harness-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/enforce-slsa .opencode/skills/enforce-slsa && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "enforce-slsa" agent skill from https://github.com/harness/harness-skills/tree/main/skills/enforce-slsa into .opencode/skills/enforce-slsa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "enforce-slsa", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
enforce-slsaAdd an SLSA Verification (SlsaVerification) step to an existing Harness pipeline to verify SLSA provenance attestations and optionally enforce OPA policy sets on provenance data.
Enforce Slsa is an agent skill from harness/harness-skills. Add an SLSA Verification (SlsaVerification) step to an existing Harness pipeline to verify SLSA provenance attestations and optionally enforce OPA policy sets on provenance data. Supports CI and CD (Deployment) including CI-only pipelines — append a Deploy stage via Phase 3b when verifying before deploy. Supports Docker, ECR, GCR, GAR, ACR, HAR, and Local artifacts. Only works with existing pipelines. Use when asked to verify SLSA, enforce SLSA policies, add SLSA verification step, validate SLSA attestation, or…
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/interactive-wizard-flow.md` and `references/slsa-verification-step.md`). Compatibility notes: Requires Harness MCP v2 server (harness-mcp-v2)
It sits in Security, covering Supply chain security. It works with Docker. The repository describes itself as: A collection of structured AI agent skills that enable Claude Code, Cursor, GitHub Copilot, and other AI coding assistants to create, operate, debug, and govern Harness CI/CD… The licence is Apache-2.0.
12 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c25faee. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Harness MCP v2 server (harness-mcp-v2)
From compatibility in the SKILL.md frontmatter.
Enforce Slsa loads about 3.2k tokens when it runs, and up to ~5.8k if it reads all its reference files. Until then it costs about 179 tokens; SKILL.md has 1,085 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from harness/harness-skills at commit c25faee, republished under its Apache-2.0 licence (© harness). 1,085 words, ~3,155 tokens.
.claude/skills/enforce-slsa/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Add an SLSA Verification (SlsaVerification) step to an existing Harness pipeline. The step
verifies SLSA provenance attestations (when enabled) and optionally evaluates OPA policy sets against
provenance data.
This skill only works with existing pipelines — do not create standalone verification-only pipelines.
Prerequisites: SLSA provenance must already exist for the artifact (typically from a provenance
step via /generate-slsa — UI label SLSA Generation). Optional policy sets for provenance
enforcement (/create-policy, harness_list policy_set).
Supported stages: CI, CD (Deployment), and Security. CD requires a containerized step group.
Unlike SBOM enforcement, CI and CD both use SlsaVerification (no separate CD step type).
Guide the user through a step-by-step interactive wizard (same UX as /generate-slsa):
references/interactive-wizard-flow.mdreferences/slsa-verification-step.mdskills/generate-slsa/references/cd-containerized-step-group.mdAskQuestion when available; otherwise numbered options with (Recommended).Pipeline · Placement · Source · Details · Verify · Policy · Submitharness_get before placement/source questions.provenance (SLSA Generation) and connectors.provenance step exists (or identifier: slsageneration), reuse its source (map repo → image_path, lowercase → PascalCase types).harness_update only after user confirms.harness_update, provide a configuration summary and
point the user to /run-pipeline to execute. Do not call harness_execute, poll
executions, or run harness_diagnose in this skill (same pattern as /configure-repo-scan).Full phase prompts: references/interactive-wizard-flow.md.
| Phase | Breadcrumb | Action |
|---|---|---|
| 0 | Pipeline | AskQuestion: pipeline URL ready? |
| 1 | Pipeline | Collect URL → harness_get |
| 2 | Pipeline | Display structure; note missing provenance (SLSA Generation) step |
| 3 | Placement | AskQuestion: after generation, CD before deploy, etc. |
| 3b | Placement (CD) | Service, env, infra, step group if new Deploy stage |
| 4 | Source | Infer from generation or pick registry tile |
| 5 | Source | Registry provider (Third-Party only) |
| 6 | Details | Connector (skip if obvious) |
| 7 | Details | Image / image_path (default from generation) |
| 8 | Verify | AskQuestion: verify attestation method |
| 9 | Policy | AskQuestion: policy set(s) or skip |
| 10 | Submit | AskQuestion: confirm pipeline update |
After Phase 10 confirm → insert step, harness_update, then provide summary (do not run the pipeline).
| Stage type | Step type | Placement notes |
|---|---|---|
CI | SlsaVerification | After provenance / slsageneration in the same stage |
Deployment | SlsaVerification | Containerized step group; before deploy |
Security | SlsaVerification | After generation when artifact is in registry |
If no Deployment stage and user chose CD verify:
No CD Deploy stage yet. We can add a Deployment stage with a containerized step group and place SLSA Verification before deploy.
Run Phase 3b (service, environment, infrastructure, stepGroupInfra) — mirror /generate-slsa Phase 3b.
Use skills/generate-slsa/references/cd-containerized-step-group.md with SlsaVerification.
type: provenance (SLSA Generation) or user confirms provenance exists.harness_list(resource_type="policy_set"). If user wants policy
enforcement and none exist, direct to /create-policy before continuing.From provenance step (if present — also match identifier: slsageneration), copy and transform:
| Generation | Verification |
|---|---|
source.type: docker | source.type: Docker |
source.spec.repo | source.spec.image_path |
source.spec.connector | source.spec.connector |
spec.attestation | matching verify_attestation (private → public key for keybased) |
CI / Security — Docker Registry, keyless verify:
- step:
identifier: slsaverification
name: SLSA Verification
type: SlsaVerification
spec:
source:
type: Docker
spec:
connector: lavakush07
image_path: lavakush07/easy-buggy-app:blog
verify_attestation:
type: keyless
spec:
oidcProvider: harness
timeout: 15mKey-based verify (generation used keybased + private key):
verify_attestation:
type: keybased
spec:
publicKey: account.cosign_public_keyIf API validation rejects flat keyless / keybased, retry with nested cosign wrapper — see
references/slsa-verification-step.md.
Policy enforcement (Advanced tab — step-level enforce):
enforce:
policySets:
- slsa_provenance_rulesNo attestation verify (policy-only): omit verify_attestation.
CD Deploy — same step type inside containerized stepGroup; use <+artifact.image> for
image_path when verifying service artifacts.
Full provider mapping: references/slsa-verification-step.md.
slsageneration when possible.slsaverification (use slsaverification_cd in CD when CI already has one).harness_update
resource_type: pipeline
resource_id: <pipeline_identifier>
org_id: <organization>
project_id: <project>
body: { yamlPipeline: "<updated pipeline YAML>" }On validation errors, check PascalCase source.type, image_path vs repo, and verify_attestation
shape (prefer flat keyless; fallback nested cosign).
Report the results to the user (same pattern as /configure-repo-scan — do not execute the pipeline):
## SLSA Verification Configured
**Pipeline:** <pipeline_name>
**Step:** SLSA Verification (SlsaVerification)
**Location:** Stage "<stage_name>", <position>
**Source:** Docker — <connector> — <image_path>
**Verify attestation:** Keyless (Harness OIDC) — or as configured
**Policy sets:** <list or none>
**Pipeline URL:** https://app.harness.io/ng/account/<account_id>/module/ci/orgs/<org_id>/projects/<project_id>/pipelines/<pipeline_id>/pipeline-studio/
**Note:** Review the SLSA Verification step in Pipeline Studio to adjust Advanced settings.
### Next Steps
1. Run the pipeline via `/run-pipeline` to verify SLSA verification executes successfully
2. If the run fails, diagnose with `/debug-pipeline`
3. View verification outcome on the execution **Supply Chain** tab
4. If **Failed** due to policy deny, tune policies via `/create-policy`
5. Add generation with `/generate-slsa` if provenance was missing
6. Automate with `/create-trigger`CD pipelines: note in the summary if runtime inputs (service artifact, environment, infrastructure)
will be required at run time — the user provides those via /run-pipeline or Harness UI Run.
/enforce-slsa
Add SLSA verification after slsa-generation — keyless verify, policy set slsa_prod_rules/enforce-slsa
Verify SLSA in deploy stage before K8s rolling deploy for easy-buggy-app:blog/enforce-slsa
Verify SLSA with public key account.cosign_public_key — same image as generation steptype: provenance or identifier: slsageneration; map repo → image_path, lowercase → PascalCase types.source.type is PascalCase (Docker) — generation uses lowercase (docker).verify_attestation is snake_case (not verifyAttestation). Prefer flat type: keyless + oidcProvider (same shape as generation attestation).enforce.policySets — not spec.policy like SBOM enforcement.policy_set via MCP — do not invent identifiers.skills/generate-slsa/references/cd-containerized-step-group.md./run-pipeline after configuration (same as /configure-repo-scan)./generate-slsa (generate) and /create-policy (OPA rules)./generate-slsa first with attestation enabled (type: provenance in YAML)..att in registry or provenance in SCS Artifacts.provenance steps — not SlsaGeneration (API uses provenance).keyless vs keybased).image_path as generation repo field.enforce.policySets.source.type must be PascalCase for verification (Docker, not docker).image_path, not repo.verify_attestation: use flat type: keyless + spec.oidcProvider: harness — not nested cosign unless API rejects flat shape.DUPLICATE_IDENTIFIER — rename slsaverification.stepGroup with stepGroupInfra — not top-level execution.steps.skills/generate-slsa/references/cd-containerized-step-group.md./run-pipeline to execute and /debug-pipeline to diagnose failures/run-pipeline or Harness UI RunCONNECTOR_NOT_FOUND — verify connector in Project Settings.ACCESS_DENIED — PAT needs pipeline edit and policy read permissions.© harness, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in skills/enforce-slsa of harness/harness-skills.
Open the folder on GitHubat commit c25faee
Enforce Slsa next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Enforce Slsa this skillharness/harness-skills | 115 | — | ~3.2k | Automated safety check: Pass | Apache-2.0 | |
| Warp Vulnerability Triagewarpdotdev/warp | 65k | 1 repos | ~2.1k | Automated safety check: Pass | AGPL-3.0 | |
| Container Scanning with GrypeAgentSecOps/SecOpsAgentKit | 220 | 1 repos | ~2.5k | Automated safety check: Pass | Custom licence | |
| Container Securityhardw00t/ai-security-arsenal | 104 | — | ~2.8k | Automated safety check: Pass | None | |
| Sca TrivyAgentSecOps/SecOpsAgentKit | 220 | 2 repos | ~3.7k | Automated safety check: Pass | Custom licence | |
| Container Security Hardeningsickn33/agentic-awesome-skills | 47k | 1 repos | ~1k | Automated safety check: Notes | MIT |
warpdotdev/warp
Gathers security findings from Dependabot, GCP container scanning, Docker Scout and Linear security issues, then triages and remediates them across Warp's repos and images.
AgentSecOps/SecOpsAgentKit
Scans container images, filesystems and SBOMs with Grype for known vulnerabilities, ranks them by CVSS, EPSS and CISA KEV, and wires scans into CI/CD thresholds.
hardw00t/ai-security-arsenal
Container and Kubernetes security assessment — image vulnerability scanning, SBOM diff analysis, K8s cluster auditing, RBAC privilege mapping, NetworkPolicy review, container escape testing, and…
AgentSecOps/SecOpsAgentKit
Software Composition Analysis (SCA) and container vulnerability scanning using Aqua Trivy for identifying CVE vulnerabilities in dependencies, container images, IaC misconfigurations, and license…
sickn33/agentic-awesome-skills
Harden Docker/container images and runtime deployments with secure base images, non-root users, CVE scanning, SBOM/signing, seccomp/AppArmor, and Kubernetes pod security controls.
cdxgen/cdxgen
Generates CycloneDX BOMs for container images, OCI archives, mounted root filesystems, Electron ASAR archives, caxa executables, binaries, and Kubernetes or Dockerfile manifests using OWASP cdxgen…
harness/harness-skills
Generate audit reports and compliance trails using Harness audit trail data via MCP v2 tools.
harness/harness-skills
A skill your agent uses when working with Chaos Engineering steps inside a Harness pipeline.
harness/harness-skills
A skill your agent uses when the user asks to create, edit, update, design, or configure a Harness Chaos Experiment — including faults, probes, actions, experiment YAML, fault injection, pod-delete…
harness/harness-skills
Remove a launched Harness FME feature flag from application code, keeping the treatment FME serves today, and open a pull request.
harness/harness-skills
Configure code scanning in Harness pipelines using STO security scanners.
harness/harness-skills
Generate Harness Agent Template files for AI-powered automation agents.
Works with
Categories
Add an SLSA Verification (SlsaVerification) step to an existing Harness pipeline to verify SLSA provenance attestations and optionally enforce OPA policy sets on provenance data. Enforce Slsa is an agent skill from harness/harness-skills. Add an SLSA Verification (SlsaVerification) step to an existing Harness pipeline to verify SLSA provenance attestations and optionally enforce OPA policy sets on provenance data.
Enforce Slsa fits situations like: asked to verify SLSA; enforce SLSA policies; add SLSA verification step; validate SLSA attestation.
Run `npx skills add harness/harness-skills --skill enforce-slsa -a claude-code`. Or copy the skill folder (skills/enforce-slsa in harness/harness-skills) into .claude/skills/enforce-slsa in your project. Claude Code loads it when a task matches its description.
Run `npx skills add harness/harness-skills --skill enforce-slsa -a codex`. Or copy the skill folder (skills/enforce-slsa in harness/harness-skills) into .agents/skills/enforce-slsa in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add harness/harness-skills --skill enforce-slsa -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/enforce-slsa, .gemini/skills/enforce-slsa, .github/skills/enforce-slsa and .opencode/skills/enforce-slsa in your project.
SKILL.md names no scripts, command-line tools or credentials: Enforce Slsa is instructions for the agent only. Our summary lists: Docker. Compatibility (from SKILL.md): Requires Harness MCP v2 server (harness-mcp-v2).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Enforce Slsa is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Enforce Slsa: Warp Vulnerability Triage (warpdotdev/warp, 65k stars), Container Scanning with Grype (AgentSecOps/SecOpsAgentKit, 220 stars), Container Security (hardw00t/ai-security-arsenal, 104 stars) and Sca Trivy (AgentSecOps/SecOpsAgentKit, 220 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
harness (a GitHub organization) maintains it in harness/harness-skills, which has 115 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 6, 2026.
Source: harness/harness-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.