Agent skill

Triage Fixed Cves

by openshift-eng in openshift-eng/ai-helpers

Triage Go stdlib CVEs against an OpenShift release image to determine which CVEs are fixed by the Go version each component was built with.

Apache-2.0Auto-check passedSecurity

Install Triage Fixed Cves

skills CLI
$ npx skills add openshift-eng/ai-helpers --skill triage-fixed-cves -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install openshift-eng/ai-helpers triage-fixed-cves --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/golang/skills/triage-fixed-cves .claude/skills/triage-fixed-cves && rm -rf skills-src

Use ~/.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/

Facts

Skill name
triage-fixed-cves
GitHub stars
120
Token cost
~3.5k tokens
SKILL.md length
1,773 words
Files
1
Skills in repo
118
Repo updated
First seen
Licence
Apache-2.0

At a glance

Triage Go stdlib CVEs against an OpenShift release image to determine which CVEs are fixed by the Go version each component was built with.

  • Works in 7 steps: Extract component images from the release → Identify the built binary per component… → Detect Go version per component → …
  • The user asks to triage Go stdlib CVEs against an OpenShift release image
  • SKILL.md covers Step 1 — Extract component…, Step 2 — Identify the built…, Step 3 — Detect Go version per… and Step 4 — Query Jira for open…, plus 3 more sections
  • Calls podman, go and curl; reaches pkg.go.dev and github.com

What it does

Triage Fixed Cves is an agent skill from openshift-eng/ai-helpers. Triage Go stdlib CVEs against an OpenShift release image to determine which CVEs are fixed by the Go version each component was built with. Use when the user asks to triage Go stdlib CVEs against an OpenShift release image, check which Go CVEs are fixed in a release, or cross-reference Go vulnerability fixes across OCP components. Triggers on: 'triage Go CVEs', 'Go stdlib CVE triage', 'which Go CVEs are fixed', 'Go vulnerability report for release', or any mention of Go stdlib CVE + OpenShift release image.

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Security, covering Vulnerability scanning. It works with Docker and Jira. The repository describes itself as: Developer productivity tools for Claude Code & other AI assistants. The licence is Apache-2.0.

When your agent uses it

  • The user asks to triage Go stdlib CVEs against an OpenShift release image
  • Check which Go CVEs are fixed in a release
  • Cross-reference Go vulnerability fixes across OCP components
  • : triage Go CVEs

Example prompts

  • “triage Go CVEs”
  • “Go stdlib CVE triage”
  • “which Go CVEs are fixed”
  • “/triage-fixed-cves”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Extract component images from the release
  2. Identify the built binary per component via Dockerfile
  3. Detect Go version per component
  4. Query Jira for open Go stdlib CVE trackers
  5. Exclude vendored dependency CVEs
  6. Map CVEs to Go vulnerability DB and cross-reference
  7. Generate the report

What it can do on your machine

Read from SKILL.md and the folder at commit a627176. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • podman
    • go
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • pkg.go.dev
    • github.com
    • vuln.go.dev

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Triage Fixed Cves loads about 3.5k tokens when it runs. Until then it costs about 133 tokens; SKILL.md has 1,773 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~133
When it runs · the whole SKILL.md, loaded when a task matches
~3.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from openshift-eng/ai-helpers at commit a627176, republished under its Apache-2.0 licence (© openshift-eng). 1,773 words, ~3,524 tokens.

