audit-extractor
Parses PDF security audit reports and converts findings into structured Markdown checklists for easier vulnerability tracking.
Install
mkdir -p .claude/skills/audit-extractor && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/8678" && unzip -o skill.zip -d .claude/skills/audit-extractor && rm skill.zipInstalls to .claude/skills/audit-extractor
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Extract findings from PDF audit reports and convert them to a markdown checklist. Use when the user asks to process an audit report, extract audit findings, or create an audit action items list. (project)Key capabilities
- →Parses PDF structures to identify audit findings
- →Extracts severity ratings (Critical to Informational)
- →Maps findings to standardized status tracking categories
- →Generates aggregate summary tables for audit reports
- →Constructs actionable markdown checklists
How it works
It reads the PDF via native file-reading tools and applies pattern recognition to extract audit finding IDs and severity metadata into a pre-defined markdown schema.
Inputs & outputs
When to use audit-extractor
- →Convert security PDFs to tracking lists
- →Extract severity and impact from audit reports
- →Create action items from vulnerability disclosures
- →Document fix status for reported security flaws
About this skill
Audit Extractor
Extract findings from PDF security audit reports and convert them to a structured markdown checklist for tracking remediation.
Overview
This skill processes PDF audit reports (from firms like Certora, Sigma Prime, Cantina, etc.) and extracts:
- Finding ID (e.g., C-01, H-01, M-01, L-01, I-01)
- Title/Description
- Severity (Critical, High, Medium, Low, Informational)
- Status (Fixed, Partially fixed, Awaiting Fix, Acknowledged, Disregarded, Pending)
- Impact and Likelihood (when available)
- Detailed descriptions and recommendations
How to Extract Findings
Step 1: Read the PDF directly
Use the Read tool to read the PDF file. Claude can natively read and understand PDF documents:
Read the PDF file at: <pdf_path>
Step 2: Parse the audit content
After reading the PDF, manually extract findings by looking for:
-
Summary/Findings Table - Usually contains:
- Finding IDs (patterns like C-01, H-01, M-01, L-01, I-01)
- Titles
- Severity levels
- Status
-
Detailed Finding Sections - Usually organized by PR or category, containing:
- Full descriptions
- Code snippets
- Exploit scenarios
- Recommendations
- Customer response / Fix review status
-
Severity Information - Look for:
- Impact (High, Medium, Low)
- Likelihood (High, Medium, Low)
Step 3: Generate the markdown output
Create a markdown file with the following structure:
# Audit Findings: [Audit Name]
**Auditor:** [Auditor Name]
**Date:** [Date]
**Status:** [Draft/Final]
**Total findings:** [Count]
## Summary
| Severity | Discovered | Confirmed | Fixed |
|----------|------------|-----------|-------|
| Critical | X | | |
| High | X | | |
| Medium | X | | |
| Low | X | | |
| Informational | X | | |
| **Total** | **X** | | |
## Action Required (X items pending)
- [ ] **M-01** (Medium): [Title]
- [ ] **L-01** (Low): [Title]
---
## All Findings
### ([PR/Category Name])
#### [ID]. [Title]
| Severity | Impact | Likelihood | Status |
|----------|--------|------------|--------|
| [Severity] | [Impact] | [Likelihood] | [Status] |
**Files:** `[filename.sol]`
**Description:** [Full description]
**Recommendation:** [Recommendation text]
---
Step 4: Save the output
Use the Write tool to save the markdown file:
- Save to
audits/[Audit-Name]-Findings.md
Output Format Guidelines
Severity Levels
- Critical - Direct loss of funds or complete protocol compromise
- High - Significant impact on protocol security or functionality
- Medium - Moderate impact, potential for exploitation under certain conditions
- Low - Minor issues, best practice violations
- Informational - Code quality, gas optimizations, documentation
Status Values
- Fixed - Issue has been resolved
- Partially fixed - Issue has been partially addressed
- Awaiting Fix - Issue acknowledged, fix pending
- Acknowledged - Issue acknowledged, may not be fixed
- Pending - Awaiting customer response
- Disregarded - Issue will not be fixed (by design)
Checklist Rules
- Use
[ ]for unresolved items (Pending, Awaiting Fix, Partially fixed) - Use
[x]for resolved items (Fixed, Acknowledged, Disregarded)
Audit Files Location
Audit reports are typically stored in: audits/
Example Extraction
Given a PDF with findings like:
M-01 MigrateSlashers may assign incompatible slasher | Medium | Pending
L-01 Instant slasher setting leaves stale field | Low | Pending
I-01 getSlasher is implemented twice | Informational | Pending
Generate:
# Audit Findings: EigenLayer - Slashing UX Improvements
**Auditor:** Certora
**Date:** December 2025
**Total findings:** 3
## Summary
| Severity | Count |
|----------|-------|
| Medium | 1 |
| Low | 1 |
| Informational | 1 |
## Action Required (2 items)
- [ ] **M-01** (Medium): MigrateSlashers may assign incompatible slasher
- [ ] **L-01** (Low): Instant slasher setting leaves stale field
## All Findings
### Medium (1)
#### M-01. MigrateSlashers may assign an incompatible slasher address
| Severity | Impact | Likelihood | Status |
|----------|--------|------------|--------|
| Medium | High | Low | Pending |
**Description:** [Full description from PDF]
**Recommendation:** [Recommendation from PDF]
---
### Low (1)
#### L-01. Instant slasher setting leaves stale slasher field in storage
| Severity | Impact | Likelihood | Status |
|----------|--------|------------|--------|
| Low | Low | Low | Pending |
**Description:** [Full description from PDF]
**Recommendation:** [Recommendation from PDF]
---
### Informational (1)
#### I-01. getSlasher is implemented twice
| Severity | Status |
|----------|--------|
| Informational | Pending |
**Description:** [Full description from PDF]
**Recommendation:** [Recommendation from PDF]
Troubleshooting
PDF won't read
- Ensure the file path is correct and the file exists
- Check if the PDF is password protected (not supported)
Missing findings
- Some PDFs have findings spread across multiple sections
- Check the Table of Contents for finding locations
- Look for "Detailed Findings" or similar sections
Inconsistent formatting
- Different audit firms use different formats
- Adapt the markdown structure to match the source format
- Preserve all relevant information even if structure differs
When not to use it
- →When the audit report is not a machine-readable PDF
- →When the report uses highly irregular or non-standard custom formatting
Limitations
- →Reliant on the consistent structure of the source PDF
- →Requires manual validation if the report format is non-standard
How it compares
It automates the tedious conversion of dense PDF text into a queryable, actionable tracking format.
Compared to similar skills
audit-extractor side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| audit-extractor (this skill) | 0 | 7mo | No flags | Beginner |
| security-requirement-extraction | 7 | 2mo | No flags | Intermediate |
| audit-support | 4 | 5mo | No flags | Advanced |
| awesome-game-security-overview | 4 | 4mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by Layr-Labs
View all by Layr-Labs →You might also like
security-requirement-extraction
wshobson
Derive security requirements from threat models and business context. Use when translating threats into actionable requirements, creating security user stories, or building security test cases.
audit-support
anthropics
Support SOX 404 compliance with control testing methodology, sample selection, and documentation standards. Use when generating testing workpapers, selecting audit samples, classifying control deficiencies, or preparing for internal or external audits.
awesome-game-security-overview
gmh5225
Guide for understanding and contributing to the awesome-game-security curated resource list. Use this skill when adding new resources, organizing categories, understanding project structure, or maintaining the README.md format consistency.
security-threat-model
davila7
Repository-grounded threat modeling that enumerates trust boundaries, assets, attacker capabilities, abuse paths, and mitigations, and writes a concise Markdown threat model. Trigger only when the user explicitly asks to threat model a codebase or path, enumerate threats/abuse paths, or perform AppSec threat modeling. Do not trigger for general architecture summaries, code review, or non-security design work.
security-compliance-compliance-check
sickn33
You are a compliance expert specializing in regulatory requirements for software systems including GDPR, HIPAA, SOC2, PCI-DSS, and other industry standards. Perform compliance audits and provide implementation guidance.
audit-prep-assistant
trailofbits
Prepares codebases for security review using Trail of Bits' checklist. Helps set review goals, runs static analysis tools, increases test coverage, removes dead code, ensures accessibility, and generates documentation (flowcharts, user stories, inline comments).