StarSling Skills
Четыре скилла для GitHub Actions: ускорение CI, оценка конфигурации, поиск атак и отчеты StarSling.
- 104 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Скиллы читают рабочие процессы и историю запусков, а по просьбе правят файлы конфигурации CI.
- Скилл `sling` хранит ключ аккаунта в `~/.config/sling/credentials`.
Установка
- Работает в
Ручная установка
npx skills add starslingdev/skillsВыбрать скиллы и агента в диалоге. Один скилл: добавить --skill ci-secure, для всех проектов: флаг -g.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Скиллы читают рабочие процессы и историю запусков, а по просьбе правят файлы конфигурации CI.
- Скилл `sling` хранит ключ аккаунта в `~/.config/sling/credentials`.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Набор из четырех скиллов для GitHub Actions. Скилл `ci-speedup` ищет, что замедляет CI и тратит минуты раннеров: он опирается на 90 с лишним приемов оптимизации, локальные рабочие процессы и историю запусков GitHub. `ci-score` оценивает настройку по десяти и более проверкам: кеш, поверхностное клонирование, шардирование, отмена параллельных запусков, фильтры путей, тайм-ауты, закрепление действий и OIDC. Он работает полностью офлайн. `ci-secure` ищет десять с лишним критических векторов атаки на CI: инъекцию в шаблон, код форка с привилегиями, отравление кеша, подмену SHA действий, утечку секретов и перехват `$GITHUB_ENV`. Каждая находка называет файл и строку и объясняет, что может сделать атакующий. Первые три скилла составляют отчет и дают исправить выбранное или сохранить отчет в Markdown. Четвертый, `sling`, показывает использование, производительность, счета и запуски аккаунта StarSling.
Для кого. Разработчикам и инженерам платформ, которые поддерживают GitHub Actions и хотят ускорить сборки и закрыть опасные места в рабочих процессах.
Подходит, если
- Сборка идет долго, и надо понять, какие шаги съедают минуты раннеров.
- Перед релизом нужно оценить настройку CI по чек-листу практик.
- Рабочий процесс запускается на событиях от внешних форков, и его надо проверить на атаки.
- Нужна сводка по расходам и сбоям запусков в аккаунте StarSling.
Не подходит, если
- Нужен полный аудит безопасности: `ci-secure` намеренно ограничен набором реальных цепочек атак.
- Сборки идут не на GitHub Actions: скиллы читают его рабочие процессы.
- Скилл `sling` без аккаунта StarSling и установленного приложения GitHub бесполезен.
Пример запроса к агенту
Почему моя сборка CI такая медленная? Покажи отчет и предложи исправления, ничего не коммитя.Ограничения
Скиллы `ci-speedup` и `ci-score` требуют Python 3.9 и PyYAML, а `ci-speedup` еще и авторизованный `gh`: он читает историю запусков через API GitHub. Для `ci-secure` `gh` необязателен и добавляет четыре дополнительные проверки. Скилл `sling` запрашивает аккаунт через сервер StarSling, отправляет идентификаторы организации, репозитория и запуска и хранит ключ в `~/.config/sling/credentials`. Скиллы аудита оставляют содержимое репозитория у вас, в StarSling оно не уходит. Исправления лежат в рабочем дереве без коммита, пуша и запроса на слияние до вашей просьбы. Оценка `ci-score` измеряет соблюдение практик, а не скорость, и не заменяет аудит безопасности.
Как отключить. Удалите папки скиллов из каталога агента или повторите установку без нужных. Для `sling` удалите файл `~/.config/sling/credentials` и отзовите приложение GitHub.
Частые вопросы
Как поставить один скилл?
Добавьте флаг: `npx skills add starslingdev/skills --skill ci-secure`. Флаг `-g` ставит скиллы для всех проектов.
Как вызвать скилл?
Командой `/ci-speedup` (в Codex `$ci-speedup`) или обычным вопросом вроде «Почему мой CI медленный?».
Отправляются ли данные репозитория наружу?
Нет для `ci-score` и `ci-secure`: они работают локально. `ci-speedup` читает историю запусков через `gh`, а `sling` обращается к аккаунту StarSling.
Что значит нуль находок в ci-secure?
Это нормальный результат. Проверка, которая не смогла выполниться, помечается как не запускавшаяся и не считается пройденной.
Можно ли запускать ci-secure на каждом запросе на слияние?
Да, агент установит проверку в репозиторий в режиме совета: когда будете готовы, уберите `--advisory` и сделайте проверку обязательной.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыНавык и плагин для Git и GitHub: ветки, Conventional Commits и путь запроса на слияние до зеленого мержа.
Расширение gh для агентных воркфлоу: задача описывается в Markdown и запускается агентом в GitHub Actions
Скилл KubeShark: агент сначала ищет режим отказа, потом пишет манифесты, Helm и Kustomize по официальным практикам и возвращает план проверки и отката
Скиллы по производительности и масштабированию сайтов, пока один: ooda-loop, цикл наблюдения, вывода, решения и действия.
Контроллер раннеров GitHub Actions с тремя скиллами и MCP: агент разбирает упавшие задачи, проверяет сценарии и медленный CI
Подборка скиллов и агентов для Copilot по Azure, API Management, Terraform и диаграммам с установкой через skills CLI или APM
Коротко о README
Таблицы показывают назначение, требования и обработку данных для каждого скилла, дальше идут разделы с командами установки, примерами отчетов и ссылками на методику.
Бейдж для README
Исходный SKILL.md
---
name: ci-secure
description: >-
Scans a repo's GitHub Actions workflows for the ten critical CI/CD
attack vectors — template injection, fork code executed with privileges
(pwn requests), cache poisoning, impostor action SHAs, secrets dumps,
GITHUB_ENV hijack, write-token untrusted triggers, credentials in
caches/artifacts, unverified remote code execution (curl|bash and
mutable fetch-and-run), and dependency install scripts
running in a job that holds secrets — reports every finding
with a plain-English attacker scenario, plus pass/fail config
hygiene checks, and fixes selected findings via per-finding
subagents. Deliberately NOT comprehensive — critical
exploit-chain checks only (references/why-these-ten.md).
Use when: the user asks to audit or review CI/CD or GitHub Actions
security posture, "is my CI secure", "audit my CI security", or names
ci-secure / /ci-secure. Do NOT trigger for: CI speed, cost, or
wall-clock audits ("why is CI slow") — use ci-speedup; CI config
best-practices grading ("grade my CI", "CI score") — use ci-score.
license: MIT
---
# CI Secure
Scans `.github/workflows/*.yml` against the **ten critical attack vectors**
in [references/security-patterns.md](references/security-patterns.md) — each
a complete outsider → compromise path with real incidents behind it (the
selection criterion and rejection record:
[references/why-these-ten.md](references/why-these-ten.md)). Every finding
renders with a "what an attacker could do" scenario; **zero findings is a
first-class result**. The skill asks which findings to fix and dispatches one
subagent per finding group. It never commits, pushes, or opens a PR
**unasked** — by default the user reviews the working-tree diff themselves.
**Scope honesty (verbatim, in every report):** *Critical exploit-chain checks
only — this is not a comprehensive audit.*
**Prereqs:** PyYAML (`pip install pyyaml` — the scanner's only third-party
dep). `gh` is optional, used for the network-gated impostor-SHA check (P14.11
— the one vector that cannot be answered from YAML alone), the dormancy note,
and six config facts read over the API (required checks skippable, fork-PR
approval, CODEOWNERS enforced, two environment checks, secrets). Everything