BD bomb-dog-sniff
Управление навыками с приоритетом безопасности для OpenClaw — как собака-ищейка для навыков. Обнаруживает вредоносные полезные нагрузки (криптомайнеры, кейлоггеры, обратные оболочки) перед установкой. Поместить в карантин → Проверить → Установить только безопасные.
машинный переводПоказать оригиналСкрыть оригинал«Security-first skill management for OpenClaw - like a bomb-sniffing do…»
Security-first skill management for OpenClaw - like a bomb-sniffing dog for skills. Sniffs out malicious payloads (crypto stealers, keyloggers, reverse shells) before installation. Quarantine → Scan → Install only the safe ones.
Управление навыками с приоритетом безопасности для OpenClaw — как собака-ищейка для навыков.
Как процесс D 47/100 · Процесс не доведён — слабые места: когда включается, входы и предусловия, ошибки и развилки
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Назначение скилла само по себе рискованное: работа с кошельками, паролями браузера, наступательная безопасность. Даже честная реализация даёт агенту доступ к тому, что стоит денег.
Объясните в description, зачем нужен доступ и как он ограничен; добавьте тесты, которые показывают отказ на опасных запросах.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 12
✓ Критических и высоких находок нет
Средние и низкие: 12
-
средняя Рискованное назначение
intent-wallet-secretspatterns.js:28Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров// Mnemonic phrase extraction
-
средняя Опасные команды
cmd-persistencepatterns.js:227Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)/Library.*LaunchAgents/i,
строка в коде -
средняя Рискованное назначение
intent-wallet-secretsSKILL.md:89Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеровCrypto wallet private key harvesting detected
-
низкая Рискованное назначение
intent-wallet-secretspatterns.js:37Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)description: 'Crypto wallet private key harvesting detected',
в кавычках -
низкая Опасные команды
cmd-pipe-to-shellpatterns.js:161Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (определение детектора / чёрного списка; строковый литерал в коде, не выполняется; комментарий в коде)// HIGH: curl | bash patterns
детекторстрока в кодекомментарий -
низкая Опасные команды
cmd-pipe-to-shellpatterns.js:171Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (определение детектора / чёрного списка; строковый литерал в коде, не выполняется)description: 'Dangerous curl | bash pattern detected',
детекторстрока в коде -
низкая Рискованное назначение
intent-wallet-secretsscripts/scan.js:62Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)description: 'Cryptocurrency mnemonic seed phrase handling',
в кавычках -
низкая Рискованное назначение
intent-offensive-securitySKILL.md:94Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)Reverse shell or remote code execution detected
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:205Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)| **keylogger** | CRITICAL | Keyboard capture with exfiltration, clipboard theft, password field monitoring |
Ещё 3 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.
Просканировано файлов: 9. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - заметка
frontmatter-keyнеизвестное поле фронтматтера "homepage"
Процессный рейтинг: все десять параметров 47/100
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 1, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (bomb-dog-sniff) не совпадает с папкой (skill-bomb-dog-sniff)
- 60Инструменты и файлы. Используются инструменты (bash, web), но во frontmatter они не объявлены
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 100Шаги. Шагов: 84
- 100Стоимость исполнения. Тело инструкции 3301 токенов
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 16. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- -4Абсолютные локальные пути (C:\Users, /home/…): скилл не переносим
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 228 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 31 заголовков
- +3Пошаговые инструкции: 84 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (17 блоков кода)
- +3Все 2 скриптов описаны в инструкциях
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 73.