hackerone — скилл для Claude Code: что делает и как установить
Парсит скоуп HackerOne, запускает параллельное тестирование ассетов и готовит отчёты по уязвимостям после обязательной валидации эксплойтов.
npx skills add transilienceai/communitytools --skill hackerone -a claude-codeЧто делает hackerone
Скилл автоматизирует работу с программами HackerOne. Скрипт skills/hackerone/tools/csv_parser.py разбирает таблицу скоупа и оставляет только цели с флагом eligible_for_submission=true. На каждый подходящий ассет оркестратор запускает отдельного агента-координатора в фоне. Агенты тестируют цели параллельно, экономя время на больших скоупах.
Центральный элемент процесса — воркфлоу validate-findings. Скилл не разрешает отправлять уязвимости в HackerOne без прохождения этого шлюза. Валидатор проверяет эксплойт poc.py, сверяет CVE с базами NVD и CISA KEV, а также пересчитывает вектор CVSS. Если эксплойт сломан, воркфлоу пытается восстановить его до рабочего состояния.
Все отклонённые находки попадают в папку artifacts/false-positives/ и исключаются из итоговых отчётов. Для оставшихся уязвимостей инструмент собирает отчёт по структуре HackerOne и проверяет разметку через report_validator.py.
Какие задачи решает
- отфильтровать цели из скоупа HackerOne по CSV-файлу программы
- запустить параллельных агентов для тестирования каждого разрешённого ассета
- отсеять ложные срабатывания через тройную проверку и сверку с CISA KEV
- починить упавшие скрипты PoC и подтвердить воспроизводимость бага
- собрать готовый отчёт по стандарту HackerOne с пересчитанным вектором CVSS
Примеры запросов агенту
- Разбери скоуп из файла scope.csv и запусти тестирование разрешённых ассетов
- Проверь найденные уязвимости через validate-findings со строгим режимом
- Сформируй отчёт для HackerOne по валидированным находкам из папки artifacts
Как установить hackerone
1Через Skills CLI (Vercel)
npx skills add transilienceai/communitytools --skill hackerone -a claude-code2Вручную: положить файлы
~/.claude/skills/hackerone/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/hackerone/
1Через Skills CLI (Vercel)
npx skills add transilienceai/communitytools --skill hackerone -a codex2Вручную: положить файлы
.agents/skills/hackerone/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add transilienceai/communitytools --skill hackerone -a cursor2Вручную: положить файлы
.cursor/skills/hackerone/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install transilienceai/communitytools hackerone2Вручную: положить файлы
.github/skills/hackerone/SKILL.md1Через Skills CLI (Vercel)
npx skills add transilienceai/communitytools --skill hackerone -a gemini-cli2Командой платформы
gemini skills install https://github.com/transilienceai/communitytools --path skills/hackeroneВручную: положить файлы
.devin/skills/hackerone/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add transilienceai/communitytools --skill hackerone -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о hackerone
Как установить hackerone в Claude Code?
Выполните команду npx skills add transilienceai/communitytools --skill hackerone -a claude-code. Скилл загрузится в каталог ~/.claude/skills/hackerone/.
Что делает скилл hackerone?
Он автоматизирует цикл тестирования: парсит скоуп, запускает независимых агентов под каждый ассет, проверяет эксплойты через validate-findings и собирает отчёты.
Какие находки допускаются к отправке отчёта?
Только уязвимости со статусом VALID или REPAIRED. Отклонённые кандидаты получают вердикт REJECTED, помечаются как ложные срабатывания и не попадают в отчёты.
Исходный текст
SKILL.md · MIT
---
name: hackerone
description: HackerOne bug bounty automation - parses scope CSVs, deploys parallel pentesting agents per asset, validates PoCs, and generates platform-ready submission reports.
---
# HackerOne Bug Bounty
Automates: scope parsing → parallel testing per asset → **authoritative finding validation** → submission reports.
## Quick start
1. Input: HackerOne program URL or scope CSV.
2. Parse scope and program guidelines.
3. Spawn one coordinator per eligible asset (parallel).
4. Each coordinator runs the standard engagement flow (see `skills/coordination/SKILL.md`).
5. Run the **`validate-findings` workflow per asset** (authoritative submission gate). Generate HackerOne reports from the validated set ONLY — never submit a finding that is not `VALID`/`REPAIRED`.
## Scope CSV format
Expected columns:
- `identifier` — asset URL/domain.
- `asset_type` — URL, WILDCARD, API, CIDR.
- `eligible_for_submission` — must be `true`.
- `max_severity` — critical / high / medium / low.
- `instruction` — asset-specific notes.
Parse with `skills/hackerone/tools/csv_parser.py`. Filter for `eligible_for_submission=true`.
## Agent deployment
One coordinator per asset, spawned in parallel:
```python
coordinator_role = Read("skills/coordination/SKILL.md")
Agent(prompt=f"{coordinator_role}\n\nTARGET: {asset_url}\nSCOPE: {program_guidelines}\nOUTPUT_DIR: ...",
run_in_background=True)
```
10 assets → 10 parallel coordinators (~2-4 h vs 20-40 h sequential). Each coordinator follows `skills/coordination/SKILL.md` and `reference/role-matrix.md`.
## Finding validation (authoritative submission gate)
Every finding requires `poc.py` (executable exploit), `poc_output.txt` (timestamped execution proof), manual repro steps, and evidence (screenshots / HTTP captures / video). This is the input the validator consumes.
**After each asset's coordinator returns, the orchestrator runs the `validate-findings` workflow for that asset and submits ONLY findings it marks `VALID` or `REPAIRED`:**
```python
v = Workflow(name="validate-findings", args={
"output_dir": asset_output_dir, # the coordinator's OUTPUT_DIR
"target": asset_url,
"business_tier": "revenue", # production/external bug-bounty scope; else "unknown"
"votes": 3, # adversarial refuters per finding (bounty = stricter)
"repair": True, # regenerate broken/absent PoCs so each finding has a runnable evidence script
"strict": True, # one failed gate => REJECTED
})
# v.counts -> {total, valid, repaired, rejected}; v.validated[] / v.rejected[]
# Verdicts at {asset_output_dir}/artifacts/validated/{id}.json (+ false-positives/).
# Asset report at {asset_output_dir}/reports/validation-report.md.
```
`validate-findings` is the authoritative gate because it directly preempts the most common HackerOne rejections: it verifies each CVE against **NVD + a recomputed CVSS base score (from the vector) + CISA KEV + the vendor advisory**, **runs (and repairs) every PoC** until it emits the evidence that proves the issue, **recomputes the risk/severity**, corroborates every claim against raw evidence, and kills false positives via **adversarial refutation**.
The orchestrator is the only layer that runs this workflow (it is top-level; the workflow is one level below — legal nesting). To avoid double work, coordinators may treat their **interleaved per-finding validators** (run the instant each candidate is materialized) as a provisional self-check; the standalone `validate-findings` verdict is authoritative for submission. A `REJECTED` finding is a false positive — it never enters a submission, an appendix, or a count; its `artifacts/false-positives/{id}.json` is the sole record. Likewise a coordinator-dropped candidate (uncured DEMOTED, in `artifacts/dropped/`) is never submitted.
The HackerOne PoC contract is a superset of the standard finding contract (`skills/coordination/reference/validator-role.md`).
## Submission report format
Build each report from a validated finding only. Required sections per HackerOne standard:
1. Summary (2-3 sentences).
2. Severity (CVSS + business impact; v4.0 primary, v3.1 → v3.0 → v2.0 fallback) — use the score `validate-findings` recomputed from the vector and the risk bucket it assigned, not a hand-typed number.
3. Steps to Reproduce (numbered, clear) — mirror the validated `verification-script.py`.
4. Visual Evidence (from `evidence/validation/`).
5. Impact (realistic attack scenario).
6. Remediation (actionable fixes).
Validate report *format* with `skills/hackerone/tools/report_validator.py` (complements the finding validation).
## Output structure
Standard `OUTPUT_DIR` (`skills/coordination/reference/output-discipline.md`) plus a per-asset `reports/submissions/` containing the platform-ready markdown. `validate-findings` writes the verdicts under `artifacts/validated|false-positives/` and the asset `reports/validation-report.md`.
```
{OUTPUT_DIR}/
├── findings/
│ └── finding-NNN/evidence/validation/ # validate-findings proof packages
├── reports/
│ ├── submissions/ # built ONLY from artifacts/validated/
│ │ ├── H1_CRITICAL_001.md
│ │ └── H1_HIGH_001.md
│ ├── validation-report.md # validate-findings asset report
│ └── SUBMISSION_GUIDE.md
├── recon/
├── logs/
└── artifacts/
├── validated/ # {id}.json — submit these
└── false-positives/ # {id}.json — never submit these
```
## Program selection
**High-value:** new programs (< 30 days), fast response (< 24 h), high bounties, large attack surface. **Avoid:** slow response (> 1 week), low bounties, restrictive scope.
## Submission checklist
- [ ] **`validate-findings` verdict = `VALID` or `REPAIRED`** (`artifacts/validated/{id}.json` exists). Never submit a `REJECTED` finding.
- [ ] CVSS **recomputed from the vector** (v4.0 primary; v3.1 → v3.0 → v2.0 fallback) and matching NVD when a CVE applies (`evidence/validation/cve-verification.md`).
- [ ] Working PoC with `poc_output.txt` (the validator re-ran/repaired it and confirmed the evidence token).
- [ ] Step-by-step reproduction.
- [ ] Visual evidence.
- [ ] Realistic impact (risk score/bucket from `evidence/validation/risk-assessment.md`).
- [ ] Remediation guidance.
- [ ] Sensitive data sanitized.
- [ ] Asset is `eligible_for_submission=true`.
## Common rejections (preempt)
| Rejection | Prevention |
|-----------|------------|
| Out of Scope | Verify `eligible_for_submission=true` and asset-type match |
| Cannot Reproduce | `validate-findings` re-runs (and repairs) the PoC 3× and requires a vuln-class evidence token — only reproducible findings pass the gate |
| Duplicate | Search disclosed reports before submission; submit quickly |
| Insufficient Impact | Document realistic attack scenario; `validate-findings` recomputes risk/severity so the rating is defensible |
| Incorrect severity / CVSS | `validate-findings` recomputes the base score from the vector and cross-checks NVD + KEV; any mismatch is flagged before you submit |
## Tools
- `skills/hackerone/tools/csv_parser.py` — parse HackerOne scope CSVs.
- **`validate-findings` workflow** — authoritative per-asset finding validation (NVD/CVSS-math/KEV/exploit-run/repair/risk/adversarial). The submission gate; run once per asset.
- `skills/hackerone/tools/report_validator.py` — validate report *format* completeness (the 6 submission sections). Complements `validate-findings` (which validates the *finding*); run it on each report built from a validated finding.
- `skills/coordination/SKILL.md` — coordinator scaffold.
## Usage
```bash
/hackerone <program_url_or_csv_path>
```
© transilienceai · MIT · transilienceai/communitytools