CF remote-gpu-trainer
Развертывание, мониторинг и отладка длительных GPU-задач на АРЕНДОВАННЫХ/удаленных инстансах (AutoDL, RunPod, vast.ai, Lambda, Slurm, K8s): безопасность при отключении/оплате, устойчивость к прерываниям, возобновляемое сохранение контрольных точек, сортировка ошибок OOM/NaN.
машинный переводПоказать оригиналСкрыть оригинал«Deploy, monitor, and debug long GPU jobs on RENTED/remote instances (A…»
Deploy, monitor, and debug long GPU jobs on RENTED/remote instances (AutoDL, RunPod, vast.ai, Lambda, Slurm, K8s): teardown/billing safety, spot resilience, resumable checkpointing, OOM/NaN triage.
Развертывание, мониторинг и отладка длительных GPU-задач на АРЕНДОВАННЫХ/удаленных инстансах (AutoDL, RunPod, vast.ai, Lambda, Slurm, K8s): безопасность при…
Как процесс F 47/100 · Не запустится — Скилл ссылается на файлы, которых нет в архиве: scripts/health_patrol.sh.template
Такой же скилл встречается ещё в 2 местах: agentic-awesome-skills, agentic-awesome-skills
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл просит агента что-то скрывать от вас: не показывать ошибки, не упоминать действия, отвечать иначе, чем было сделано. Вы теряете возможность контролировать, что агент реально сделал.
Прозрачность важнее гладкого ответа. Если хочется спрятать технический шум, попросите агента «кратко сообщить», а не «не сообщать».
Как улучшить
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 12
✓ Критических и высоких находок нет
Средние и низкие: 12
-
средняя Опасные команды
cmd-persistenceprofiles/generic-ssh.md:151Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (в кавычках — упоминание, а не команда)reboots often, add an `@reboot` cron or a systemd unit that re-launches the detached queue.
в кавычках -
средняя Утечка данных
exfil-read-secret-filesreferences/gotchas_universal.md:620Чтение файлов с учётными данными / секретами (определение детектора / чёрного списка)security hooks (rightly) block scp-ing a whole `~/.netrc` (it carries other machines' credentials).
детектор -
средняя Утечка данных
exfil-read-secret-filesreferences/gotchas_universal.md:627Чтение файлов с учётными данными / секретами (определение детектора / чёрного списка)grep -A 2 'machine api.wandb.ai' ~/.netrc | ssh <host> 'umask 077; cat > /root/.netrc && chmod 600 /root/.netrc'
детектор -
средняя Сокрытие от пользователя
en-hide-from-userreferences/training/distributed-launch.md:249Инструкция скрыть действия от пользователя (определение детектора / чёрного списка)**Symptom**: bf16 FSDP run diverges where bf16 DDP was fine; or BN/positional buffers silently run in
детектор -
низкая Опасные команды
cmd-background-processprofiles/generic-ssh.md:120Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)`disown`. Always redirect stdin from `/dev/null` so the job never blocks reading the terminal.
в кавычках -
низкая Опасные команды
cmd-background-processprofiles/generic-ssh.md:133Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)→ Fix: launch inside `tmux` (or `nohup … & disown`) **before** the long run starts — not after it is
в кавычках -
низкая Утечка данных
net-credential-useprofiles/lambda.md:47Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (определение детектора / чёрного списка)- **REST API** — `https://cloud.lambdalabs.com/api/v1`, auth `curl -u $LAMBDA_API_KEY:` (basic-auth,
детектор -
низкая Утечка данных
net-credential-useprofiles/lambda.md:297Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (в кавычках — упоминание, а не команда)via the console or `curl -u $LAMBDA_API_KEY: https://cloud.lambdalabs.com/api/v1/instances` — an Alert-
в кавычках -
низкая Утечка данных
net-credential-useprofiles/lambda.md:299Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (определение детектора / чёрного списка)- **Capacity probe before launch:** `curl -u $LAMBDA_API_KEY: .../instance-types | jq '.data | to_entries[]
детектор -
низкая Опасные команды
cmd-background-processreferences/gotchas_universal.md:77Запуск фонового / автозапускаемого процесса (определение детектора / чёрного списка)3. **SSH HUP** — a foreground (non-`nohup`/`tmux`/`setsid`) launch dies when its parent SSH drops.
детектор -
низкая Утечка данных
exfil-read-secret-filesreferences/ssh_transport.md:175Чтение файлов с учётными данными / секретами (определение детектора / чёрного списка; строка таблицы в документации)| ssh <alias> 'umask 077; cat > /root/.netrc && chmod 600 /root/.netrc'
детектортаблица -
низкая Секреты в коде
secret-high-entropy-tokenreferences/training/checkpoint-resume.md:20Строка, похожая на токен (может быть id, хеш или секрет)- **Sharded checkpoints (multi-GPU)** — C5 FSDP…OOM · C6 FSDP-SHARDED_STATE_DICT · C7 DCP-(dcp.save/load) · C8 DeepSpeed-ZeRO-dir+zero…p32
Просканировано файлов: 39. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
body-longтело SKILL.md ≈ 5600 токенов (рекомендуется < 5000); вынесите детали в references/ - предупреждение
missing-refссылка на отсутствующий файл: scripts/health_patrol.sh.template - заметка
frontmatter-keyнеизвестное поле фронтматтера "risk" - заметка
frontmatter-keyнеизвестное поле фронтматтера "source" - заметка
frontmatter-keyнеизвестное поле фронтматтера "source_type" - заметка
frontmatter-keyнеизвестное поле фронтматтера "source_repo" - заметка
frontmatter-keyнеизвестное поле фронтматтера "date_added" - заметка
frontmatter-keyнеизвестное поле фронтматтера "license_source"
Процессный рейтинг: все десять параметров 47/100
- 0Инструменты и файлы. Не хватает 1 файла(ов): scripts/health_patrol.sh.template
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
- 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
- 70Стоимость исполнения. Тело инструкции 5600 токенов
- 100Шаги. Шагов: 51
- 100Согласованность. Имя и обязательные поля на месте
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 15. Похоже на несколько доменов в одном скилле
- low Ответ описан самодельной разметкой (4 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +4Нет примеров входа/выхода
- -36 из 8 скриптов не упомянуты в SKILL.md
- +2Инструкции на одном языке
- +3Длина description 197 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 16 заголовков
- +3Пошаговые инструкции: 51 пунктов
- +4Справочные файлы упоминаются в инструкциях (10 из 10)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 63.