add-ave-record

add-ave-record is a skill for Claude Code, Codex from aveproject/ave. It costs 0 tokens per session (2,505 once invoked), scanned A, original, Apache-2.0.

A step-by-step workflow for adding a new AVE record, where an AVE is a documented software-vulnerability pattern. It covers researching the vulnerability, assigning an ID, and writing validated JSON.

In plain words
What is it for?
Use it when documenting a new vulnerability pattern in this repository, including its impact, detection method, supporting sources, and links to related patterns.
Why use it?
It reduces the risk of missing required evidence, reusing an existing ID, or creating a record that fails validation.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/aveproject/ave/add-ave-record
Any agent
npx skills add aveproject/ave --skill add-ave-record
Clone the repo
git clone --depth 1 https://github.com/aveproject/ave

Made for: Claude Code, Codex.

Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,505 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.02505
Opus 5 $0.00000 $0.01252
Sonnet 5 $0.00000 $0.00501
Haiku 4.5 $0.00000 $0.00250

Measured 3d ago against content hash e4973cc9fdac, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

add-ave-record scanned grade A with 0 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 3d 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/add-ave-record/SKILL.md · 210 lines

How it starts

The opening of the file, as written. The whole thing — 210 lines — stays where its author put it; the contents beside it link to each section on GitHub.

add-ave-record

The main workflow for this repo. Adds one new AVE record end to end.

Steps

1. Grill the vulnerability class first

Run grill-with-docs. Answer:

  • What does a vulnerable component DO? (behavioral_fingerprint)
  • What attack_class is this? (new or existing?)
  • What is the worst-case impact? (drives AIVSS)
  • Which engines can detect it? (evidence_basis_engines)
  • Can a static scan see it, or does it need runtime? (detection_stage)
  • Does it chain with other AVEs? (derivable_into)

2. Assign the next ave_id

Format AVE-YYYY-NNNNN. Never reuse a number. Check records/ for the highest.

3. Write the record JSON

records/AVE-YYYY-NNNNN.json. Must validate against the schema. Include the evidence fields:

  • evidence_kind_default
  • detection_stage
  • detection_layer
  • confidence_baseline
  • evidence_basis_engines
  • derivable_into

The researcher field, a common, real mistake, not a hypothetical one: defaulting to the AVE maintainer's own name because it's the name most readily at hand while drafting. Check first: does this record trace to a real external CVE, paper, vendor disclosure, or existing tool implementation? If yes, and it almost always is yes, that source's own name or organization belongs in researcher, not the person writing the AVE record. This exact mistake shipped on two published records before being caught by an external maintainer being credited incorrectly himself. See docs/specs/researcher-process.md's Accountability and sourcing section for the full rule.

The four governance/framework fields — owasp_mcp, owasp_asi, mitre_atlas, nist_ai_rmf — always include the key, never let one go missing. These are the fields a CISO reads first; a security team maps an AVE record onto their own reporting frameworks through these. An absent key silently reads as "nobody checked this framework." An empty array reads as "checked, no real fit was found." Only the second one is an honest, defensible state.

  • owasp_mcp: required once status is active/deprecated (schema-enforced, minItems: 1) — needs at least one real mapping, verified against the OWASP MCP Top 10's own primary-source category text, not inferred from how a similar-sounding record in the corpus happened to tag itself.
  • owasp_asi, mitre_atlas, nist_ai_rmf: not yet schema-required (that's a tracked v1.2.0 change, see the roadmap issue), but always write the key. Verify each against its own primary source (live ATLAS.yaml for MITRE ATLAS, the actual NIST AI 100-1 text for NIST AI RMF, the framework's own published category list for OWASP ASI) before adding a value. Genuinely checked and found nothing that fits? Set it to [] and say so in aivss.notes — don't just leave the key out because the array would otherwise be empty. This exact mistake (a silently-missing owasp_asi key, not an empty one) shipped on AVE-2026-00078/00079/00080 and was caught reviewing that same PR — see docs/specs/researcher-process.md's Common Mistakes section.

Read the full file on GitHub · 210 lines

Changes

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.

  1. 3d ago First seen · 210 lines · 0 tokens per session scan A e4973cc9fdac

Subscribe to this mod's changes

add-ave-record is a skill published in the GitHub repository aveproject/ave (17 stars, last pushed 4d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 2,505 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.