Skip to content

Guide · Agent skill

How to use the Vulnerability Exception Tracker agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

This guide explains how to install the building-vulnerability-exception-tracking-system skill, which teaches an AI agent how to help you build a system that records vulnerabilities you cannot fix within their SLA, documents why, and expires the accepted risk when its time limit ends. It is written for readers who have not used agent skills before. By the end you will know what the skill produces, how to add it to Claude, how to phrase requests that trigger it, and what to check before relying on its code.

Vulnerability Exception Trackermukul975/Anthropic-Cybersecurity-Skills · Apache-2.0

Quick start

  1. 1Download and unzip. Download the skill ZIP from this page and unzip it into ~/.claude/skills/ for personal use or into .claude/skills/ in a project.
  2. 2Or upload it in the Claude apps. If you use the Claude apps, go to Settings, then Capabilities, then Skills, and upload the ZIP there.
  3. 3Describe your governance task. Ask in plain language for an exception process, risk acceptance workflow or compensating controls documentation, and name the framework such as PCI DSS, SOC 2 or NIST CSF.
  4. 4Review the duration rules. Choose one maximum-duration policy, since SKILL.md and the API reference differ, and make the code match it.
  5. 5Test before use. Run the scripts against the local SQLite database, check the expiration logic, and have a compliance reviewer validate the workflow before anything goes live.

What the skill makes the agent do

An agent skill is a folder of instructions and example files that an AI agent loads when your request matches the skill's description. This skill covers the paperwork side of vulnerability management: exception requests, approvals, compensating controls and expiration. It does not scan systems or fix vulnerabilities.

The skill's description says it is for standing up a governance process for risk acceptance and exception approvals that supports PCI DSS, SOC 2 or NIST CSF compliance.

  • A request form with CVE ID, finding ID, asset, severity, CVSS score, category, justification and requested expiration
  • Approval steps that depend on severity
  • A required write-up of compensating controls covering detection, prevention, response and monitoring
  • A daily expiration check and a monthly exception report, produced by included scripts

How to install the skill

Download the skill ZIP from this page and unzip it. You can install it in one of two ways. For a personal setup, unzip it into ~/.claude/skills/. For a single project, unzip it into the project's .claude/skills/ folder.

You can also upload the skill in the Claude apps by going to Settings, then Capabilities, then Skills, and adding the ZIP there.

  • Personal: unzip into ~/.claude/skills/
  • Project only: unzip into .claude/skills/ inside the project folder
  • Claude apps: Settings → Capabilities → Skills, then upload the ZIP

How to trigger the skill with natural requests

You do not need a special command. The agent loads the skill when your request fits its description, so describe the governance task in plain language. Name the goal (an exception process, risk acceptance, compensating controls, or an audit framework) so the agent can match it.

Good requests state what you are building and which framework it must support. Vague requests such as fix my vulnerabilities will not match, because the skill does not do remediation.

  • Help me set up a risk acceptance process for vulnerabilities that miss SLA deadlines, for a PCI DSS audit
  • Design an exception request form with compensating controls fields for a SOC 2 review
  • Show me a database schema for tracking vulnerability exceptions and their automatic expiry
  • Write a daily check that flags expired vulnerability exceptions

What the skill's approval and expiry rules look like

The skill defines exception categories (remediation delay, no fix available, business critical, false positive, compensating control), each with a maximum duration and approver level. The request schema and database schema include fields for status, approvers, approval time, expiry and review notes, and an audit log table records each action.

The source gives two different sets of duration limits, and they do not match. The category table in SKILL.md lists 30 days for remediation delay, 90 for no fix available, 60 for business critical, permanent for false positives and 180 for compensating controls. The API reference lists maximum days by severity instead: 30 for Critical, 90 for High, 180 for Medium and 365 for Low. Pick one policy deliberately and align the code and documents to it before use.

  • Approval chain by severity in the API reference: Critical goes to Security Lead, CISO and Risk Committee; High to Security Lead and CISO; Medium and Low to Security Lead
  • Exception states include draft, pending approval, approved, rejected, expired and revoked

Document compensating controls for each exception

A compensating control is an extra safeguard, such as a firewall rule or monitoring, that reduces risk when the vulnerability stays open. The skill asks that each exception address four areas, and the form template repeats them as fields.

Each answer should name a specific control, not a general intention. The example request form in the skill cites a WAF rule, network segmentation and an alert in a monitoring tool.

  • Detection: how exploitation attempts will be noticed
  • Prevention: what barriers lower the chance of exploitation
  • Response: which incident response procedure applies to this vulnerability
  • Monitoring: what ongoing checks show the controls still work

Run the expiration check and monthly report

The included script scripts/process.py has two options shown in the skill. Run the expiration check daily, for example from a scheduler such as cron. Run the report monthly. The skill says the scripts create a local SQLite database, so you can test without a server.

Before relying on these commands, check the code. The skill notes that the Flask approve and reject routes do not yet update a database, and that the maximum-duration check is incomplete.

python3 scripts/process.py --check-expirations python3 scripts/process.py --report --output exception_report.json

Requirements and safety notes

You need Python 3.9 or later with the flask, sqlalchemy, requests and jinja2 packages, plus PostgreSQL or SQLite. Email or Slack notifications and a vulnerability platform API such as DefectDojo, Qualys or Tenable are optional.

The skill runs scripts and uses the network. Read scripts/agent.py and scripts/process.py before running them, and check what any network calls send. The skill is not an audited product and does not replace legal or auditor sign-off.

  • Runs scripts: yes
  • Uses network: yes
  • Treat the code as a sketch: validate, test and have a compliance review before production use

What people use it for

  • Drafting a risk acceptance form for a database server that cannot be patched without an outage
  • Designing an approval chain that routes Critical and High exceptions to a CISO
  • Creating a starting schema for an internal exception-tracking tool
  • Producing a monthly exception report to show auditors which risks are accepted and when they expire

Frequently asked questions

Is the Vulnerability Exception Tracker skill free?

The skill is listed under the Apache-2.0 licence, which you should read to confirm your use is permitted. The source does not state any price, so this page makes no claim about cost.

What do I need to run it?

Python 3.9 or later with flask, sqlalchemy, requests and jinja2, and either PostgreSQL or SQLite. Email, Slack and vulnerability platform APIs such as DefectDojo, Qualys or Tenable are optional.

Does this skill scan for vulnerabilities or fix them?

No. It only manages the paperwork around exceptions: requests, approvals, compensating controls and expiry. You still need your own scanner and remediation process.

Does it satisfy PCI DSS, SOC 2 or NIST CSF audits on its own?

No. It is documentation and example code that supports those frameworks. It is not a certified compliance tool and does not replace auditor or legal sign-off.

Why does the Flask approval route not save anything?

The source says the approve and reject routes are sketches that do not yet update a database, and that the maximum-duration check is incomplete. You need to write that logic yourself and test it.

How does this compare with a commercial GRC tool?

The skill is a starting point you build on, not a finished product. The source mentions a ServiceNow GRC API example, so a commercial platform may already provide these workflows. Choose the skill if you want a transparent schema and workflow to adapt.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this skill if you are a security or GRC team designing a formal risk acceptance process, a developer who wants a starting schema and workflow, or a student learning how vulnerability governance works. Pick a certified or commercial compliance platform instead if you need a production tool with audited behaviour, and do not expect it to scan or fix anything.

Download the skill