Agentic GitHub Actions Auditor
trailofbits/skills
Statically audits GitHub Actions workflows that run AI coding agents, tracing attacker-controlled input to agent prompts and flagging unsafe sandbox, trigger and allowlist settings.
Scan the ClawHunter agent bounty marketplace for opportunities that genuinely match this agent's real capabilities (code, security research, writing) and surface only real matches — never a raw…
$ npx skills add aeonfun/aeon --skill hunter-22 -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aeonfun/aeon hunter-22 --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/hunter-22 .claude/skills/hunter-22 && rm -rf skills-srcUse ~/.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/
Install the "hunter-22" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/hunter-22 into .claude/skills/hunter-22/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hunter-22", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/aeonfun/aeon/tree/main/skills/hunter-22Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add aeonfun/aeon --skill hunter-22 -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aeonfun/aeon hunter-22 --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/hunter-22 .agents/skills/hunter-22 && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "hunter-22" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/hunter-22 into .agents/skills/hunter-22/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hunter-22", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aeonfun/aeon --skill hunter-22 -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aeonfun/aeon hunter-22 --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/hunter-22 .cursor/skills/hunter-22 && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "hunter-22" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/hunter-22 into .cursor/skills/hunter-22/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hunter-22", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/aeonfun/aeon.git --path skills/hunter-22--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add aeonfun/aeon --skill hunter-22 -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aeonfun/aeon hunter-22 --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/hunter-22 .gemini/skills/hunter-22 && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "hunter-22" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/hunter-22 into .gemini/skills/hunter-22/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hunter-22", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install aeonfun/aeon hunter-22Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add aeonfun/aeon --skill hunter-22 -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/hunter-22 .github/skills/hunter-22 && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "hunter-22" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/hunter-22 into .github/skills/hunter-22/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hunter-22", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aeonfun/aeon --skill hunter-22 -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aeonfun/aeon hunter-22 --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/hunter-22 .opencode/skills/hunter-22 && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "hunter-22" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/hunter-22 into .opencode/skills/hunter-22/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hunter-22", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
hunter-22Scan the ClawHunter agent bounty marketplace for opportunities that genuinely match this agent's real capabilities (code, security research, writing) and surface only real matches — never a raw…
Hunter 22 is an agent skill from aeonfun/aeon. Scan the ClawHunter agent bounty marketplace for opportunities that genuinely match this agent's real capabilities (code, security research, writing) and surface only real matches — never a raw unfiltered dump. When a match is real audit-shaped work with a linked GitHub repo, the notification carries a one-tap button to dispatch vuln-scanner at it directly.
Its SKILL.md is about 1.7k 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 Security review. It works with GitHub. The repository describes itself as: The most autonomous AI agent framework: runs unattended on GitHub Actions, self-healing skills, drives Claude Code, Grok, Codex & more. No approval loops. Configure once, forget… The licence is MIT.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f252074. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
curlnodeFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
clawhunter.funFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Hunter 22 loads about 1.7k tokens when it runs. Until then it costs about 92 tokens; SKILL.md has 766 words of instructions outside code blocks.
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.
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.
The full file from aeonfun/aeon at commit f252074, republished under its MIT licence (© aeonfun). 766 words, ~1,666 tokens.
.claude/skills/hunter-22/SKILL.md (or your agent's skills folder).${var} — optional filter. Empty → default capability match (see below).
types:<a,b>→ restrict to bounty types (e.g.types:code,research).min:<usd>→ minimum reward floor.
Today is ${today}.
ClawHunter is a paid API that indexes crypto/social bounty venues and ranks opportunities. This skill calls its free discovery tier only — no API key, no wallet, no payment. Read docs/ClawHunter-API.md in this repo for the endpoint reference (base URL, auth, rate limits).
This is discovery only for anything requiring human judgment or funds — it never claims, submits, or executes a bounty, and never touches a wallet. It surfaces candidates for the operator to act on manually, with one exception: when a match is real audit-shaped work (code/security, with a linked GitHub repo), the notification carries a button that dispatches vuln-scanner at that repo — the operator still taps to trigger it, this skill never dispatches on its own. Do not call any $ (paid, x402) endpoint in this skill; those require a funded wallet this fork does not have configured.
memory/topics/hunter-22-seen.json if it exists (dedup log — bounty IDs already surfaced, with the timestamp last seen). Create it empty ([]) if missing.POST https://clawhunter.fun/api/v1/match with this agent's real, demonstrated capabilities, then pipe its response directly through the mandatory expiration gate before reading or triaging it:curl -fsS -X POST https://clawhunter.fun/api/v1/match \
-H 'content-type: application/json' \
--data '{"capabilities":["code","security-research","research","writing","dependency-analysis"],"canDoRealWorld":false,"minReward":20,"limit":25}' \
| node scripts/hunter-22-filter.mjs${var} is empty. When ${var} sets types:<a,b>, add "types":["a","b"] to the --data body before running it (types filters the bounty types field). When it sets min:<usd>, set minReward to that number before running it. Apply both edits when both are set.
Do not save, inspect, or triage the raw response. If the gate exits non-zero, treat the API as unavailable and stop. The gate removes expired and malformed deadlines deterministically. Its gate.seen list retains minimal dedup fields for all input candidates, including rejected ones. Use these real capabilities, not aspirational ones:{
"capabilities": ["code", "security-research", "research", "writing", "dependency-analysis"],
"canDoRealWorld": false,
"minReward": 20,
"limit": 25
}canDoRealWorld: false — this agent has no wallet/payment rails configured, so exclude bounties requiring on-chain execution or payment. Do NOT set canDoRealWorld: true unless a wallet has actually been funded and documented in memory/topics/ — check first.requires array that's only engage/outreach/video/image with no code/onchain is the tell — this agent has no content-generation or social-outreach tooling wired up and can't credibly deliver those.output/articles/vuln-scan-*.md.requires includes code or onchain, and the bounty's body/url contains a GitHub repo link (github\.com/[\w.-]+/[\w.-]+). If both hold, extract owner/repo - this is exactly the Veilo-bounty shape (a Superteam listing naming a specific on-chain program's source repo). Not every kept candidate will have one; most won't.memory/topics/hunter-22-seen.json - only report bounties not already seen in the last 14 days.memory/topics/hunter-22-seen.json: append {id, title, reward, seen_at} from every entry in gate.seen, so candidates rejected by the hard gate still enter the dedup window. Prune entries older than 30 days../notify with a short, decision-grade list - title, reward, venue, one-line why-it-matches, link. Lead with the count and the best one. For any match flagged audit-shaped in step 4, add an inline button so the operator can dispatch the audit in one tap:./notify -f /tmp/hunter22-notify.md --buttons '[[
{"text":"Audit owner/repo","callback_data":"run:vuln-scanner:owner/repo"},
{"text":"Open bounty","url":"<bounty url>"}
]]'callback_data has a hard 64-byte limit (see docs/telegram-commands.md) — run:vuln-scanner:owner/repo fits comfortably for any realistic repo path. If more than one candidate this run is audit-shaped, send one notify per candidate (each with its own button row) rather than merging them, so a tap is unambiguous about which repo it targets.
If nothing new or nothing real survived triage, do not notify (see CLAUDE.md: "notify only on signal").memory/topics/hunter-22-seen.json with an updated timestamp:.$) endpoint. Never touch /tools/*, /chat/completions, or anything billed via x402 in this skill.© aeonfun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/hunter-22 of aeonfun/aeon.
Open the folder on GitHubat commit f252074
Hunter 22 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Hunter 22 this skillaeonfun/aeon | 767 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Agentic GitHub Actions Auditortrailofbits/skills | 7.4k | 6 repos | ~5.4k | Automated safety check: Notes | CC-BY-SA-4.0 | |
| Audit Scopeforefy/.context | 152 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Codebase Audit Pre Pushsickn33/agentic-awesome-skills | 47k | 2 repos | ~2.1k | Automated safety check: Notes | MIT | |
| Security SecretsIgorWarzocha/Opencode-Workflows | 122 | — | ~1.2k | Automated safety check: Notes | None | |
| Repo SentinelMathews-Tom/armory | 327 | — | ~2.2k | Automated safety check: Pass | MIT |
trailofbits/skills
Statically audits GitHub Actions workflows that run AI coding agents, tracing attacker-controlled input to agent prompts and flagging unsafe sandbox, trigger and allowlist settings.
forefy/.context
Draft a security-audit scope from GitHub repos or API access, with a protocol narrative and a sizing table.
sickn33/agentic-awesome-skills
Deep audit before GitHub push: removes junk files, dead code, security holes, and optimization issues.
IgorWarzocha/Opencode-Workflows
Review secret detection patterns and scanning workflows. An agent skill from IgorWarzocha/Opencode-Workflows.
Mathews-Tom/armory
Full security audit for public repositories across 12 attack surfaces: git history, secrets, CI/CD, containers, dependencies, licenses.
kedro-org/kedro
Run a Kedro security scan on the full codebase or just a pull request.
aeonfun/aeon
Browses open tasks on the TaskMarket agent-worker market and, with explicit operator approval, creates tasks, tracks submissions and submits finished work.
aeonfun/aeon
Sets up and manages an Aeon agent instance that runs skills on a schedule through GitHub Actions: starting, rescheduling, debugging, editing skills and mining chat history.
aeonfun/aeon
Reads a Base Account's address, portfolio and transaction history through the Base MCP server, and stays strictly read-only in unattended Aeon runs, reporting only changes.
aeonfun/aeon
Audits every page of a site each day from its sitemap, scores on-page and technical SEO, checks duplicates across pages and reports what changed since the last run.
aeonfun/aeon
5 concrete real-life actions, leverage-scored against open loops with specificity and anti-fluff gates
aeonfun/aeon
Static linter for an Aeon instance's configuration that catches silent failures such as unquoted schedules, duplicate keys, unconfigured skills and broken MCP references.
Works with
Categories
Scan the ClawHunter agent bounty marketplace for opportunities that genuinely match this agent's real capabilities (code, security research, writing) and surface only real matches — never a raw…. Hunter 22 is an agent skill from aeonfun/aeon. Scan the ClawHunter agent bounty marketplace for opportunities that genuinely match this agent's real capabilities (code, security research, writing) and surface only real matches — never a raw unfiltered dump.
Hunter 22 fits situations like: tasks that involve Security review.
Run `npx skills add aeonfun/aeon --skill hunter-22 -a claude-code`. Or copy the skill folder (skills/hunter-22 in aeonfun/aeon) into .claude/skills/hunter-22 in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aeonfun/aeon --skill hunter-22 -a codex`. Or copy the skill folder (skills/hunter-22 in aeonfun/aeon) into .agents/skills/hunter-22 in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aeonfun/aeon --skill hunter-22 -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hunter-22, .gemini/skills/hunter-22, .github/skills/hunter-22 and .opencode/skills/hunter-22 in your project.
Going by SKILL.md and its folder, Hunter 22 needs the command-line tools its instructions call (curl and node).
SKILL.md names 1 domain. In commands or code: clawhunter.fun; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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.
Hunter 22 is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Hunter 22: Agentic GitHub Actions Auditor (trailofbits/skills, 7.4k stars), Audit Scope (forefy/.context, 152 stars), Codebase Audit Pre Push (sickn33/agentic-awesome-skills, 47k stars) and Security Secrets (IgorWarzocha/Opencode-Workflows, 122 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aeonfun (a GitHub organization) maintains it in aeonfun/aeon, which has 767 GitHub stars. The repository holds 82 skills in this directory. The repository was last updated on October 6, 2026.
Source: aeonfun/aeon on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.