Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 252

Cosign

ПроверилCybersecurity entrepreneur & security researcher

Что такое Cosign?

CosignOpen-source CLI из проекта Sigstore для подписи, верификации и аттестации OCI-артефактов и другого ПО, поддерживающий рабочие процессы как с ключами, так и без них.


Cosign — это пользовательский инструмент стека Sigstore, созданный как ответ на атаки на цепочку поставок — от SolarWinds до захваченных npm-пакетов, — которые нацелены на конвейер сборки и распространения, а не на работающие системы. Он умеет подписывать контейнерные образы, OCI-артефакты, blob-файлы, SBOM и аттестации in-toto, сохраняя подписи рядом с артефактом в OCI-реестре.

Его определяющая инновация — подпись без ключей (keyless signing). Вместо того чтобы просить разработчиков хранить долгоживущий приватный ключ, Cosign запрашивает сертификат у Fulcio — удостоверяющего центра, который проверяет OIDC-идентичность (workflow GitHub Actions, пользователя Google или GitHub) и выдаёт сертификат, действительный примерно десять минут. Cosign подписывает в течение этого окна, а затем отбрасывает эфемерный приватный ключ; поскольку сертификаты столь короткоживущие, нет необходимости в списках отзыва или OCSP. Событие подписи записывается в Rekor — журнал прозрачности с добавлением только в конец и защитой от подделки, — так что любой может позже доказать, что было подписано, какой идентичностью и когда.

Поэтому политики верификации могут требовать, кто подписал, а не каким ключом подписано — например, «допускаются только образы, собранные нашим переиспользуемым workflow release.yml». Контроллеры допуска Kubernetes, такие как Kyverno, Connaisseur и OPA Gatekeeper, применяют эти проверки на этапе развёртывания, а созданные Cosign аттестации лежат в основе происхождения (provenance) SLSA, превращая иначе самопровозглашённые утверждения о сборке в криптографически проверяемые.

flowchart TD
  A[CI-задание собирает образ] --> B[cosign sign --identity-token OIDC]
  B --> C[Fulcio проверяет OIDC-идентичность<br/>выдаёт сертификат на ~10 минут]
  C --> D[Cosign подписывает, отбрасывает ключ]
  D --> E[Подпись + сертификат записаны в Rekor<br/>журнал прозрачности]
  E --> F[Отправка образа + подписи в реестр]
  F --> G[Контроллер допуска<br/>Kyverno / Connaisseur]
  G --> H{Подписано доверенной<br/>идентичностью/workflow?}
  H -->|Да| I[Развёртывание разрешено]
  H -->|Нет| J[Заблокировано]

Примеры

  1. 01

    cosign sign --identity-token $OIDC_TOKEN ghcr.io/org/app:v1.2

  2. 02

    Политика Kyverno, проверяющая, что production-образ подписан определённым workflow GitHub Actions.

Частые вопросы

Что такое Cosign?

Open-source CLI из проекта Sigstore для подписи, верификации и аттестации OCI-артефактов и другого ПО, поддерживающий рабочие процессы как с ключами, так и без них. Относится к категории Безопасность приложений в кибербезопасности.

Что означает Cosign?

Open-source CLI из проекта Sigstore для подписи, верификации и аттестации OCI-артефактов и другого ПО, поддерживающий рабочие процессы как с ключами, так и без них.

Как защититься от Cosign?

Защита от Cosign обычно сочетает технические меры и операционные практики, как описано в определении выше.

Какие есть другие названия Cosign?

Распространённые альтернативные названия: cosign.

Связанные термины