BF eth-readonly
Запросы к блокчейну Ethereum только для чтения — блоки, транзакции, балансы, контракты, логи через API RPC и Etherscan
машинный переводПоказать оригиналСкрыть оригинал«Read-only Ethereum blockchain queries — blocks, transactions, balances…»
Read-only Ethereum blockchain queries — blocks, transactions, balances, contracts, logs via RPC and Etherscan APIs
Запросы к блокчейну Ethereum только для чтения — блоки, транзакции, балансы, контракты, логи через API RPC и Etherscan
Как процесс F 33/100 · Не запустится — слабые места: шаги, результат и критерий готовности, когда включается
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 15
✓ Критических и высоких находок нет
Средние и низкие: 15
-
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:101Строка, похожая на токен (может быть id, хеш или секрет)cast balance 0xd8…045 --rpc-url $ETH_RPC_URL
-
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:107Строка, похожая на токен (может быть id, хеш или секрет)cast code 0xA0…5E3 --rpc-url $ETH_RPC_URL # USDC
-
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:111Строка, похожая на токен (может быть id, хеш или секрет)cast lookup-address 0xd8…045 --rpc-url $ETH_RPC_URL
-
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:124Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)-d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xd8…045","latest"],"id":1}'в кавычках -
низкая Утечка данных
exfil-secret-in-urlSKILL.md:184Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (определение детектора / чёрного списка; хост вендора самого скилла)curl -s "https://api.etherscan.io/api?module=…&action=…&apikey=…" | jq '.result'
детекторvendor-host -
низкая Утечка данных
net-credential-useSKILL.md:184Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (хост вендора самого скилла)curl -s "https://api.etherscan.io/api?module=…&action=…&apikey=…" | jq '.result'
vendor-host -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:197Строка, похожая на токен (может быть id, хеш или секрет)cast logs 0xA0…5E3 --from-block 19000000 --to-block 19001000 \
-
низкая Утечка данных
exfil-secret-in-urlSKILL.md:217Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (определение детектора / чёрного списка; хост вендора самого скилла)curl -s "https://api.etherscan.io/api?module=…&action=…&address=…&apikey=…" | jq '.result[0].SourceCode'
детекторvendor-host -
низкая Утечка данных
net-credential-useSKILL.md:217Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (хост вендора самого скилла)curl -s "https://api.etherscan.io/api?module=…&action=…&address=…&apikey=…" | jq '.result[0].SourceCode'
vendor-host -
низкая Утечка данных
exfil-secret-in-urlSKILL.md:220Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (хост вендора самого скилла; в кавычках — упоминание, а не команда)curl -s "https://api.etherscan.io/api?module=…&action=…&address=…&apikey=…"
vendor-hostв кавычках -
низкая Утечка данных
net-credential-useSKILL.md:220Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (хост вендора самого скилла)curl -s "https://api.etherscan.io/api?module=…&action=…&address=…&apikey=…"
vendor-host -
низкая Утечка данных
exfil-secret-in-urlSKILL.md:226Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (хост вендора самого скилла; в кавычках — упоминание, а не команда)curl -s "https://api.etherscan.io/api?module=…&action=…&address=…&startblock=0&endblock=…&page=1&offset=10&sort=desc&apikey=…
vendor-hostв кавычках -
низкая Утечка данных
net-credential-useSKILL.md:226Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (хост вендора самого скилла)curl -s "https://api.etherscan.io/api?module=…&action=…&address=…&startblock=0&endblock=…&page=1&offset=10&sort=desc&apikey=…
vendor-host -
низкая Утечка данных
exfil-secret-in-urlSKILL.md:229Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (хост вендора самого скилла; в кавычках — упоминание, а не команда)curl -s "https://api.etherscan.io/api?module=…&action=…&address=…&page=1&offset=10&sort=desc&apikey=…" | jq '.result[] | {tokenNamvendor-hostв кавычках -
низкая Утечка данных
net-credential-useSKILL.md:229Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (хост вендора самого скилла)curl -s "https://api.etherscan.io/api?module=…&action=…&address=…&page=1&offset=10&sort=desc&apikey=…" | jq '.result[] | {tokenNamvendor-host
Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - заметка
frontmatter-keyнеизвестное поле фронтматтера "homepage"
Процессный рейтинг: все десять параметров 33/100
- 0Шаги. Инструкция сплошным текстом, шаги не выделены
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 60Инструменты и файлы. Используются инструменты (web), но во frontmatter они не объявлены
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1947 токенов
- 100Повторный запуск. Изменяющих операций нет
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 10. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 114: рекомендуется 120–800 символов
- +3Нет пошаговых инструкций или чек-листа
- +3Формат ответа не описан: модель каждый раз решает сама
- -2Ссылки на localhost: у другого пользователя не заработает
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 20 заголовков
- +4Есть примеры (24 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 63.