SKILLEMALL.ai

FC lobsterguard

Двуязычный аудитор безопасности для OpenClaw. 68 проверок по 6 категориям, 11 автоматических исправлений, охват OWASP Agentic AI Top 10, криминалистическое обнаружение, перехват угроз в реальном времени и управляемое усиление безопасности.

машинный переводПоказать оригиналСкрыть оригинал«Bilingual security auditor for OpenClaw. 68 checks across 6 categories…»

Bilingual security auditor for OpenClaw. 68 checks across 6 categories, 11 auto-fixes, OWASP Agentic AI Top 10 coverage, forensic detection, real-time threat interception, and guided hardening.

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

Двуязычный аудитор безопасности для OpenClaw.

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

АнализаторTelegramDockerИнфраструктураИИ и агентыБезопасностьтип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
F
29/100
безопасность, качество, тесты
Безопасность 60%
0
Качество 40%
73
Прогон на моделях
не было
Процессный рейтинг
C
60/100
Есть пробелы
Результат и критерий готовности вес 14
0
Входы и предусловия вес 11
0
Когда включается вес 12
20
три самых слабых из десяти параметров · все десять

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

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

Утечка данных
Если установить

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

Автору

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

Опасные команды средняя серьёзность

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

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

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

Автору

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

Как улучшить

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

Находки guard · 52

  • высокая Утечка данных exfil-post-credential-file scripts/check.py:58
    Загрузка файла с учётными данными на удалённый сервер (определение детектора / чёрного списка)
    r"curl.*-d.*\.env",                    # Credential exfiltration via curl
    детектор
