BC drain-mcp
MCP-сервер для торговой площадки AI Handshake58. Агенты обнаруживают поставщиков, открывают платежные каналы USDC на Polygon и вызывают AI-сервисы — оплата по мере использования с помощью подписанных офчейн-ваучеров. Без API-ключей, без подписок.
машинный переводПоказать оригиналСкрыть оригинал«MCP server for the Handshake58 AI marketplace. Agents discover provide…»
MCP server for the Handshake58 AI marketplace. Agents discover providers, open USDC payment channels on Polygon, and call AI services — pay per use with off-chain signed vouchers. No API keys, no subscriptions.
MCP-сервер для торговой площадки AI Handshake58.
Как процесс C 59/100 · Есть пробелы — слабые места: когда включается, входы и предусловия, ошибки и развилки
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Назначение скилла само по себе рискованное: работа с кошельками, паролями браузера, наступательная безопасность. Даже честная реализация даёт агенту доступ к тому, что стоит денег.
Объясните в description, зачем нужен доступ и как он ограничен; добавьте тесты, которые показывают отказ на опасных запросах.
Как улучшить
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 6
✓ Критических и высоких находок нет
Средние и низкие: 6
-
средняя Рискованное назначение
intent-wallet-secretsskill-card.md:20Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеровRisk: The external MCP package can use a wallet private key to authorize spending from the configured Polygon wallet. <br>
-
средняя Рискованное назначение
intent-wallet-secretsskill-card.md:21Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеровMitigation: Use a fresh low-balance wallet dedicated to this skill and never provide a main wallet or seed phrase. <br>
-
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:137Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)await usdc.approve('0x1C…e64', amount);в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:179Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)to: '0x1C…e64',
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:230Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)- **Handshake58 Channel**: `0x1C…e64`
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:231Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)- **USDC**: `0x3c…359`
в кавычках
Просканировано файлов: 2. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- заметка
frontmatter-keyнеизвестное поле фронтматтера "homepage"
Процессный рейтинг: все десять параметров 59/100
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 7, без проверки текущего состояния
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Шаги. Шагов: 28
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 2306 токенов
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 12. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +2Инструкции на одном языке
- +3Длина description 210 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 19 заголовков
- +3Пошаговые инструкции: 28 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (9 блоков кода)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 87.