Saltar al contenido principal

PHP

Para instalar CycloneDX en PHP con Composer, primero debes asegurarte de que tengas PHP y Composer instalados en tu sistema. Luego, sigue estos pasos:

  • Abre una terminal o línea de comandos.
  • Navega hasta la raíz de tu proyecto PHP, donde se encuentra tu archivo composer.json.
  • Ejecuta el siguiente comando para agregar CycloneDX como una dependencia de desarrollo:
composer require --dev cyclonedx/cyclonedx-php-composer
  • Permitimos el plugin de CycloneDX, para eso tenemos que agregar al composer.json lo siguiente
    "config": {
"allow-plugins": {
"cyclonedx/cyclonedx-php-composer": true
}
}
  • Ya podemos ejecutar el análisis de dependencias mediante CycloneXD con el siguiente comando
composer CycloneDX:make-sbom --output-file=sbom.json --output-format=json

Integración con Gitlab

Ahora que sabemos como se integra en php vamos a agregar nuestro stage en el CI para que se ejecute en cada commit y se envie a la plataforma de gestión de dependencias Dependecy-track.

.gitlab-ci.yml
sbom_scan:
stage: sbom_scan
image: harbor.opensecdevops.com/osdo/php-ci@sha256:d44a5d14ce250fd5881fbdbceec02a3a43118ceb4d3abcb66861bec160becbbe
dependencies: ['composer']
variables:
COMPOSER_ALLOW_SUPERUSER: 1
cache:
key: ${CI_COMMIT_REF_SLUG}-composer
paths:
- vendor/
script:
- composer CycloneDX:make-sbom --output-file=sbom.json --output-format=json
- sh ../.gitlab-ci/dependency-track.sh
allow_failure: true
artifacts:
expire_in: 1 days
paths:
- sbom.json

Una vez cargado el fichero sbom en la plataforma de Dependecy-track veremos las dependencias y su estado de actualización y de vulnerabilidades conocidas.

Lista dependencias