SKILLEMALL.ai

CC citrea-claw-skill

CLI-инструмент и навык OpenClaw для мониторинга экосистемы Citrea Bitcoin L2.

машинный переводПоказать оригиналСкрыть оригинал«A CLI tool and OpenClaw skill for monitoring the Citrea Bitcoin L2 eco…»

A CLI tool and OpenClaw skill for monitoring the Citrea Bitcoin L2 ecosystem

LeoYeAI/openclaw-master-skills Agent Skills автор: LeoYeAI MIT 17 файлов тело ≈ 892 токенов Открыть источникgithub.com проанализирован 2 дн назад

CLI-инструмент и навык OpenClaw для мониторинга экосистемы Citrea Bitcoin L2.

Как процесс C 57/100 · Есть пробелы — слабые места: результат и критерий готовности, входы и предусловия, ошибки и развилки

ИнтеграцияИнфраструктуратип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
C
62/100
безопасность, качество, тесты
Безопасность 60%
62
Качество 40%
63
Прогон на моделях
не было
Процессный рейтинг
C
57/100
Есть пробелы
Результат и критерий готовности вес 14
0
Входы и предусловия вес 11
0
Ошибки и развилки вес 10
0
три самых слабых из десяти параметров · все десять

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

Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.

Утечка данных средняя серьёзность

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

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

Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».

Автору

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

Как улучшить

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

Находки guard · 34

✓ Критических и высоких находок нет

Средние и низкие: 34
  • средняя Утечка данных net-credential-use src/lib/telegram.js:11
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
    const res = await fetch(`https://api.telegram.org/bot${token}/sendMessage`, {
  • низкая Секреты в коде secret-high-entropy-token package-lock.json:25
    Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)
    "integrity": "sha5…p81+8Ob3…L40/b0i7…gQw==",
    детектор
  • низкая Секреты в коде secret-high-entropy-token package-lock.json:87
    Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)
    "integrity": "sha512-+lF0B…kdX+94aG…d8c+B3KT…U6A==",
    детектор
  • низкая Секреты в коде secret-high-entropy-token package-lock.json:214
    Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)
    "integrity": "sha5…CzX+oOPq…N14+GARU…vzg==",
    детектор
  • низкая Утечка данных read-dotenv README.md:39
    Чтение файла .env
    cp .env.example .env
  • низкая Утечка данных read-dotenv SETUP.md:22
    Чтение файла .env
    cp .env.example .env
  • низкая Секреты в коде secret-high-entropy-token src/commands/arb.js:30
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    const JUICESWAP_FACTORY = '0xd8…e82'
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/arb.js:31
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    const SATSUMA_FACTORY   = '0x10…ACb'
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/arb.js:36
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    '0x09…35c': '0x1b…97d',
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/arb.js:45
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    'ctusd':  { symbol: 'ctUSD',  address: '0x8D…d5D', decimals: 18 },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/arb.js:47
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    'usdc.e': { symbol: 'USDC.e', address: '0xE0…839', decimals: 6  },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/balance.js:21
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    { symbol: 'ctUSD',  address: '0x8D…d5D', decimals: 18 },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/balance.js:23
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    { symbol: 'USDC.e', address: '0xE0…839', decimals: 6  },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/balance.js:24
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    { symbol: 'USDT.e', address: '0x9f…dc4', decimals: 6  },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/balance.js:25
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    { symbol: 'WBTC.e', address: '0xDF…A3d', decimals: 8  },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/balance.js:26
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    { symbol: 'JUSD',   address: '0x09…35C', decimals: 18 },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/liquidity.js:20
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    const JUICESWAP_FACTORY = '0xd8…e82'
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/liquidity.js:21
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    const SATSUMA_FACTORY   = '0x10…ACb'
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/liquidity.js:26
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    'ctusd':  { symbol: 'ctUSD',  address: '0x8D…d5D', decimals: 18 },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/liquidity.js:28
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    'usdc.e': { symbol: 'USDC.e', address: '0xE0…839', decimals: 6  },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/liquidity.js:29
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    'usdc':   { symbol: 'USDC.e', address: '0xE0…839', decimals: 6  },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/pools.js:22
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    factory: '0xd8…e82',
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/pools.js:27
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    factory: '0x10…ACb',
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/prices-cli.js:15
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    { symbol: 'ctUSD',  address: '0x8D…d5D', decimals: 18 },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/prices-cli.js:17
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    { symbol: 'USDC.e', address: '0xE0…839', decimals: 6  },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/prices-cli.js:18
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    { symbol: 'USDT.e', address: '0x9f…dc4', decimals: 6  },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/prices-cli.js:19
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    { symbol: 'WBTC.e', address: '0xDF…A3d', decimals: 8  },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/prices-cli.js:20
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    { symbol: 'JUSD',   address: '0x09…35C', decimals: 18 },
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/txns.js:21
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    '0x1b…e2a': 'JuiceSwap',
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/commands/txns.js:22
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    '0x30…5cb': 'Satsuma',
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/lib/prices.js:19
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    BTC:  '0xc5…f09',
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/lib/prices.js:20
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    USDC: '0xf0…6d3',
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token src/lib/prices.js:21
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    USDT: '0x4a…a78',
    в кавычках
  • низкая Утечка данных exfil-webhook-url src/lib/telegram.js:11
    URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)
    const res = await fetch(`https://api.telegram.org/bot${token}/sendMessage`, {
    заглушка

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

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

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

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

  • 0Результат и критерий готовности. Не сказано, что считать результатом
  • 0Входы и предусловия. Не сказано, что нужно иметь на входе
  • 0Ошибки и развилки. Линейный процесс без обработки сбоев
  • 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
  • 30Повторный запуск. Изменяющих операций: 7, без проверки текущего состояния
  • 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
  • 100Инструменты и файлы. Внешние инструменты не нужны
  • 100Шаги. Шагов: 27
  • 100Согласованность. Имя и обязательные поля на месте
  • 100Стоимость исполнения. Тело инструкции 892 токенов
  • low Ответ описан самодельной разметкой (5 тегов): типизированный вызов надёжнее

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

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

  • +5В description нет примеров фраз, по которым скилл должен срабатывать
  • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
  • +3Длина description 76: рекомендуется 120–800 символов
  • +3Формат ответа не описан: модель каждый раз решает сама
  • +4Нет примеров входа/выхода
  • +1Лицензия не указана
  • +2Инструкции на одном языке
  • +4Структура: 17 заголовков
  • +3Пошаговые инструкции: 27 пунктов

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