Download SKILL.mdSave it as .claude/skills/triage-fixed-cves/SKILL.md (or your agent's skills folder).
name
triage-fixed-cves
description
Triage Go stdlib CVEs against an OpenShift release image to determine which CVEs are fixed by the Go version each component was built with. Use when the user asks to triage Go stdlib CVEs against an OpenShift release image, check which Go CVEs are fixed in a release, or cross-reference Go vulnerability fixes across OCP components. Triggers on: 'triage Go CVEs', 'Go stdlib CVE triage', 'which Go CVEs are fixed', 'Go vulnerability report for release', or any mention of Go stdlib CVE + OpenShift release image.

triage-fixed-cves

Analyze an OpenShift release image to determine which Go standard library CVE Jira tickets have been addressed by the Go version used to build each component. Produces a per-CVE, per-component cross-reference report.

The user provides a release image pullspec (e.g. quay.io/openshift-release-dev/ocp-release:4.17.0-x86_64).

Execute every step below in order. Do not skip steps.


Step 1 — Extract component images from the release

bash
oc adm release info <RELEASE_IMAGE> --output=json

Parse the JSON output to get the list of component image references. Each entry in .references.spec.tags[] provides a name (component name) and .from.name (image pullspec).

Each tag also carries .annotations metadata. Extract the io.openshift.build.source-location annotation — this is the canonical source GitHub repository URL for that component (e.g. https://github.com/openshift/cluster-version-operator). Also extract io.openshift.build.commit.id which gives the exact source commit SHA the image was built from. Record both for every component — they are used in Steps 2 and 4.

Auth failure: If oc adm release info fails due to an authentication error, STOP immediately. Report the auth failure to the user and do not proceed. Do not attempt to locate pull secrets, probe environment variables, or try alternative credential paths — the RWS pod's registry proxy handles authentication transparently, so an auth failure means the proxy does not have credentials for this registry and manual intervention is required.

Collect the full list of (component_name, image_pullspec, source_repo, source_commit) tuples before proceeding.


Step 2 — Identify the built binary per component via Dockerfile

For each component, identify exactly which binary is built and where it lands in the final image by looking up the component's Dockerfile. Do NOT scan the entire image for all ELF binaries.

CI images (most components)

Look up the ci-operator config at github.com/openshift/release/ci-operator/config/openshift/<repo>/. Match the correct config file for the release branch and build variant (e.g. openshift-cluster-version-operator-release-4.17.yaml). The config's images.items[] specifies the dockerfile_path for each image. Fetch that Dockerfile from the component's own repository at the exact source commit recorded in io.openshift.build.commit.id from Step 1 — do not use tree/main or the branch tip, as the release image may have been built from an older revision.

Builder substitutions: ci-operator configs may declare builder image overrides via images.items[].inputs.as — these replace FROM targets in the Dockerfile at build time, which can change the Go toolchain version used. Note any such substitutions when recording the component's build context.

Release / nightly images

Check the ocp-build-data config on the matching branch (e.g. github.com/openshift-eng/ocp-build-data/tree/openshift-4.17/images/<component>.yml). The from: and dockerfile: fields point to the Dockerfile.

OKD builds: The ocp-build-data image config may contain an okd_alignment section that specifies a different Dockerfile for OKD builds. These are typically named Dockerfile.scos or Dockerfile.okd. When this section is present, use the OKD-specific Dockerfile instead of the default one for OKD images. As with CI images, fetch the OKD Dockerfile at the exact source commit from io.openshift.build.commit.id (Step 1), not from the branch tip.

Parse the Dockerfile

Look for:

  • go build -o <binary> or go install commands — these tell you the output binary name.
  • COPY --from=builder <src> <dest> in multi-stage builds — this tells you where the binary is placed in the final image.

Example: a Dockerfile with go build -o /go/bin/cvo ./cmd/cvo and COPY --from=builder /go/bin/cvo /usr/bin/cluster-version-operator means the target binary is /usr/bin/cluster-version-operator.


Step 3 — Detect Go version per component

For each component, extract the Go version from the specific binary identified in Step 2.

bash
podman pull <IMAGE>
podman create --name tmp-extract <IMAGE>
podman cp tmp-extract:<binary_path> /tmp/target-binary
podman rm -f tmp-extract   # always remove so the name is freed for the next component
go version /tmp/target-binary

Cleanup: Always run podman rm -f tmp-extract unconditionally after extraction (even on failure) so the container name is available for the next component. Wrap the extract-copy-remove sequence in a function or loop body to ensure cleanup is never skipped.

Parse the output. The format is:

text
/tmp/target-binary: go1.22.5

Extract the semver-style version (e.g. 1.22.5).

Important caveats
  • Do NOT assume a single Go version across the release. Different components may use different Go toolchain versions. ci-operator builder image substitutions (images.items[].inputs.as) mean components can lag behind or jump ahead of the "default" Go version for a release.
  • Inspect ONLY the specific binary identified from the Dockerfile. Do not scan the entire image filesystem for ELF binaries — that is slow, wasteful, and may pick up unrelated binaries from base images.
  • If a component's Dockerfile cannot be found, or the component is not built from Go (e.g. a pure shell image or non-Go component), record it as N/A — no Go binary found and skip it in later steps.
  • If the Dockerfile builds multiple Go binaries, checking any one of them is sufficient — all binaries in the same image share the same builder image and therefore the same Go toolchain version.
  • Process components in batches to avoid excessive pull traffic. 10–20 at a time is reasonable.

Step 4 — Query Jira for open Go stdlib CVE trackers

Search for open Jira vulnerability issues that track Go standard library CVEs affecting the components in this release.

4a — Map release components to Jira components

Using the io.openshift.build.source-location source repo URLs extracted in Step 1, map each repo to its corresponding OCPBUGS Jira component name (e.g. openshift/cluster-version-operator → cluster-version-operator).

4b — Query for open stdlib CVE trackers

Using the discovered component list, query Jira with the coordinator's query_jira tool:

jql
project = OCPBUGS
  AND type = Vulnerability
  AND labels in ("arc:stdlib")
  AND status not in (Closed, "Release Pending", Verified)
  AND component in (<discovered components>)
  AND summary ~ "openshift-<version>"
  ORDER BY component ASC

Replace <discovered components> with the comma-separated list of Jira component names from step 4a, and <version> with the target OCP version (e.g. 4.17).

For each returned issue, record:

  • Jira issue key (e.g. OCPBUGS-12345)
  • CVE ID (e.g. CVE-2024-24790) — extract the CVE-YYYY-NNNNN pattern from the issue summary
  • Summary text
  • Affected component(s) listed in Jira
  • Fix version if mentioned in the issue

Step 5 — Exclude vendored dependency CVEs

Filter out CVEs that affect vendored Go dependencies rather than the Go standard library itself. The goal is to keep only CVEs that are fixed by upgrading the Go toolchain version.

Exclusion rules
  1. golang.org/x/* packages: CVEs affecting golang.org/x/net, golang.org/x/crypto, golang.org/x/text, golang.org/x/image, etc. are vendored dependencies, not stdlib. Exclude them.

  2. Hybrid CVEs: Some CVEs affect both stdlib packages AND vendored modules (e.g. a CVE that affects net/http in stdlib but also golang.org/x/net/http2). Classify these into a separate "Hybrid" category — do not list them as both included and excluded:

    • The stdlib portion IS fixed by a Go version upgrade — include this in the per-CVE cross-reference (Steps 6–7).
    • The vendored portion requires a separate dependency bump — note this in the hybrid section of the report.
  3. Detection method: Read the Jira issue description and any linked advisories. Look for:

    • Package paths starting with golang.org/x/ — vendored
    • Package paths like net/http, crypto/tls, os, runtime — stdlib
    • References to the Go vulnerability database entry

Produce three lists from this step:

  • Stdlib-only CVEs → proceed to Steps 6–7 cross-reference
  • Hybrid CVEs → proceed to Steps 6–7 cross-reference (stdlib portion) AND note in the dedicated hybrid section of the report (Step 7.4)
  • Vendored-only CVEs → excluded; listed in the report (Step 7.5)

Show full SKILL.md (682 more words)Show less

Step 6 — Map CVEs to Go vulnerability DB and cross-reference

For each remaining stdlib CVE, determine which Go versions contain the fix, then check each component against those fix versions.

ProdSec and ARC typically attach a pkg.go.dev/vuln/GO-* URL to Go CVE tracker tickets as a web link (remote link). The coordinator's get_jira_issue tool returns remote links in its output.

For each CVE's Jira issue:

  • Call get_jira_issue(issue_key) (you already have the issue key from Step 4).
  • Look through the remote links / web links section of the response for a URL matching pkg.go.dev/vuln/GO-* (e.g. https://pkg.go.dev/vuln/GO-2024-2887).
  • Extract the GO-YYYY-NNNN ID from that URL.

This is more reliable than searching the vuln database by CVE text, because the Go vulnerability database uses GO-* format IDs (not CVE IDs directly) and text search can miss or return ambiguous results.

6b — Fetch fixed versions

Using the GO-* ID, fetch the vulnerability entry:

text
https://pkg.go.dev/vuln/<GO_ID>

Use web_fetch to retrieve the page content, or fetch the JSON:

bash
curl -s "https://vuln.go.dev/ID/<GO_ID>.json"

The vulnerability entry contains fixed version fields under each affected module/package. For stdlib entries the module is stdlib (or std). The fixed field tells you the first Go version where the vulnerability is patched (e.g. 1.22.5).

Note: there may be multiple fix versions for different Go release branches (e.g. fixed in 1.21.12 and 1.22.5). Record all of them.

Fallback if no remote link is present: If a Jira ticket does not have a pkg.go.dev/vuln remote link, try searching the Go vulnerability database web interface via web_fetch:

text
https://pkg.go.dev/vuln/list?q=<CVE_ID>

If no Go vulnerability database entry exists for a CVE, note it as "not in Go vuln DB."

6c — Cross-reference: which components are fixed?

For each CVE, compare the fixed Go version(s) against each component's detected Go version from Step 3.

For a given CVE with fixed versions [1.21.12, 1.22.5]:

  • A component built with Go 1.22.5 or later on the 1.22 branch → FIXED
  • A component built with Go 1.22.4 on the 1.22 branch → AFFECTED
  • A component built with Go 1.21.12 or later on the 1.21 branch → FIXED
  • A component built with Go 1.23.0 (a newer minor branch) → FIXED (Go includes all prior fixes in new minor releases)

Version comparison rules:

  • Compare within the same minor release branch first (1.22.x vs 1.22.y).
  • A component on a newer minor branch (e.g. 1.23.x) than any listed fix version is considered fixed.
  • A component on an older minor branch that has no fix listed for that branch is AFFECTED unless explicitly listed as unaffected in the vuln DB entry.

Build a matrix: CVE × Component → FIXED | AFFECTED | N/A.


Step 7 — Generate the report

Produce a structured Markdown report with the following sections:

7.1 — Summary of Go versions across the release
  • Table of all unique Go versions found, with a count of components using each.
  • Flag any outlier versions (components using a significantly older Go version than the majority).
7.2 — Per-CVE breakdown

For each CVE (sorted by CVE ID):

  • CVE ID and Jira issue key (linked)
  • Summary (one-line description)
  • Fixed in Go versions: list all fix versions from the vuln DB
  • Affected components: list components whose Go version is older than the fix
  • Fixed components: count of components already on a fixed Go version
  • Status: ALL FIXED | PARTIALLY FIXED (N of M) | ALL AFFECTED
7.3 — Outlier components

List components whose Go version is notably older than the release majority. These are the highest-risk components for stdlib CVEs and likely need builder image updates.

7.4 — Hybrid CVEs

List CVEs classified as hybrid in Step 5. For each, show:

  • The stdlib packages affected (fixed by the Go version upgrade) and their cross-reference status from section 7.2.
  • The vendored packages affected (require a separate dependency bump) and which components still carry the vulnerable vendored version.

This section prevents hybrid CVEs from being ambiguously double-listed as both "included" and "excluded."

7.5 — Excluded CVEs

List CVEs excluded in Step 5 as vendored-only, with the reason for exclusion (e.g. golang.org/x/net — vendored dependency, not stdlib).

Store the report

Write the report to a file and store it via store_text with a descriptive label (e.g. golang-cve-triage-4.17.0) so the coordinator can share it with the user.

python
store_text(
    local_path="/workspace/golang-cve-report.md",
    label="golang-cve-triage-<version>",
    description="Go stdlib CVE triage report for OCP <version>"
)

© openshift-eng, 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

Files

Just SKILL.md in plugins/golang/skills/triage-fixed-cves of openshift-eng/ai-helpers.

Open the folder on GitHubat commit a627176

Compare with similar skills

Triage Fixed Cves 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.

Triage Fixed Cves compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Triage Fixed Cves this skillopenshift-eng/ai-helpers120—~3.5kAutomated safety check: PassApache-2.0
Building Vulnerability Dashboard With Defectdojomukul975/Anthropic-Cybersecurity-Skills34k—~2kAutomated safety check: PassApache-2.0
Cyberowlaikarimhabush/cyberowl263—~2.5kAutomated safety check: PassMIT
DefectDojo Vulnerability ManagementAgentSecOps/SecOpsAgentKit220—~2.3kAutomated safety check: PassCustom licence
Warp Vulnerability Triagewarpdotdev/warp65k1 repos~2.1kAutomated safety check: PassAGPL-3.0
Container Scanning with GrypeAgentSecOps/SecOpsAgentKit2201 repos~2.5kAutomated safety check: PassCustom licence

Similar skills

  • Building Vulnerability Dashboard With Defectdojo

    mukul975/Anthropic-Cybersecurity-Skills

    Deploy DefectDojo as a centralized vulnerability management dashboard that ingests findings from 200+ security scanners, deduplicates results, tracks remediation metrics, and integrates with CI/CD…

    34k GitHub stars~2k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed
  • Cyberowlai

    karimhabush/cyberowl

    Check if recent cybersecurity alerts from 10 international CERTs affect your current project.

    263 GitHub stars~2.5k tokensUpdated yesterday
    SecurityAuto-check passed
  • DefectDojo Vulnerability Management

    AgentSecOps/SecOpsAgentKit

    Aggregates scanner results into DefectDojo, deduplicates findings, tracks remediation SLAs and prepares compliance reports across products and pipelines.

    220 GitHub stars~2.3k tokensUpdated 5 mo ago
    SecurityAuto-check passed
  • 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.

    65k GitHub starsUsed in 1 repo~2.1k tokens
    SecurityAuto-check passed
  • Container Scanning with Grype

    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.

    220 GitHub starsUsed in 1 repo~2.5k tokens
    SecurityAuto-check passed
  • Building Devsecops Pipeline With GitLab CI

    mukul975/Anthropic-Cybersecurity-Skills

    Configure a GitLab CI/CD pipeline that embeds SAST (Semgrep, SpotBugs, Gosec, Bandit, NodeJsScan), DAST, container scanning, dependency scanning, and secret detection via GitLab's managed security…

    34k GitHub stars~2.2k tokensUpdated 1 mo ago
    SecurityAuto-check passed

More from openshift-eng/ai-helpers

All 118 skills in this repo
  • Investigate CI Reliability

    openshift-eng/ai-helpers

    Find and independently validate actionable reliability defects across OpenShift release jobs and presubmits, then export portable issue handoffs.

    120 GitHub stars~1.9k tokensUpdated 3 days ago
    Auto-check passed
  • Address Review PR

    openshift-eng/ai-helpers

    Fetch and address all PR review comments — categorize by priority, make code changes, post replies, and push.

    120 GitHub stars~2.9k tokensUpdated 3 days ago
    Auto-check passed
  • Categorize Activity Types

    openshift-eng/ai-helpers

    Categorize Jira issues into Red Hat Sankey Activity Type categories using MCP Jira tools.

    120 GitHub stars~2.4k tokensUpdated 3 days ago
    Auto-check passed
  • Has Review Work

    openshift-eng/ai-helpers

    Decide whether a GitHub PR has unanswered authorized review comments or new required CI failures worth a follow-up agent.

    120 GitHub stars~1.9k tokensUpdated 3 days ago
    Auto-check passed
  • Must Gather Analyzer

    openshift-eng/ai-helpers

    Analyze OpenShift must-gather diagnostic data including cluster operators, pods, nodes, and network components.

    120 GitHub stars~2.3k tokensUpdated 3 days ago
    Auto-check passed
  • Payload Autodl JSON

    openshift-eng/ai-helpers

    Schema for the autodl JSON data file produced by payload-analysis for database ingestion — you must use this skill whenever generating the autodl JSON file

    120 GitHub stars~2.6k tokensUpdated 3 days ago
    Auto-check passed

Works with

Categories

Questions about Triage Fixed Cves

What does Triage Fixed Cves do?

Triage Go stdlib CVEs against an OpenShift release image to determine which CVEs are fixed by the Go version each component was built with. Triage Fixed Cves is an agent skill from openshift-eng/ai-helpers. Triage Go stdlib CVEs against an OpenShift release image to determine which CVEs are fixed by the Go version each component was built with.

When should I use Triage Fixed Cves?

Triage Fixed Cves fits situations like: the user asks to triage Go stdlib CVEs against an OpenShift release image; check which Go CVEs are fixed in a release; cross-reference Go vulnerability fixes across OCP components; : triage Go CVEs.

How do I install Triage Fixed Cves in Claude Code?

Run `npx skills add openshift-eng/ai-helpers --skill triage-fixed-cves -a claude-code`. Or copy the skill folder (plugins/golang/skills/triage-fixed-cves in openshift-eng/ai-helpers) into .claude/skills/triage-fixed-cves in your project. Claude Code loads it when a task matches its description.

How do I install Triage Fixed Cves in Codex?

Run `npx skills add openshift-eng/ai-helpers --skill triage-fixed-cves -a codex`. Or copy the skill folder (plugins/golang/skills/triage-fixed-cves in openshift-eng/ai-helpers) into .agents/skills/triage-fixed-cves in your project. Codex loads it when a task matches its description.

Can I use Triage Fixed Cves in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openshift-eng/ai-helpers --skill triage-fixed-cves -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/triage-fixed-cves, .gemini/skills/triage-fixed-cves, .github/skills/triage-fixed-cves and .opencode/skills/triage-fixed-cves in your project.

What does Triage Fixed Cves need to run?

Going by SKILL.md and its folder, Triage Fixed Cves needs the command-line tools its instructions call (podman, go and curl).

Does Triage Fixed Cves access the network?

SKILL.md names 3 domains. In commands or code: pkg.go.dev, github.com and vuln.go.dev; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Triage Fixed Cves safe to install?

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.

What licence does Triage Fixed Cves use?

Triage Fixed Cves is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Triage Fixed Cves use?

About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Triage Fixed Cves?

Skills that share tags, products or a category with Triage Fixed Cves: Building Vulnerability Dashboard With Defectdojo (mukul975/Anthropic-Cybersecurity-Skills, 34k stars), Cyberowlai (karimhabush/cyberowl, 263 stars), DefectDojo Vulnerability Management (AgentSecOps/SecOpsAgentKit, 220 stars) and Warp Vulnerability Triage (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Triage Fixed Cves?

openshift-eng (a GitHub organization) maintains it in openshift-eng/ai-helpers, which has 120 GitHub stars. The repository holds 118 skills in this directory. The repository was last updated on October 6, 2026.

Source: openshift-eng/ai-helpers on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.