Средние и низкие: 51
  • средняя Опасные команды cmd-persistence install.sh:201
    Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)
    su - "$OC_USER" -c "(crontab -l 2>/dev/null; echo '$CRON_LINE') | crontab -"
    строка в коде
  • средняя Опасные команды cmd-persistence scripts/check.py:1558
    Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)
    ("ls /etc/cron.daily/*backup* 2>/dev/null", "daily backup script"),
    строка в коде
  • средняя Опасные команды cmd-persistence scripts/check.py:1793
    Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)
    ("ls /etc/cron.d/ 2>/dev/null", "cron.d directory"),
    строка в коде
  • средняя Опасные команды cmd-persistence scripts/check.py:1817
    Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (комментарий в коде)
    # Check /etc/cron.d for unusual files
    комментарий
  • средняя Опасные команды cmd-persistence scripts/check.py:1818
    Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)
    cron_d_stdout, _, _ = run_command("ls -la /etc/cron.d/ 2>/dev/null")
    строка в коде
  • средняя Опасные команды cmd-pipe-to-shell scripts/check.py:4215
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строковый литерал в коде, не выполняется)
    "   curl -fsSL https://get.docker.com | sudo sh",
    строка в коде
  • средняя Опасные команды cmd-pipe-to-shell scripts/check.py:4240
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строковый литерал в коде, не выполняется)
    "   curl -fsSL https://get.docker.com | sudo sh",
    строка в коде
  • средняя Опасные команды cmd-persistence scripts/fix_engine.py:720
    Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)
    "command": "(crontab -l 2>/dev/null; echo '0 2 * * * ~/.openclaw/backup.sh') | crontab -",
    строка в коде
  • средняя Утечка данных exfil-webhook-url scripts/telegram_utils.py:60
    URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (в кавычках — упоминание, а не команда)
    url = f"https://api.telegram.org/bot{bot_token}/sendMessage"
    в кавычках
  • низкая Опасные команды cmd-privilege docs/docker-setup-guide.md:35
    Повышение привилегий / права на запись для всех (документация security-скилла)
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    security-скилл
  • низкая Опасные команды cmd-privilege docs/docker-setup-guide.md:41
    Повышение привилегий / права на запись для всех (документация security-скилла)
    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    security-скилл
  • низкая Опасные команды cmd-privilege docs/docker-setup-guide.md:179
    Повышение привилегий / права на запись для всех (документация security-скилла)
    sudo bash install.sh
    security-скилл
  • низкая Опасные команды cmd-privilege install.sh:35
    Повышение привилегий / права на запись для всех (строковый литерал в коде, не выполняется)
    log_info "Uso: sudo bash install.sh"
    строка в коде
  • низкая Опасные команды cmd-cron-mention install.sh:198
    Упоминание редактирования crontab (строковый литерал в коде, не выполняется)
    if su - "$OC_USER" -c "crontab -l 2>/dev/null" | grep -q "cleanup.py"; then
    строка в коде
  • низкая Опасные команды cmd-cron-mention install.sh:201
    Упоминание редактирования crontab (строковый литерал в коде, не выполняется)
    su - "$OC_USER" -c "(crontab -l 2>/dev/null; echo '$CRON_LINE') | crontab -"
    строка в коде
  • низкая Опасные команды cmd-cron-mention install.sh:255
    Упоминание редактирования crontab (строковый литерал в коде, не выполняется)
    if su - "$OC_USER" -c "crontab -l 2>/dev/null" | grep -q "cleanup.py"; then
    строка в коде
  • низкая Опасные команды cmd-cron-mention install.sh:256
    Упоминание редактирования crontab (определение детектора / чёрного списка; строковый литерал в коде, не выполняется)
    su - "$OC_USER" -c "crontab -l 2>/dev/null | grep -v cleanup.py | crontab -"
    детекторстрока в коде
  • низкая Опасные команды cmd-privilege install.sh:302
    Повышение привилегий / права на запись для всех (строковый литерал в коде, не выполняется)
    printf "  ${YELLOW}Desinstalar: sudo bash install.sh --uninstall${NC}\n\n"
    строка в коде
  • низкая Опасные команды cmd-privilege README.es.md:78
    Повышение привилегий / права на запись для всех (документация security-скилла)
    sudo bash install.sh
    security-скилл
  • низкая Опасные команды cmd-privilege README.es.md:94
    Повышение привилегий / права на запись для всех (документация security-скилла)
    sudo bash install.sh --uninstall
    security-скилл
  • низкая Опасные команды cmd-privilege README.md:78
    Повышение привилегий / права на запись для всех (документация security-скилла)
    sudo bash install.sh
    security-скилл
  • низкая Опасные команды cmd-privilege README.md:94
    Повышение привилегий / права на запись для всех (документация security-скилла)
    sudo bash install.sh --uninstall
    security-скилл
  • низкая Опасные команды cmd-privilege scripts/check.py:802
    Повышение привилегий / права на запись для всех (строковый литерал в коде, не выполняется)
    "  echo 'PermitRootLogin no' | sudo tee /etc/ssh/sshd_config.d/99-n…onf",
    строка в коде
  • низкая Опасные команды cmd-privilege scripts/check.py:820
    Повышение привилегий / права на запись для всех (строковый литерал в коде, не выполняется)
    "  echo 'PermitRootLogin no' | sudo tee /etc/ssh/sshd_config.d/99-n…onf",
    строка в коде
  • низкая Опасные команды cmd-privilege scripts/check.py:868
    Повышение привилегий / права на запись для всех (строковый литерал в коде, не выполняется)
    "   echo 'PasswordAuthentication no' | sudo tee /etc/ssh/sshd_config.d/99-n…onf",
    строка в коде
  • низкая Опасные команды cmd-privilege scripts/check.py:874
    Повышение привилегий / права на запись для всех (строковый литерал в коде, не выполняется)
    "   echo 'PasswordAuthentication no' | sudo tee /etc/ssh/sshd_config.d/99-n…onf",
    строка в коде
  • низкая Опасные команды cmd-background-process scripts/check.py:985
    Запуск фонового / автозапускаемого процесса (строковый литерал в коде, не выполняется)
    "  sudo systemctl enable fail2ban",
    строка в коде
  • низкая Опасные команды cmd-background-process scripts/check.py:993
    Запуск фонового / автозапускаемого процесса (строковый литерал в коде, не выполняется)
    "  sudo systemctl enable fail2ban",
    строка в коде
  • низкая Опасные команды cmd-privilege scripts/check.py:1107
    Повышение привилегий / права на запись для всех (строковый литерал в коде, не выполняется)
    "  sudo cp -r ~/.openclaw /home/openclaw/.openclaw",
    строка в коде
  • низкая Опасные команды cmd-background-process scripts/check.py:1391
    Запуск фонового / автозапускаемого процесса (строковый литерал в коде, не выполняется)
    "  sudo systemctl enable fail2ban",
    строка в коде
  • низкая Опасные команды cmd-background-process scripts/check.py:1397
    Запуск фонового / автозапускаемого процесса (строковый литерал в коде, не выполняется)
    "  sudo systemctl enable fail2ban",
    строка в коде
  • низкая Опасные команды cmd-cron-mention scripts/check.py:1555
    Упоминание редактирования crontab (строковый литерал в коде, не выполняется)
    ("crontab -l 2>/dev/null | grep -i 'backup\\|rsync\\|tar\\|borg\\|restic\\|duplicity'", "cron backup job"),
    строка в коде
  • низкая Опасные команды cmd-cron-mention scripts/check.py:1588
    Упоминание редактирования crontab (строковый литерал в коде, не выполняется)
    "  sudo crontab -e",
    строка в коде
  • низкая Опасные команды cmd-cron-mention scripts/check.py:1600
    Упоминание редактирования crontab (строковый литерал в коде, не выполняется)
    "  sudo crontab -e",
    строка в коде
  • низкая Опасные команды cmd-cron-mention scripts/check.py:1792
    Упоминание редактирования crontab (определение детектора / чёрного списка; строковый литерал в коде, не выполняется)
    ("crontab -l 2>/dev/null", "root crontab"),
    детекторстрока в коде
  • низкая Опасные команды cmd-cron-mention scripts/check.py:1797
    Упоминание редактирования crontab (строковый литерал в коде, не выполняется)
    stdout, _, code = run_command("crontab -l 2>/dev/null")
    строка в коде
  • низкая Опасные команды cmd-background-process scripts/check.py:6144
    Запуск фонового / автозапускаемого процесса (строковый литерал в коде, не выполняется)
    "  sudo systemctl enable auditd",
    строка в коде
  • низкая Опасные команды cmd-privilege scripts/fix_engine.py:302
    Повышение привилегий / права на запись для всех (строковый литерал в коде, не выполняется)
    "command": "sudo bash -c 'XDG_RUNTIME_DIR=/run/user/0 systemctl --user is-active openclaw-gateway' && sudo bash -c 'XDG_RUNTIME_DIR=/run/user/0 systemctl --user stop openclaw-gateway' && sudo kill $(p
    строка в коде
  • низкая Опасные команды cmd-privilege scripts/fix_engine.py:304
    Повышение привилегий / права на запись для всех (определение детектора / чёрного списка; строковый литерал в коде, не выполняется)
    "rollback": "sudo bash -c 'XDG_RUNTIME_DIR=/run/user/0 systemctl --user start openclaw-gateway'",
    детекторстрока в коде
  • низкая Опасные команды cmd-privilege scripts/fix_engine.py:313
    Повышение привилегий / права на запись для всех (строковый литерал в коде, не выполняется; демонстрация атаки / пример)
    "command": f"sudo rm -f /root/.config/systemd/user/openclaw-gateway.service && sudo rm -f /root/.config/systemd/user/default.target.wants/openclaw-gateway.service && sudo bash -c 'XDG_RUNTIME_DIR=/run
    строка в кодедемонстрация
  • низкая Опасные команды cmd-privilege scripts/fix_engine.py:315
    Повышение привилегий / права на запись для всех (строковый литерал в коде, не выполняется; демонстрация атаки / пример)
    "rollback": f"sudo bash -c 'mkdir -p /root/.config/systemd/user/default.target.wants'",
    строка в кодедемонстрация
  • низкая Опасные команды cmd-privilege scripts/fix_engine.py:324
    Повышение привилегий / права на запись для всех (определение детектора / чёрного списка; строковый литерал в коде, не выполняется)
    "command": f"mkdir -p {target_openclaw} && sudo bash -c 'cp -r /root/.openclaw/* {target_openclaw}/' && sudo chown -R {target_user}:{target_user} {target_openclaw}",
    детекторстрока в коде
  • низкая Опасные команды cmd-disable-security scripts/fix_engine.py:661
    Отключение средства защиты (Defender, Gatekeeper, SIP, firewall, execution policy) (определение детектора / чёрного списка; строковый литерал в коде, не выполняется)
    "rollback": "ufw disable",
    детекторстрока в коде
  • низкая Опасные команды cmd-cron-mention scripts/fix_engine.py:720
    Упоминание редактирования crontab (строковый литерал в коде, не выполняется)
    "command": "(crontab -l 2>/dev/null; echo '0 2 * * * ~/.openclaw/backup.sh') | crontab -",
    строка в коде
  • низкая Опасные команды cmd-cron-mention scripts/fix_engine.py:721
    Упоминание редактирования crontab (строковый литерал в коде, не выполняется)
    "validation": "crontab -l 2>/dev/null | grep -q backup",
    строка в коде
  • низкая Опасные команды cmd-cron-mention scripts/fix_engine.py:722
    Упоминание редактирования crontab (определение детектора / чёрного списка; строковый литерал в коде, не выполняется)
    "rollback": "crontab -l | grep -v backup.sh | crontab -",
    детекторстрока в коде
  • низкая Опасные команды cmd-background-process scripts/fix_engine.py:881
    Запуск фонового / автозапускаемого процесса (строковый литерал в коде, не выполняется)
    "command": "sudo systemctl enable auditd && sudo systemctl start auditd",
    строка в коде
  • низкая Опасные команды cmd-background-process scripts/fix_engine.py:1224
    Запуск фонового / автозапускаемого процесса (строковый литерал в коде, не выполняется)
    "command": "sudo systemctl enable openclaw",
    строка в коде
  • низкая Утечка данных exfil-webhook-url scripts/quarantine_watcher.py:19
    URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)
    TELEGRAM_API_URL = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
    заглушка
  • низкая Утечка данных exfil-webhook-url scripts/skill_scanner.py:350
    URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)
    f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage",
    заглушка

Ещё 1 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.

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

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

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

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

  • 0Результат и критерий готовности. Не сказано, что считать результатом
  • 0Входы и предусловия. Не сказано, что нужно иметь на входе
  • 20Когда включается. Не сказано, при каком запросе скилл включается
  • 30Повторный запуск. Изменяющих операций: 3, без проверки текущего состояния
  • 85Шаги. Шагов: 60, расплывчатых формулировок: 3
  • 100Инструменты и файлы. Внешние инструменты не нужны
  • 100Ошибки и развилки. Развилок: 2, есть раздел про ошибки
  • 100Согласованность. Имя и обязательные поля на месте
  • 100Стоимость исполнения. Тело инструкции 1673 токенов
  • 100Отчётность по ходу. Скилл сообщает о ходе работы
  • medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
  • low Разделов верхнего уровня: 10. Похоже на несколько доменов в одном скилле

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

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

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

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