# fp-check

Разбирает подозрительную уязвимость по шагам и выносит вердикт TRUE POSITIVE или FALSE POSITIVE с доказательствами. Нужен, когда находку надо подтвердить, а не искать новые.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 7000 установок · ★ 7805
- Автор: trailofbits
- Лицензия: CC-BY-SA-4.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/trailofbits/skills/tree/HEAD/plugins/fp-check/skills/fp-check/SKILL.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/skills/fp-check

## Что делает

Скилл берёт одну конкретную заявку на баг и проверяет её до конца. Сначала он переформулирует claim своими словами: что за уязвимость, какая причина, чем триггерится, какой ущерб и в какой модели угроз. Половина ложных срабатываний разваливается уже на этом шаге, потому что при точной формулировке заявка перестаёт сходиться.

Дальше выбирается маршрут. Standard verification — линейный чек-лист для простых случаев: один компонент, понятный класс бага, без гонок. Deep verification — когда путь данных идёт через несколько модулей, замешаны race conditions или TOCTOU, либо логика без внятной спецификации. У standard есть точки эскалации в deep. Внутри скилл опирается на справочники: `references/standard-verification.md`, `references/deep-verification.md`, `references/gate-reviews.md` с шестью обязательными гейтами, `references/bug-class-verification.md` под конкретные классы и `references/evidence-templates.md` для документирования.

Скилл не ищет баги и не делает ревью на стиль или производительность — для этого он не предназначен. Ему нужны инструменты чтения кода и запуска команд: в `allowed-tools` стоят `Read`, `Grep`, `Glob`, `LSP`, `Bash`, `Task`, `Write`, `Edit`, `AskUserQuestion` и задачи. Если находок несколько, он сначала прогоняет шаг 0 по всем, потом проверяет каждую отдельно и в конце ищет цепочки эксплойтов среди тех, что по отдельности гейт не прошли.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add trailofbits/skills --skill fp-check -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/fp-check/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/fp-check/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add trailofbits/skills --skill fp-check -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/fp-check/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add trailofbits/skills --skill fp-check -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/fp-check/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install trailofbits/skills fp-check
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/fp-check/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add trailofbits/skills --skill fp-check -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/trailofbits/skills --path plugins/fp-check/skills/fp-check
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/fp-check/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add trailofbits/skills --skill fp-check -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/trailofbits/skills/tree/HEAD/plugins/fp-check/skills/fp-check/SKILL.md

## Когда брать
- отсеять ложные срабатывания перед отчётом заказчику
- подтвердить, что находка действительно эксплуатируема
- разобрать спорную заявку на баг по шагам и с доказательствами
- проверить пачку находок и получить по каждой вердикт
- найти цепочку эксплойтов среди находок, не прошедших проверку поодиночке

## Примеры запросов агенту
- Проверь эту находку: переполнение буфера в `parse_header()` при `content_length` больше 4096 — это true positive?
- Вот список подозрений из аудита, прогони по каждому fp-check и скажи, где ложные срабатывания
- Проверь, эксплуатируема ли эта уязвимость, и обоснуй вердикт доказательствами

## Похожие
- [git-guardrails-claude-code](https://affpapa.org/nevibecode/skills/git-guardrails-claude-code.md) — скилл · 499069 установок
- [ponytail-review](https://affpapa.org/nevibecode/skills/ponytail-review.md) — скилл · 57000 установок
- [ponytail-audit](https://affpapa.org/nevibecode/skills/ponytail-audit.md) — скилл · 45400 установок
- [security-audit](https://affpapa.org/nevibecode/skills/cloudflare-security-audit.md) — скилл · 54800 установок
- [security-and-hardening](https://affpapa.org/nevibecode/skills/security-and-hardening.md) — скилл · 70200 установок
- [supabase](https://affpapa.org/nevibecode/skills/supabase.md) — скилл · 8 установок

Из того же набора: [trailofbits/skills](https://affpapa.org/nevibecode/by/trailofbits/skills.md) — 77 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
