# receipt-verifier

Проверяет подлинность криптографических квитанций Ed25519 и находит следы подделки в записях protect-mcp. Помогает разобрать ошибки валидации и провести аудит журнала.

- субагент · `type=agent` · Claude Code, Codex, Cursor · ★ 41823
- Автор: Tom Farley
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/wshobson/agents/tree/HEAD/plugins/protect-mcp/agents/receipt-verifier.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/agents/receipt-verifier

## Что делает

Субагент валидирует цифровые квитанции решений в формате JSONL, которые формирует `protect-mcp 0.7.4`. Для работы он применяет каноникализацию JCS (RFC 8785) и алгоритм подписи Ed25519 (RFC 8032). Проверка выполняется локально через вызов утилиты `npx @veritasacta/verify@0.9.2`.

Квитанция не содержит внутри открытый ключ подписанта. Поэтому для сверки обязательно нужен файл `./protect-mcp.key` или переданный шестнадцатеричный ключ: без него утилита вернёт код `2` и посчитает проверку невыполнимой. Если подпись не сходится, агент указывает на подмену содержимого после подписания или неверный ключ.

В версии `protect-mcp 0.7.4` в квитанциях нет хеша предыдущей записи. Из-за этого агент не сможет обнаружить удаление или перестановку строк в файле `./receipts/receipts.jsonl`. Сам субагент принципиально отказывается генерировать поддельные квитанции, чтобы не нарушать модель доверия.

## Установка

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

1. **Через маркетплейс плагинов**
В чате агента (не в терминале):
```text
/plugin marketplace add wshobson/agents
```
В чате агента (не в терминале):
```text
/plugin install protect-mcp@claude-code-workflows
```

2. **Вручную: положить файлы**
- Файл: `.claude/agents/receipt-verifier.md` — Для всех проектов — ~/.claude/agents/. Claude делегирует задачу сам по полю description или по @-упоминанию

### Codex

**Вручную: положить файлы**
- Файл: `.codex/agents/receipt-verifier.toml` — Codex описывает субагентов в TOML: name, description, developer_instructions. Текст из Markdown перенесите в developer_instructions вручную. Для всех проектов — ~/.codex/agents/

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/agents/receipt-verifier.md` — Cursor понимает и .claude/agents/

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/wshobson/agents/tree/HEAD/plugins/protect-mcp/agents/receipt-verifier.md

## Когда брать
- Проверить валидность цифровой подписи Ed25519 в файле квитанции
- Провести аудит журнала `./receipts/receipts.jsonl` и выявить повреждённые строки
- Диагностировать причину расхождения контрольных сумм JCS
- Определить статус целостности решений `protect-mcp` без отправки данных в сеть

## Примеры запросов агенту
- /verify-receipt receipts/decision-12.json
- /audit-chain --last 50
- Проверь квитанцию из буфера с публичным ключом из ./protect-mcp.key

## Похожие
- [code-reviewer](https://affpapa.org/nevibecode/agents/code-reviewer.md) — субагент · 31050 установок
- [security-auditor](https://affpapa.org/nevibecode/agents/security-auditor.md) — субагент · 10718 установок
- [test-engineer](https://affpapa.org/nevibecode/agents/test-engineer.md) — субагент · 9715 установок
- [code-reviewer](https://affpapa.org/nevibecode/agents/voltagent-community-code-reviewer.md) — субагент · 31050 установок
- [security-auditor](https://affpapa.org/nevibecode/agents/voltagent-community-security-auditor.md) — субагент · 10718 установок
- [devops-engineer](https://affpapa.org/nevibecode/agents/devops-engineer.md) — субагент · 7392 установки

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

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

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