BC ops-maintenance
Инструмент для системного администрирования v3.3.10 — локальный/удаленный/кластерный мониторинг (проверка работоспособности, анализ логов, мониторинг производительности, пакетные операции, проверка срока действия паролей, уведомления об ошибках, плановые проверки, проверка Docker, SSL-сертификаты, аудит безопасности, диагностика сети)
машинный переводПоказать оригиналСкрыть оригинал«运维助手 v3.3.10 - 本地/远程/集群监控 (健康检查、日志分析、性能监控、批量操作、密码过期检查、告警通知、定时巡检、Docker…»
运维助手 v3.3.10 - 本地/远程/集群监控 (健康检查、日志分析、性能监控、批量操作、密码过期检查、告警通知、定时巡检、Docker健康、SSL证书、安全审计、网络诊断)
Инструмент для системного администрирования v3.3.10 — локальный/удаленный/кластерный мониторинг (проверка работоспособности, анализ логов, мониторинг…
Как процесс C 53/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 3
✓ Критических и высоких находок нет
Средние и низкие: 3
-
средняя Утечка данных
exfil-read-secret-filesdist/core/usecases/PasswordCheckUseCase.js:48Чтение файлов с учётными данными / секретами (в кавычках — упоминание, а не команда)const usersOutput = await this.ssh.execute(server, 'cat /etc/shadow 2>/dev/null | cut -d: -f1 | grep -v "^[$!*]$" | head -20');
в кавычках -
низкая Секреты в коде
secret-password-literaldist/config/validator.js:18Захардкоженный пароль / ключ (возможно, пример)password: zod_…ing().optional(),
-
низкая Секреты в коде
secret-password-literalSKILL.md:119Захардкоженный пароль / ключ (возможно, пример)- password: 远程密码过期检查(v3.3.8新增)
Просканировано файлов: 80. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - заметка
frontmatter-keyнеизвестное поле фронтматтера "userInvocable" - заметка
frontmatter-keyнеизвестное поле фронтматтера "argumentHint" - заметка
frontmatter-keyнеизвестное поле фронтматтера "allowedTools"
Процессный рейтинг: все десять параметров 53/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 100Инструменты и файлы. Инструменты объявлены во frontmatter
- 100Шаги. Шагов: 85
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1598 токенов
- 100Повторный запуск. Изменяющих операций нет
- low Разделов верхнего уровня: 16. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 89: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- -221 эмодзи в инструкциях: шум для модели
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 64 заголовков
- +3Пошаговые инструкции: 85 пунктов
- +4Есть примеры (31 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 64.