SKILLEMALL.ai

CD clawcast

Навык для управления кошельками EVM, транзакциями и сетевыми вспомогательными инструментами через cast; охватывает онбординг, проверки и рабочие процедуры.

машинный переводПоказать оригиналСкрыть оригинал«Skill for managing EVM wallets, transactions, and network helpers via…»

Skill for managing EVM wallets, transactions, and network helpers via cast; covers onboarding, checks, and operating procedures.

Не рекомендуетсяесть критические или высокие находки безопасности
modbender/skill-library-mcp Agent Skills автор: modbender MIT 15 файлов · 11 скриптов тело ≈ 2 908 токенов Открыть источникgithub.com проанализирован 2 дн назад

Навык для управления кошельками EVM, транзакциями и сетевыми вспомогательными инструментами через cast; охватывает онбординг, проверки и рабочие процедуры.

Как процесс D 47/100 · Процесс не доведён — слабые места: результат и критерий готовности, когда включается, входы и предусловия

ПроцедураИИ и агентытип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
C
65/100
безопасность, качество, тесты
Безопасность 60%
64
Качество 40%
67
Прогон на моделях
не было
Процессный рейтинг
D
47/100
Процесс не доведён
Результат и критерий готовности вес 14
0
Входы и предусловия вес 11
0
Когда включается вес 12
20
три самых слабых из десяти параметров · все десять

Чем это грозит

Скилл содержит фрагменты, которые в чужих руках стоят денег или данных. Ниже, что рискует потерять тот, кто установит, и что должен сделать автор.

Опасные команды
Если установить

Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.

Автору

Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.

Рискованное назначение средняя серьёзность

Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.

Если установить

Назначение скилла само по себе рискованное: работа с кошельками, паролями браузера, наступательная безопасность. Даже честная реализация даёт агенту доступ к тому, что стоит денег.

Автору

Объясните в description, зачем нужен доступ и как он ограничен; добавьте тесты, которые показывают отказ на опасных запросах.

Как улучшить

  1. Разберите находки высокой серьёзности: каждая стоит 18 баллов безопасности. Если это ложное срабатывание, добавьте код правила в guard.allow в spec.yaml.
  2. Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
Для прогона на моделях — необязательно
  • Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
  • spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.

Находки guard · 11

  • высокая Опасные команды cmd-pipe-to-shell scripts/01_install_cast.sh:19
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell)
    curl -L https://foundry.paradigm.xyz | bash
Средние и низкие: 10
  • средняя Опасные команды cmd-privilege scripts/02_wallet.sh:57
    Повышение привилегий / права на запись для всех
    if ! sudo sh -c "$installer > /tmp/at-install.log 2>&1"; then
  • средняя Рискованное назначение intent-wallet-secrets SKILL.md:40
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров
    3. Password — only ask for the keystore password once (there is no confirmation prompt, no save/remember question, and the account name is forced to “agent”). The script saves that password to the loc
  • низкая Секреты в коде secret-high-entropy-token assets/evm-network-tokens.json:24
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    "address": "0xC0…Cc2",
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token assets/evm-network-tokens.json:30
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    "address": "0xA0…B48",
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token assets/evm-network-tokens.json:36
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    "address": "0xdA…ec7",
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token assets/evm-network-tokens.json:61
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    "address": "0x82…ab1",
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token assets/evm-network-tokens.json:67
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    "address": "0xaf…831",
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets scripts/03_password.sh:23
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    echo "This password encrypts the keystore file."
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets scripts/03_password.sh:69
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    err "Could not locate created keystore file in ${FOUNDRY_KEYSTORE_DIR}."
    в кавычках
  • низкая Рискованное назначение intent-wallet-secrets SKILL.md:39
    Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)
    2. Key material — before running the wallet step, ask whether they want to create a new hot keypair, import a 12/24-word MetaMask-compatible mnemonic (`m/44'/60'/0'/0/0`), or import a private key. Col
    в кавычках

Просканировано файлов: 15. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.

По спецификации Agent Skills

  • предупреждение description-no-when description не говорит, КОГДА применять скилл (нет "use when / используй когда")

Процессный рейтинг: все десять параметров 47/100

  • 0Результат и критерий готовности. Не сказано, что считать результатом
  • 0Входы и предусловия. Не сказано, что нужно иметь на входе
  • 20Когда включается. Не сказано, при каком запросе скилл включается
  • 40Согласованность. Имя во frontmatter (clawcast) не совпадает с папкой (cast)
  • 60Инструменты и файлы. Используются инструменты (bash, web, node), но во frontmatter они не объявлены
  • 60Шаги. Шагов: 35, расплывчатых формулировок: 4
  • 100Ошибки и развилки. Развилок: 2, есть раздел про ошибки
  • 100Стоимость исполнения. Тело инструкции 2908 токенов
  • 100Повторный запуск. Изменяющие операции проверяют текущее состояние
  • 100Отчётность по ходу. Скилл сообщает о ходе работы
  • low Ответ описан самодельной разметкой (8 тегов): типизированный вызов надёжнее

Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.

Сигналы качества

  • +5В description нет примеров фраз, по которым скилл должен срабатывать
  • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
  • +3Формат ответа не описан: модель каждый раз решает сама
  • +4Нет примеров входа/выхода
  • -36 из 11 скриптов не упомянуты в SKILL.md
  • +1Лицензия не указана
  • +3Длина description 128 символов: достаточно сигнала, не съедает бюджет
  • +4Структура: 6 заголовков
  • +3Пошаговые инструкции: 35 пунктов
  • +2Инструкции двуязычные (RU + EN)

База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 67.