CA wei-devils-advocate
Проверяйте идеи, используя несколько LLM в роли противников для генерации контраргументов, перекрестной проверки рассуждений и выявления скрытых рисков и сценариев отказа.
машинный переводПоказать оригиналСкрыть оригинал«Stress-test ideas using multiple LLMs in adversarial roles to generate…»
Stress-test ideas using multiple LLMs in adversarial roles to generate counterarguments, cross-check reasoning, and expose hidden risks and failure modes. 易找茬:通过多模型对抗式分析与交叉验证,从不同视角生成反对意见并揭示潜在风险。
Проверяйте идеи, используя несколько LLM в роли противников для генерации контраргументов, перекрестной проверки рассуждений и выявления скрытых рисков и…
Как процесс A 80/100 · Дойдёт до конца — слабые места: повторный запуск, отчётность по ходу
Чем это грозит
Скилл содержит фрагменты, которые в чужих руках стоят денег или данных. Ниже, что рискует потерять тот, кто установит, и что должен сделать автор.
В тексте есть фразы вроде «игнорируй предыдущие инструкции» или «теперь ты…». Это попытка перехватить управление агентом: он может нарушить ваши правила, системные ограничения или политику компании.
Такие фразы не нужны честному скиллу: сформулируйте роль и правила прямо, без отмены чужих инструкций. Иначе сканеры каталогов и корпоративные фильтры заблокируют публикацию.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Как улучшить
- Разберите находки высокой серьёзности: каждая стоит 18 баллов безопасности. Если это ложное срабатывание, добавьте код правила в guard.allow в spec.yaml.
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 10
-
высокая Подмена инструкций
en-ignore-previousscripts/agent.ts:286Фраза-перехват ("ignore previous instructions")/ignore previous instructions/gi,
Средние и низкие: 9
-
средняя Утечка данных
net-redirectable-api-keyscripts/clients/bailian.ts:148Скрипт отправляет API-ключ на хост из переменной окружения — ключ можно перенаправить на другой серверAPI key + configurable base URL from environment
-
средняя Утечка данных
net-redirectable-api-keyscripts/clients/openai_compliant.ts:178Скрипт отправляет API-ключ на хост из переменной окружения — ключ можно перенаправить на другой серверAPI key + configurable base URL from environment
-
средняя Утечка данных
net-redirectable-api-keyscripts/clients/openrouter.ts:132Скрипт отправляет API-ключ на хост из переменной окружения — ключ можно перенаправить на другой серверAPI key + configurable base URL from environment
-
средняя Опасные команды
cmd-pipe-to-shell-known-hostSKILL.md:49Установщик через pipe в shell с известного хоста (всё равно выполняет удалённый код)curl -fsSL https://bun.sh/install | bash
-
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:26Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…7pY+zoMV…h0x/Ptw8…8dg==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:43Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…b00+Gxjx…zRc/oZwU…hzA==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:111Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha512-vHk/hA7/1Ack…wbo+jaSh…Gtl+A5zq…HFg==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:145Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…Dsc+j03S…0oA==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:434Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…NS8+tHW7…WOF+PEzk…X4Q==",
детектор
Просканировано файлов: 20. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - заметка
frontmatter-keyнеизвестное поле фронтматтера "execution" - заметка
frontmatter-keyнеизвестное поле фронтматтера "env"
Процессный рейтинг: все десять параметров 80/100
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 30Повторный запуск. Изменяющих операций: 1, без проверки текущего состояния
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Шаги. Шагов: 38
- 100Ошибки и развилки. Развилок: 2, есть раздел про ошибки
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1772 токенов
- low Разделов верхнего уровня: 12. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- -32 из 2 скриптов не упомянуты в SKILL.md
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 194 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 25 заголовков
- +3Пошаговые инструкции: 38 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (6 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 70.