# v4-security-foundations

Разбирает угрозы хуков Uniswap v4 до того, как вы напишете код: проверка вызывающего, флаги разрешений, дельта-учёт. Пригодится при работе с beforeSwap и PoolManager.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1200 установок · ★ 235
- Автор: uniswap
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/Uniswap/uniswap-ai/tree/HEAD/packages/plugins/uniswap-hooks/skills/v4-security-foundations/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/v4-security-foundations

## Что делает

Скилл описывает модель угроз для хуков Uniswap v4. Внутри — таблица из 14 флагов разрешений с уровнями риска от LOW до CRITICAL, разбор атаки NoOp rug pull через `beforeSwapReturnDelta` и правила дельта-учёта PoolManager: инвариант `sum(deltas) == 0`, порядок `sync` → `transfer` → `settle`.

Отдельный блок — контроль доступа. Каждый колбэк хука обязан проверять, что `msg.sender` равен адресу `PoolManager`, иначе кто угодно вызовет функцию напрямую и вытянет средства через поддельный колбэк. Параметр `sender` при этом указывает на роутер, а не на конечного пользователя, поэтому нужен allowlist роутеров.

Скилл читает файлы и ищет по коду, умеет ходить в веб и запускать субагента `Explore`. Модель — `opus`. Если вы собираетесь взаимодействовать с чужим хуком, у которого включён `beforeSwapReturnDelta`, это повод проверить его код и владельца до первой транзакции.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Uniswap/uniswap-ai --skill v4-security-foundations -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Uniswap/uniswap-ai --skill v4-security-foundations -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Uniswap/uniswap-ai --skill v4-security-foundations -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install Uniswap/uniswap-ai v4-security-foundations
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add Uniswap/uniswap-ai --skill v4-security-foundations -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/Uniswap/uniswap-ai --path packages/plugins/uniswap-hooks/skills/v4-security-foundations
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add Uniswap/uniswap-ai --skill v4-security-foundations -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/Uniswap/uniswap-ai/tree/HEAD/packages/plugins/uniswap-hooks/skills/v4-security-foundations/SKILL.md

## Когда брать
- проверить, что колбэк хука вызывает только PoolManager
- оценить риск каждого из 14 флагов разрешений
- разобрать атаку NoOp rug pull на возвращаемой дельте
- выстроить порядок sync, transfer и settle без ошибок учёта
- закрыть реентрантность при внешних вызовах из хука

## Примеры запросов агенту
- Проверь мой хук v4 на модель угроз из v4-security-foundations
- Объясни, чем опасен флаг beforeSwapReturnDelta в моём контракте
- Сделай ревью beforeSwap: правильно ли я проверяю msg.sender

## Похожие
- [solidity-security](https://affpapa.org/nevibecode/skills/solidity-security.md) — скилл · 15382 установки
- [blockchain-developer](https://affpapa.org/nevibecode/agents/voltagent-community-blockchain-developer.md) — субагент · 375 установок
- [solidity-auditor](https://affpapa.org/nevibecode/skills/solidity-auditor.md) — скилл · 830 установок
- [solidity](https://affpapa.org/nevibecode/rules/solidity.md) — правило · ★ 3579
- [secure-workflow-guide](https://affpapa.org/nevibecode/skills/secure-workflow-guide.md) — скилл · 7400 установок

Из того же набора: [uniswap/uniswap-ai](https://affpapa.org/nevibecode/by/uniswap/uniswap-ai.md) — 11 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

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