DC huawei-cloud-apig-instance-management
Управляйте Huawei Cloud APIG (API Gateway, выделенные экземпляры) через hcloud CLI: жизненный цикл экземпляров (создание/список/удаление), группы API, создание/обновление/удаление API, публикация/снятие с публикации, политики ограничения скорости запросов, ключи подписи, политики контроля доступа (ACL) и привязка публичных EIP для входящего трафика, а также диагностика публичного доступа в режиме только для чтения (eip_address vs sl_domain), цепочка экземпляр -> группа -> API -> публикация и эффективность политик. Операции удаления требуют явного подтверждения пользователя; создание экземпляра — асинхронная операция, занимающая 5-15 минут, которую необходимо отслеживать до статуса == Running. Триггеры включают: APIG, API gateway, API 分组, API 管理, 流控策略, throttling, 签名密钥, signature key, 访问控制, ACL 策略, access control, publish API, 发布 API, 下线 API, 实例管理, 公网访问, ingress EIP, 策略生效诊断, API 网关排障.
машинный переводПоказать оригиналСкрыть оригинал«Manage Huawei Cloud APIG (API Gateway, dedicated instances) via hcloud…»
Manage Huawei Cloud APIG (API Gateway, dedicated instances) via hcloud CLI: instance lifecycle (create/list/delete), API groups, API create/update/delete, publish/offline, request throttling policies, signature keys, access control (ACL) policies, and public ingress EIP binding, plus read-only diagnosis of public access (eip_address vs sl_domain), the instance -> group -> API -> publish chain, and policy effectiveness. Delete operations require explicit user confirmation; instance creation is a 5-15 minute async operation that must be polled until status == Running. Triggers include: APIG, API gateway, API 分组, API 管理, 流控策略, throttling, 签名密钥, signature key, 访问控制, ACL 策略, access control, publish API, 发布 API, 下线 API, 实例管理, 公网访问, ingress EIP, 策略生效诊断, API 网关排障.
Управляйте Huawei Cloud APIG (API Gateway, выделенные экземпляры) через hcloud CLI: жизненный цикл экземпляров (создание/список/удаление), группы API…
Как процесс C 59/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, стоимость исполнения
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 13
✓ Критических и высоких находок нет
Средние и низкие: 13
-
средняя Опасные команды
cmd-shell-rcscripts/ensure_cli.sh:22Запись в файл автозагрузки shell (.bashrc / .zshrc / .profile)echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
-
средняя Опасные команды
cmd-shell-rcscripts/ensure_cli.sh:25Запись в файл автозагрузки shell (.bashrc / .zshrc / .profile)echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.profile
-
средняя Опасные команды
cmd-shell-rcscripts/ensure_cli.sh:53Запись в файл автозагрузки shell (.bashrc / .zshrc / .profile)echo "PATH 已导出并持久化(~/.bashrc ~/.profile), 可直接执行: skill-quality-cli ..."
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/acceptance-criteria.md:37Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)`Crea…yV2`, `List…yV2`,
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/acceptance-criteria.md:40Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)`List…yV2`, `List…yV2`,
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/acceptance-criteria.md:41Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)`List…yV2`
детектор -
низкая Секреты в коде
secret-high-entropy-tokenreferences/dataflow-diagram.md:63Строка, похожая на токен (может быть id, хеш или секрет)Q -->|verify exists| A[huawei_analyze_apig_policy_effect<br/>List…yV2]
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/verification-method.md:42Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка; строка таблицы в документации)| `huawei_create_apig_throttling_policy` | `List…yV2 --instance_id` contains the new policy |
детектортаблица -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:75Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка; строка таблицы в документации)| 7 | API / throttling policy names must NOT have hyphens | `[a-zA-Z0-9_]+` only. Hyphens cause regex validation failure (verified for `Crea…yV2` too, APIG.2011). |
детектортаблица -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:198Строка, похожая на токен (может быть id, хеш или секрет)hcloud APIG List…yV2 --cli-region={region} --instance_id={instance_id} --limit=20 -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:199Строка, похожая на токен (может быть id, хеш или секрет)skill-quality-cli run --skill-name huawei-cloud-apig-instance-management -- hcloud APIG List…yV2 --cli-region={region} --instance_id={instance_id} --limit=20 -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:294Строка, похожая на токен (может быть id, хеш или секрет)hcloud APIG List…yV2 --cli-region={region} --instance_id={instance_id} --sign_id={sign_id} -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:298Строка, похожая на токен (может быть id, хеш или секрет)hcloud APIG List…yV2 --cli-region={region} --instance_id={instance_id} --throttle_id={throttle_id}
Просканировано файлов: 10. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - предупреждение
body-longтело SKILL.md ≈ 9314 токенов (рекомендуется < 5000); вынесите детали в references/
Процессный рейтинг: все десять параметров 59/100
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 40Результат и критерий готовности. Не сказано, что считать результатом
- 40Стоимость исполнения. Тело инструкции 9314 токенов: вытесняет саму задачу из окна
- 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
- 60Инструменты и файлы. Используются инструменты (bash, web), но во frontmatter они не объявлены
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 85Шаги. Шагов: 16, расплывчатых формулировок: 1
- 100Согласованность. Имя и обязательные поля на месте
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 10. Похоже на несколько доменов в одном скилле
- high Скилл велит модели самой совершать необратимое действие, без подтверждения человеком
- low Ответ описан самодельной разметкой (7 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 766 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 34 заголовков
- +3Пошаговые инструкции: 16 пунктов
- +4Есть примеры (27 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (5 из 5)
- +3Все 1 скриптов описаны в инструкциях
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 69.