
cicd-sensor rules/v20260722-001
Сенсор безопасности времени выполнения на базе eBPF для конвейеров CI/CD. Обнаруживает атаки на цепочку поставок, регистрирует происхождение процессов и доступ к файлам, а также предоставляет криминалистические доказательства для GitHub Actions и GitLab CI/CD.
🚧 Предрелиз: активная разработка. cicd-sensor находится в предрелизной стадии и активно разрабатывается. Обратная связь приветствуется.
cicd-sensor
Думайте об этом как об EDR, но для CI/CD-пайплайнов.
Сенсор безопасности времени выполнения с открытым исходным кодом на базе eBPF для GitHub Actions и GitLab CI/CD.
→ Полная документация
Демонстрация
|
Что делает cicd-sensor
Когда скомпрометированная зависимость в задании CI/CD похищает ваши облачные учётные данные и утекает с ними, сможете ли вы это обнаружить? Будут ли у вас журналы для расследования после этого? cicd-sensor — это сенсор с открытым исходным кодом, который позволяет каждой команде ответить на оба вопроса.
Обнаружение: обнаруживает атаки на цепочку поставок во время выполнения, используя родословную процессов (например, доступ к учётным данным из процесса, порождённого npm install) и корреляцию между сигналами (например, чтение нескольких категорий учётных данных в одном задании). Базовые правила нацелены на шаблоны, наблюдаемые в реальных атаках на CI/CD, и являются отключаемыми: отключите их, если вам нужны только журналы и доказательства, описанные ниже.
Журналы и доказательства: для каждого запуска cicd-sensor может выдавать журналы для просмотра, оповещения и криминалистики, направляемые через cicd-sensor Manager в облачные хранилища, такие как S3, GCS и Pub/Sub. cicd-sensor-action также может создавать графический отчёт и аттестацию сборки для каждого запуска. Ваши данные остаются под вашим контролем. cicd-sensor никогда не отправляет ничего на серверы, управляемые проектом cicd-sensor.
Быстрый старт
На раннерах, размещённых на GitHub, добавьте действие cicd-sensor первым шагом в ваш рабочий процесс.
jobs:
build:
runs-on: ubuntu-24.04
steps:
- uses: cicd-sensor/cicd-sensor-action@6511eb44c91d71b2b93d71193b1bf2cb18352f66 # v0.0.38
Для саморазмещённых GitHub Actions или GitLab CI/CD см. Руководство пользователя.
Зачем это нужно для среды выполнения CI/CD
Пайплайны CI/CD собирают, выпускают, развёртывают и управляют облачной инфраструктурой, и они хранят облачные учётные данные, ключи подписи и токены реестра для этого. Атакующие на цепочку поставок действуют внутри этих заданий и исчезают вместе с доказательствами, когда задание завершается.
У большинства других сред выполнения есть свои защитники с открытым исходным кодом: Falco, Tetragon, Tracee, Wazuh, OSQuery. Покрытие с открытым исходным кодом для среды выполнения CI/CD отставало. Sigstore доказал, где и как были созданы артефакты; cicd-sensor сохраняет что фактически выполнялось, чтобы команды могли обнаруживать, реагировать и проводить аудит.
Сравнение функций
| Возможность | cicd-sensor | Harden-Runner (бесплатная) | Комментарий |
|---|---|---|---|
| Лицензирование и развёртывание | |||
| Открытый исходный код | ✅ Да | ✅ Да | |
| Конфиденциальность данных | ✅ Саморазмещение | SaaS-бэкенд | cicd-sensor полностью работает в вашей инфраструктуре, поэтому журналы и события остаются в вашей среде. |
| Покрытие платформ | |||
| Частные репозитории | ✅ Да | ❌ Нет | |
| Саморазмещённые раннеры | ✅ Да | ❌ Нет | Принудительное использование саморазмещённых раннеров обеспечивает сбор журналов в масштабе всей организации для каждого задания. |
| Поддержка GitHub Actions | ✅ Да | ✅ Да | |
| Поддержка GitLab CI/CD | ✅ Да | ❌ Нет | |
| Возможности | |||
| Правила обнаружения | ✅ Да | ✅ Да | |
| Гибкие пользовательские правила | ✅ Да | 🔶 Ограниченно | Правила cicd-sensor охватывают родословную процессов, доступ к файлам и корреляцию между сигналами; Harden-Runner — это в основном список разрешений сетевого исходящего трафика. |
| Сетевая блокировка | 🔶 Частично | ✅ Да | cicd-sensor завершает процесс и останавливает задание при обнаружении, вместо фильтрации трафика, как межсетевой экран. |
| Экспорт журналов | ✅ Да | ❌ Нет |
В этой таблице сравнивается бесплатная версия Harden-Runner. Платная платформа StepSecurity добавляет больше возможностей, таких как поддержка частных репозиториев и саморазмещённых раннеров, панели мониторинга и управление политиками.
Основано на публичной информации по состоянию на май 2026 года. Исправления приветствуются.
Сторонние сервисы
Takumi Runner от GMO Flatt Security выступает в роли размещённого cicd-sensor Manager и добавляет собственное обнаружение угроз и анализ трасс поверх собранных журналов. См. их руководство по интеграции (английский / японский) для настройки. Это отдельный коммерческий продукт, и cicd-sensor работает без него.
cicd-sensor — это нейтральный к вендорам проект с открытым исходным кодом: он работает самостоятельно, и любой менеджер, с которым он взаимодействует, — это тот, который вы решаете запускать. Другие вендоры и сервисы также приглашаются к интеграции с cicd-sensor.
Когда cicd-sensor направлен на сторонний размещённый менеджер, собираемые им журналы и события отправляются в сервис этого вендора.
Поддерживаемые CI/CD-пайплайны
| Платформа | Среда | Статус |
|---|---|---|
| GitHub Actions | Раннер, размещённый на GitHub | ✅ Поддерживается |
| GitHub Actions | Саморазмещённый раннер на машине | ✅ Поддерживается |
| GitHub Actions | Actions Runner Controller на Kubernetes | 🧪 Предварительная поддержка |
| GitLab CI/CD | Исполнитель Docker GitLab Runner | ✅ Поддерживается |
| GitLab CI/CD | Исполнитель Kubernetes GitLab Runner | 🧪 Предварительная поддержка |
| GitLab CI/CD | Раннер, размещённый на GitLab | ❌ Не поддерживается (технические ограничения) |
Работает как с публичными, так и с частными репозиториями, без зависимости от стороннего SaaS.
Ядро Linux: 5.15 или новее на amd64, 6.1 или новее на arm64.
Правила
cicd-sensor поставляется с набором базовых правил. См. Руководство по базовым правилам о том, как они работают; сами определения правил находятся в rules/. Вы также можете писать собственные правила или полностью отключить базовые.
Документация
- Начало работы: что такое cicd-sensor и как начать.
- Руководство пользователя: пути развёртывания для GitHub Actions и GitLab CI/CD.
- Правила: написание правил обнаружения, сбора и корреляции.
- Журналирование: формат журналов, доставляемых менеджером.
- Предикат аттестации: предикат трассы времени выполнения для доказательств среды выполнения CI/CD.
- Руководство разработчика: внутреннее устройство агента, среды выполнения eBPF, менеджера и механизма правил.
О проекте
[!NOTE] О создателе: cicd-sensor — это нейтральный к вендорам проект с открытым исходным кодом, созданный и поддерживаемый Хироки Суэдзавой (@rung), автором Общей матрицы угроз для CI/CD-пайплайнов, соавтором OWASP Top 10 CI/CD Security Risks и ранним участником OSC&R / pbom.dev. cicd-sensor был начат как индивидуальный проект, чтобы оставаться близким к сообществу открытого исходного кода, которое находится на приёмной стороне атак на цепочку поставок.
Официальное зеркало только для чтения опубликовано на gitlab.com/cicd-sensor/cicd-sensor. GitHub является каноническим источником; зеркало GitLab синхронизируется периодически.
Лицензия
Apache License 2.0 (LICENSE). Исходный код BPF в internal/agent/bpf/ имеет двойную лицензию GPL-2.0-only OR BSD-2-Clause (подробности).