BC ccs-receipt-verify
Автономная проверка подписи Ed25519 для квитанций аудита AI-агента. Проверьте, что квитанция CCS была подписана известным подписантом и не была подделана: проверка Ed25519, канонизация RFC 8785 JCS, пересчет хеша содержимого SHA-256 и проверки схемы/подделки по 22 полям с использованием встроенного ядра проверки CCS с открытым исходным кодом. Никаких сетевых вызовов; требуются только квитанция и открытый ключ эмитента, закрытые ключи никогда не используются. Используйте при проверке квитанции CCS, проверке квитанции решения агента, подписанной Ed25519, или для подтверждения того, была ли квитанция вызова инструмента агента, подписанная, подделана после выдачи.
машинный переводПоказать оригиналСкрыть оригинал«Offline Ed25519 signature verification for AI-agent audit receipts. Ve…»
Offline Ed25519 signature verification for AI-agent audit receipts. Verify that a CCS receipt was signed by a known signer and never tampered with: Ed25519 verification, RFC 8785 JCS canonicalization, SHA-256 content-hash recomputation and 22-field schema/tamper checks, using the vendored open-source CCS verification core. Zero network calls; only the receipt and the issuer public key are needed, private keys are never involved. Use when verifying a CCS receipt, verifying an Ed25519-signed agent decision receipt, or proving whether a signed agent-tool-call receipt was tampered after issuance.
Автономная проверка подписи Ed25519 для квитанций аудита AI-агента.
Как процесс C 54/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, ошибки и развилки
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Как улучшить
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 3
✓ Критических и высоких находок нет
Средние и низкие: 3
-
средняя Утечка данных
net-redirectable-api-keyscripts/ccs_online_client.py:58Скрипт отправляет API-ключ на хост из переменной окружения — ключ можно перенаправить на другой серверAPI key + configurable base URL from environment
-
низкая Обфускация
obf-base64-blobexamples/sample_receipt.json:70Длинный blob, похожий на base64 (определение детектора / чёрного списка; тестовый файл / пример)"signature": "O/nyP6…PnQ+HTqf…PAS+yuaK…UCw=="
детектортестовый файл -
низкая Обфускация
obf-base64-blobexamples/tampered_receipt.json:70Длинный blob, похожий на base64 (определение детектора / чёрного списка; тестовый файл / пример)"signature": "O/nyP6…PnQ+HTqf…PAS+yuaK…UCw=="
детектортестовый файл
Просканировано файлов: 10. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
✓ По спецификации Agent Skills замечаний нет
Процессный рейтинг: все десять параметров 54/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 60Инструменты и файлы. Используются инструменты (python), но во frontmatter они не объявлены
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 100Шаги. Шагов: 9
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1514 токенов
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- -35 из 6 скриптов не упомянуты в SKILL.md
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 599 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 10 заголовков
- +3Пошаговые инструкции: 9 пунктов
- +4Есть примеры (4 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 81.