Cosign
Что такое Cosign?
CosignOpen-source CLI из проекта Sigstore для подписи, верификации и аттестации OCI-артефактов и другого ПО, поддерживающий рабочие процессы как с ключами, так и без них.
Cosign — пользовательский инструмент стека Sigstore. Он подписывает контейнерные образы, OCI-артефакты, blob-файлы, SBOM и аттестации in-toto, сохраняя подписи рядом с артефактом или в OCI-реестре. В режиме keyless он получает короткоживущий сертификат от Fulcio, привязанный к OIDC-идентичности, и записывает подпись в журнал прозрачности Rekor; в режиме с ключом используются традиционные ключи, аппаратные токены или ключи, размещённые в KMS. Политики верификации могут требовать доверенные идентичности (например, конкретный GitHub Actions workflow), reusable workflows или предикаты аттестации. Cosign является дефолтным инструментом подписи во многих CI-пайплайнах и системах admission в Kubernetes (Kyverno, Connaisseur, OPA Gatekeeper) для обеспечения целостности цепочки поставок.
● Примеры
- 01
cosign sign --identity-token $OIDC_TOKEN ghcr.io/org/app:v1.2
- 02
Политика Kyverno, проверяющая, что production-образ подписан определённым workflow GitHub Actions.
● Частые вопросы
Что такое Cosign?
Open-source CLI из проекта Sigstore для подписи, верификации и аттестации OCI-артефактов и другого ПО, поддерживающий рабочие процессы как с ключами, так и без них. Относится к категории Безопасность приложений в кибербезопасности.
Что означает Cosign?
Open-source CLI из проекта Sigstore для подписи, верификации и аттестации OCI-артефактов и другого ПО, поддерживающий рабочие процессы как с ключами, так и без них.
Как работает Cosign?
Cosign — пользовательский инструмент стека Sigstore. Он подписывает контейнерные образы, OCI-артефакты, blob-файлы, SBOM и аттестации in-toto, сохраняя подписи рядом с артефактом или в OCI-реестре. В режиме keyless он получает короткоживущий сертификат от Fulcio, привязанный к OIDC-идентичности, и записывает подпись в журнал прозрачности Rekor; в режиме с ключом используются традиционные ключи, аппаратные токены или ключи, размещённые в KMS. Политики верификации могут требовать доверенные идентичности (например, конкретный GitHub Actions workflow), reusable workflows или предикаты аттестации. Cosign является дефолтным инструментом подписи во многих CI-пайплайнах и системах admission в Kubernetes (Kyverno, Connaisseur, OPA Gatekeeper) для обеспечения целостности цепочки поставок.
Как защититься от Cosign?
Защита от Cosign обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Cosign?
Распространённые альтернативные названия: cosign.
● Связанные термины
- appsec№ 1044
Sigstore
Open-source-проект Linux Foundation, упрощающий подпись, верификацию и защиту артефактов ПО за счёт сочетания короткоживущих ключей, OIDC-идентичностей и журнала прозрачности.
- appsec№ 784
Подпись пакетов
Применение криптографической подписи к программному пакету, чтобы потребители могли проверить личность издателя и убедиться, что артефакт не был изменён после выпуска.
- appsec№ 870
Аттестация происхождения (Provenance Attestation)
Подписанное и машиночитаемое заявление о том, как был произведён программный артефакт — источник, сборочная система, параметры и зависимости — чтобы потребители могли доверять его происхождению.
- appsec№ 1053
SLSA Framework
Supply-chain Levels for Software Artifacts — выпущенный OpenSSF набор требований по уровням, который последовательно ужесточает практики сборки, подписи и верификации ПО для защиты от вмешательства в цепочку поставок.
- appsec№ 1069
Безопасность цепочки поставок ПО
Дисциплина защиты каждого звена производства ПО — исходного кода, зависимостей, сборки, подписи, дистрибуции и деплоя — от вмешательства, вредоносного кода и потери целостности.
- appsec№ 522
in-toto
Открытый фреймворк, криптографически аттестующий каждый шаг цепочки поставок ПО, чтобы потребители могли проверить, что артефакт был собран и обработан в точности так, как задумал владелец проекта.