# Atestaciones


Las Docker Hardened Images (DHI) y los Helm charts incluyen atestaciones de seguridad
completas y firmadas que verifican el proceso de construcción, el contenido y la postura
de seguridad de la imagen. Estas atestaciones son una parte fundamental de las prácticas
seguras de la cadena de suministro de software y te ayudan a validar que una imagen
es confiable y cumple con las políticas.

## ¿Qué es una atestación?

Una atestación es una declaración firmada que proporciona información verificable
sobre una imagen o chart, como el proceso de construcción, su contenido y las comprobaciones
de seguridad superadas. Las atestaciones se suelen firmar con herramientas de Sigstore
(como Cosign), lo que las hace resistentes a manipulaciones y verificables criptográficamente.

Las atestaciones siguen formatos estandarizados (como [in-toto](https://in-toto.io/),
[CycloneDX](https://cyclonedx.org/) y [SLSA](https://slsa.dev/)) y se
adjuntan a la imagen o chart como metadatos compatibles con OCI. Pueden generarse
automáticamente durante la construcción de la imagen o agregarse de forma manual para
documentar pruebas adicionales, resultados de escaneo o procedencias personalizadas.

## ¿Por qué son importantes las atestaciones?

Las atestaciones proporcionan visibilidad crítica de la cadena de suministro de
software al:

- Documentar *qué* contiene una imagen (por ejemplo, SBOM)
- Verificar *cómo* se construyó (por ejemplo, procedencia de la construcción)
- Capturar *qué escaneos de seguridad* ha superado o fallado (por ejemplo, informes
  de CVE, escaneos de secretos, resultados de pruebas)
- Ayudar a las organizaciones a aplicar políticas de seguridad y cumplimiento
- Respaldar las decisiones de confianza en tiempo de ejecución y las puertas de enlace
  de políticas de CI/CD

Son esenciales para cumplir con los estándares de la industria como SLSA,
y ayudan a los equipos a reducir el riesgo de ataques a la cadena de suministro al
hacer que los datos de construcción y seguridad sean transparentes y verificables.

## Cómo utilizan las atestaciones las Docker Hardened Images y los charts

Todas las DHI y charts se construyen utilizando las prácticas del [nivel 3 de
construcción de SLSA](https://slsa.dev/spec/latest/levels), y cada variante de
imagen se publica con un conjunto completo de atestaciones firmadas. Estas
atestaciones te permiten:

- Verificar que la imagen o chart se construyó a partir de fuentes confiables en un entorno seguro
- Visualizar las SBOM en múltiples formatos para comprender los detalles a nivel de componente
- Revisar los resultados del escaneo para comprobar si hay vulnerabilidades o secretos incrustados
- Confirmar el historial de construcción y despliegue de cada imagen

Las atestaciones se publican de forma automática y se asocian con cada DHI
y chart. Se pueden inspeccionar utilizando herramientas como [Docker
Scout](/dhi/how-to/verify/) o
[Cosign](https://docs.sigstore.dev/cosign/overview), y pueden ser consumidas por
herramientas de CI/CD o plataformas de seguridad.

## Atestaciones de imagen

Aunque cada variante de DHI incluye un conjunto de atestaciones, estas pueden
variar según la variante de la imagen. Por ejemplo, algunas imágenes pueden
incluir una atestación de escaneo STIG. La siguiente tabla es una lista completa de
todas las atestaciones que se pueden incluir con una DHI. Para ver qué atestaciones
están disponibles para una variante de imagen específica, incluidos los URI específicos de
tipo de predicado, utiliza Docker Scout:

```console
$ docker scout attest list dhi.io/<image>:<tag>
```

Para más detalles, consulta [Verificar atestaciones de imagen](/dhi/how-to/verify/#verify-image-attestations).

| Tipo de atestación | Descripción |
|--------------------|-------------|
| CycloneDX SBOM | Una lista de materiales de software en formato [CycloneDX](https://cyclonedx.org/), que detalla componentes, librerías y versiones. |
| Escaneo STIG | Resultados de un escaneo STIG, con salida en formatos HTML y XCCDF. |
| CVE (formato In-Toto) | Una lista de vulnerabilidades conocidas (CVE) que afectan a los componentes de la imagen, basada en el escaneo de paquetes y distribuciones. |
| VEX | Un documento de [Intercambio de explotabilidad de vulnerabilidades (VEX)](https://openvex.dev/) que identifica las vulnerabilidades que no se aplican a la imagen y explica los motivos (por ejemplo, no accesible o no presente). |
| Calificación de salud de Scout | Una atestación firmada de Docker Scout que resume el estado general de seguridad y calidad de la imagen. |
| Procedencia de Scout | Metadatos de procedencia generados por Docker Scout, que incluyen el commit de Git de origen, los parámetros de construcción y los detalles del entorno. |
| SBOM de Scout | Una SBOM generada y firmada por Docker Scout, que incluye metadatos adicionales específicos de Docker. |
| Escaneo de secretos | Resultados de un escaneo para detectar secretos incluidos accidentalmente, como credenciales, tokens o claves privadas. |
| Pruebas | Un registro de pruebas automatizadas ejecutadas contra la imagen, como comprobaciones funcionales o scripts de validación. |
| Escaneo de virus | Resultados de escaneos de antivirus realizados en las capas de la imagen. Para más detalles, consulta [Escaneo de malware](/dhi/explore/malware-scanning/). |
| CVE (formato Scout) | Un informe de vulnerabilidades generado por Docker Scout, que detalla las CVE conocidas y los datos de gravedad. |
| Procedencia de SLSA | Una declaración de procedencia estándar de [SLSA](https://slsa.dev/) que describe cómo se construyó la imagen, incluyendo la herramienta de construcción, los parámetros y la fuente. |
| Resumen de verificación de SLSA | Una atestación de resumen que indica el cumplimiento de la imagen con los requisitos de SLSA. |
| SPDX SBOM | Una SBOM en formato [SPDX](https://spdx.dev/), ampliamente adoptado en ecosistemas de código abierto. |
| Cumplimiento de FIPS | Una atestación que verifica que la imagen utiliza módulos criptográficos validados por FIPS 140. |
| Fuentes de imagen DHI | Enlaces a una imagen de origen correspondiente que contiene todos los materiales utilizados para construir la imagen, incluidos el código fuente de los paquetes, repositorios de Git y archivos locales, garantizando el cumplimiento de los requisitos de licencias de código abierto. |

## Atestaciones de paquete

Además de las atestaciones a nivel de imagen, los paquetes endurecidos de Docker también
incluyen sus propias atestaciones. Estas atestaciones a nivel de paquete proporcionan
procedencia e información de construcción para paquetes individuales dentro de una imagen,
permitiéndote rastrear la cadena de suministro a un nivel detallado.

Las atestaciones de paquete incluyen información similar a las atestaciones de imagen,
como la procedencia de SLSA, mostrando cómo se construyó cada paquete y qué materiales
se utilizaron. Puedes extraer la información del paquete a partir de las atestaciones de una
imagen y luego recuperar las propias atestaciones del paquete de forma recursiva.

Para obtener instrucciones detalladas sobre cómo acceder y verificar las atestaciones
de paquetes, consulta [Atestaciones de paquete](/dhi/how-to/hardened-packages/#package-attestations).

## Atestaciones de Helm chart

Los charts de las Docker Hardened Images (DHI) también incluyen atestaciones firmadas
completas que proporcionan transparencia y verificación para tus despliegues de
Kubernetes. Al igual que las imágenes de contenedor DHI, estos charts se construyen
siguiendo las prácticas del nivel 3 de construcción de SLSA e incluyen metadatos de
seguridad extensos.

Los Helm charts de DHI incluyen las siguientes atestaciones. Para ver los URI específicos
de tipo de predicado para estas atestaciones, utiliza Docker Scout:

```console
$ docker scout attest list dhi.io/<chart>:<version>
```

Para más detalles, consulta [Verificar atestaciones de Helm chart](/dhi/how-to/verify/#verify-helm-chart-attestations-with-docker-scout).

| Tipo de atestación | Descripción |
|--------------------|-------------|
| CycloneDX SBOM | Una lista de materiales de software en formato [CycloneDX](https://cyclonedx.org/), que detalla el propio chart y todas las imágenes de contenedor y herramientas referenciadas por el chart. |
| CVE (formato In-Toto) | Una lista de vulnerabilidades conocidas (CVE) que afectan a las imágenes de contenedor y componentes referenciados por el chart. |
| Calificación de salud de Scout | Una atestación firmada de Docker Scout que resume el estado general de seguridad y calidad del chart y sus imágenes referenciadas. |
| Procedencia de Scout | Metadatos de procedencia generados por Docker Scout, que incluyen el repositorio de origen del chart, las imágenes de construcción utilizadas y los parámetros de construcción. |
| SBOM de Scout | Una SBOM generada y firmada por Docker Scout, que incluye el chart y las imágenes de contenedor que referencia, con metadatos adicionales específicos de Docker. |
| Escaneo de secretos | Resultados de un escaneo para detectar secretos incluidos accidentalmente, como credenciales, tokens o claves privadas, en el paquete del chart. |
| Pruebas | Un registro de pruebas automatizadas ejecutadas contra el chart para validar la funcionalidad y la compatibilidad con las imágenes referenciadas. |
| Escaneo de virus | Resultados de escaneos de antivirus realizados en el paquete del chart. Para más detalles, consulta [Escaneo de malware](/dhi/explore/malware-scanning/). |
| CVE (formato Scout) | Un informe de vulnerabilidades generado por Docker Scout, que detalla las CVE conocidas y los datos de gravedad para las imágenes referenciadas del chart. |
| Procedencia de SLSA | Una declaración de procedencia estándar de [SLSA](https://slsa.dev/) que describe cómo se construyó el chart, incluyendo la herramienta de construcción, el repositorio de origen, las imágenes referenciadas y los materiales de construcción. |
| SPDX SBOM | Una SBOM en formato [SPDX](https://spdx.dev/), que detalla el chart y todas las imágenes de contenedor y herramientas que referencia. |

## Visualizar y verificar atestaciones

Para visualizar y verificar las atestaciones, consulta [Verificar una Docker Hardened Image](/dhi/how-to/verify/).

## Agregar tus propias atestaciones

Además de las atestaciones completas que proporcionan las Docker Hardened Images,
puedes agregar tus propias atestaciones firmadas al construir imágenes derivadas.
Esto es de especial utilidad si estás construyendo aplicaciones sobre una DHI y
quieres mantener la transparencia, trazabilidad y confianza en tu cadena de
suministro de software.

Al adjuntar atestaciones como SBOM, procedencia de construcción o metadatos
personalizados, puedes cumplir con los requisitos de cumplimiento, superar auditorías
de seguridad y dar soporte a herramientas de evaluación de políticas como Docker Scout.

Luego, estas atestaciones se pueden verificar en etapas posteriores utilizando
herramientas como Cosign o Docker Scout.

Para aprender cómo adjuntar atestaciones personalizadas durante el proceso de construcción,
consulta [Atestaciones de construcción](/build/metadata/attestations/).

