Files
Lixin2026 d5fe2e6a78 feat(codex): add UI metadata for skills (#175)
* feat(codex): add skill UI metadata

* Use official Trail of Bits logo

* fix: resolve code review findings for PR #175

Codex silently drops the icons as authored: its loader
(codex-rs/core-skills resolve_asset_path) requires icon paths
containing '..' to resolve under <plugin_root>/assets/, and the
repo-root .codex/assets location fails that containment check.
Verified empirically via codex app-server plugin/read: every
iconSmall/iconLarge came back null; only brand_color applied.

P1 fixed:
- Vendor trail-of-bits-mark.svg into plugins/<name>/assets/ for
  all 38 plugins with skills and point every openai.yaml at
  ../../assets/trail-of-bits-mark.svg (the supported plugin-level
  shared asset pattern). Icons now resolve for marketplace
  installs too, since nothing escapes the plugin root.
- Drop the .codex/ additions: .codex/skills/gh-cli/agents/
  openai.yaml resolved nowhere (.codex/skills is not a Codex
  discovery root) and PR #173 removes the whole .codex/ tree

P2 fixed:
- Patch-bump all 38 touched plugins in plugin.json and
  marketplace.json so installed clients pick up the metadata

Verified:
- Static check replicating Codex's resolution algorithm: all 73
  yaml files resolve under their plugin assets/ and exist
- Live codex app-server probe: 71/72 loadable skills report
  resolved iconSmall/iconLarge and brand_color #D83A34
  (claude-in-chrome-troubleshooting fails to load on main due to
  a pre-existing 64-char qualified-name limit, fixed by #173's
  rename; zeroize-audit's manifest mcpServers object is likewise
  a pre-existing Codex incompatibility fixed by #173)
- validate_codex_skills.py, validate_plugin_metadata.py, prek all
  pass

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(codex): use skill-local icon assets

---------

Co-authored-by: Dan Guido <dan@trailofbits.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 12:28:41 -04:00
..

Burp Suite Project Parser

Search and extract data from Burp Suite project files (.burp) for use in Claude

Author: Will Vandevanter

Prerequisites

When to Use

Use this skill when you need to get the following from a Burp project:

  • Search response headers or bodies using regex patterns
  • Extract security audit findings and vulnerabilities
  • Dump proxy history or site map data for analysis
  • Programmatically analyze HTTP traffic captured by Burp Suite

Trigger phrases: "search the burp project", "find in burp file", "what vulnerabilities in the burp", "get audit items from burp"

What It Does

This skill provides CLI access to Burp Suite project files through the burpsuite-project-file-parser extension:

  1. Search headers/bodies - Find specific patterns in captured HTTP traffic using regex
  2. Extract audit items - Get all security findings with severity, confidence, and URLs
  3. Dump traffic data - Export proxy history and site map entries as JSON
  4. Filter output - Use sub-component filters to optimize performance on large projects

Installation

/plugin install trailofbits/skills/plugins/burpsuite-project-parser

Usage

Base command:

scripts/burp-search.sh /path/to/project.burp [FLAGS]

Available Commands

Command Description Output
auditItems Extract all security findings JSON: name, severity, confidence, host, port, protocol, url
proxyHistory Dump all captured HTTP traffic Complete request/response data
siteMap Dump all site map entries Site structure
responseHeader='.*regex.*' Search response headers JSON: url, header
responseBody='.*regex.*' Search response bodies Matching content

Sub-Component Filters

For large projects, filter to specific data to improve performance:

proxyHistory.request.headers    # Only request headers
proxyHistory.request.body       # Only request body
proxyHistory.response.headers   # Only response headers
proxyHistory.response.body      # Only response body

Same patterns work with siteMap.*

Examples

Search for CORS headers:

scripts/burp-search.sh project.burp "responseHeader='.*Access-Control.*'"

Get all high-severity findings:

scripts/burp-search.sh project.burp auditItems | jq 'select(.severity == "High")'

Find server signatures:

scripts/burp-search.sh project.burp "responseHeader='.*(nginx|Apache|Servlet).*'"

Extract request URLs from proxy history:

scripts/burp-search.sh project.burp proxyHistory.request.headers | jq -r '.request.url'

Search for HTML forms:

scripts/burp-search.sh project.burp "responseBody='.*<form.*action.*'"

Output Format

All output is JSON, one object per line. Pipe to jq for formatting or use grep for filtering:

scripts/burp-search.sh project.burp auditItems | jq .
scripts/burp-search.sh project.burp auditItems | grep -i "sql injection"