BD openclaw-security-audit
OpenClaw — инструмент для безопасного аудита: одно нажатие для выполнения системного сканирования безопасности и создания понятных отчетов. Сценарии использования: когда пользователь говорит «безопасный аудит», «проверка безопасности», «аудит безопасности», «аудит», «security audit», «проверить безопасность», «системная безопасность» и т. д. Триггеры: любые запросы, связанные с проверкой безопасности, аудитом или инспекцией OpenClaw. Зависимости для запуска: Обязательно: Node.js v18+, openclaw CLI (для управления периодическими задачами) Системные команды, вызываемые скриптом (при отсутствии соответствующих элементов проверки будет пропущено, но остальные будут работать): macOS: find, lsof, netstat, ps, last, lastb, grep, awk, cat, sudo Linux: find, ss, lsof, ps, journalctl, last, lastb, grep, awk, cat, sudo Windows: wmic, netstat, tasklist, findstr Поведение по умолчанию: локальный офлайн-режим, не создает сетевых запросов. ⚠️ Предупреждение о высоком риске --push: при активации отправляет на удаленный сервер идентификатор устройства (MAC-адрес, имя хоста, постоянный agent_id) и полный список установленных Skill'ов на этой машине, а agent_id будет сохранен на этой машине навсегда и будет использоваться повторно при каждом запуске. Флаг --push можно использовать только при ручном запуске пользователем; в периодических задачах cron категорически запрещено использовать --push, чтобы избежать долгосрочной автоматической передачи информации об устройстве. Конечные точки для отправки данных (только в режиме --push, сервис облачной разведки угроз Changeway, управляемый автором этого Skill'а): https://auth.ctct.cn:10020/changeway-open/api/pushAuditData https://auth.ctct.cn:10020/changeway-open/api/skills/assessment Описание границ данных: скрипт генерирует два поля для каждой проверки — detail (полный вывод команды, только локально сохраняется, никогда не загружается) и brief (краткое изложение результата, написанное вручную, загружается в режиме --push). Загружаемые данные data[] формируются через `JSON_DATA.map(({ item, brief }) => ({ item, brief }))` (строка 995 скрипта), явно исключая поле detail; полный outputObj, содержащий detail, записывается только на локальный диск (строка 984 скрипта). Механизм подписи: заголовок запроса X-SIGN — это шестнадцатеричное представление SHA-256(mac + hostname + timestamp + nonce), без отдельного ключа, используется только для проверки сервера на повторный ввод. Локальная запись: отчеты сканирования сохраняются в ~/.openclaw/security-reports/ (включая report-YYYY-MM-DD.txt и report.json), базовые хэши Skill'ов сохраняются в ~/.openclaw/skill-hashes/, идентификатор устройства сохраняется в ~/.openclaw/.agent-id, файл отметки первого запуска ~/.openclaw/.audit-first-run.
машинный переводПоказать оригиналСкрыть оригинал«OpenClaw 安全巡检工具,一键执行系统安全扫描并生成通俗易懂的报告。 使用场景:用户说"安全巡检"、"安全检查"、"安全审计"、"巡检…»
OpenClaw 安全巡检工具,一键执行系统安全扫描并生成通俗易懂的报告。 使用场景:用户说"安全巡检"、"安全检查"、"安全审计"、"巡检"、"security audit"、"检查安全"、"系统安全"等。 触发条件:任何与 OpenClaw 安全检测、审计、巡检相关的请求。 运行依赖: 必需:Node.js v18+、openclaw CLI(用于定时任务管理) 脚本调用的系统命令(缺失时对应检查项会 SKIP,不影响其他项): macOS:find、lsof、netstat、ps、last、lastb、grep、awk、cat、sudo Linux:find、ss、lsof、ps、journalctl、last、lastb、grep、awk、cat、sudo Windows:wmic、netstat、tasklist、findstr 默认行为:本地离线模式,不产生任何网络请求。 ⚠️ --push 高风险提示:启用后会向远端发送设备标识(MAC 地址、主机名、持久化 agent_id)和本机完整 Skill 清单,且 agent_id 会在本机永久保存并每次复用。--push 只能在用户单次手动运行时使用;cron 定时任务中严禁包含 --push,以防止设备信息被长期自动上报。 数据上报端点(仅 --push 模式,由本技能作者运营的 Changeway 云端威胁情报服务): https://auth.ctct.cn:10020/changeway-open/api/pushAuditData https://auth.ctct.cn:10020/changeway-open/api/skills/assessment 数据边界说明:脚本对每项检查生成两个字段——detail(完整命令输出,仅本地落盘,绝不上传)和 brief(人工编写的结果摘要,--push 模式下上传)。上传的 data[] 通过 `JSON_DATA.map(({ item, brief }) => ({ item, brief }))` 构造(脚本第 995 行),明确排除 detail 字段;包含 detail 的完整 outputObj 仅写入本地磁盘(脚本第 984 行)。 签名机制:请求头 X-SIGN 为 SHA-256(mac + hostname + timestamp + nonce) 的十六进制摘要,无独立密钥,仅用于服务端防重放校验。 本地写入:扫描报告保存至 ~/.openclaw/security-reports/(含 report-YYYY-MM-DD.txt 和 report.json),Skill 哈希基线保存至 ~/.openclaw/skill-hashes/,设备 ID 保存至 ~/.openclaw/.agent-id,首次运行标记文件 ~/.openclaw/.audit-first-run。
OpenClaw — инструмент для безопасного аудита: одно нажатие для выполнения системного сканирования безопасности и создания понятных отчетов.
Как процесс D 39/100 · Процесс не доведён — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Сократите description до 1024 символов.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 5
✓ Критических и высоких находок нет
Средние и низкие: 5
-
низкая Опасные команды
cmd-cron-mentionreferences/cron-setup.md:127Упоминание редактирования crontab (документация security-скилла)crontab -e # 删除相关行
security-скилл
Ещё 4 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.
Просканировано файлов: 4. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- ошибка
description-longdescription 1252 символов, лимит 1024 - предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда")
Процессный рейтинг: все десять параметров 39/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 4, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (openclaw-security-audit) не совпадает с папкой (openclaw-security-watchdog)
- 60Инструменты и файлы. Используются инструменты (node), но во frontmatter они не объявлены
- 100Шаги. Шагов: 33
- 100Стоимость исполнения. Тело инструкции 1389 токенов
- low Ответ описан самодельной разметкой (3 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 1251: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 12 заголовков
- +3Пошаговые инструкции: 33 пунктов
- +4Есть примеры (5 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (1 из 1)
- +3Все 1 скриптов описаны в инструкциях
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 51.