BLACKSHIELD

Guide public

Ingérer vos premières détections

Exécutez votre première analyse, soumettez les résultats et confirmez la qualité des données avant d'étendre à d'autres intégrations. Audience: Ingénieurs de sécurité, propriétaires de CI et ingénieurs d'intégration. Temps moyen de mise en place: 10-15 minutes.

Avant de commencer

  • Créez une clé API d'ingestion dans /api-keys et enregistrez la clé brute (affichée une fois).
  • Utilisez l'image du scanner secplatform/pipeline-scanner:latest (ou votre alias public.ecr.aws en miroir).
  • Définissez SECPLATFORM_API_URL sur votre point de terminaison backend (local : http://localhost:8000).

Étapes

Étape 1

Choisissez l'image du scanner et la première cible

Utilisez une cible déterministe et une image de scanner connue afin que les résultats soient faciles à valider.

  • Utilisez `secplatform/pipeline-scanner:latest` (ou votre alias ECR public en miroir) pour la première fois run.
  • Choisissez une cible connue telle que `python:3.11-slim` pour des premiers résultats prévisibles.
  • Exécutez Trivy ou Semgrep en mode JSON pris en charge par le client du scanner.
  • Conservez les métadonnées de branche, de validation ou d'artefact pour le dépannage.

Étape 2

Créez et utilisez une clé API d'ingestion

Créez une clé d'espace de travail dans Clés API et utilisez-la uniquement pour l'ingestion du scanner.

  • Ouvrez `/api-keys`, créez une clé et enregistrez immédiatement la valeur brute `sp_...`.
  • Définissez `SECPLATFORM_API_URL` et `SECPLATFORM_API_KEY` via des variables d'environnement.
  • Exécutez la commande de point d’entrée ou de conteneur du client du scanner correspondant.
  • Capturez les journaux de réponses comme preuve des charges utiles acceptées.

Étape 3

Valider la qualité et la déduplication

Assurez-vous que les résultats sont complets, que la gravité est correctement cartographiée et que les téléchargements répétés ne dupliquent pas les problèmes.

  • Ouvrir les résultats et filtrer par scanner et ressource.
  • Vérifiez que les champs `first_seen` et `last_seen` sont renseignés.
  • Soumettez à nouveau la même charge utile une fois et vérifiez le comportement de la déduplication.

Exécuter

Créez une clé API d'ingestion via API

bash
TOKEN=$(curl -s -X POST "http://localhost:8000/api/v1/auth/login?email=admin@acme.com&password=changeme123" | python3 -c "import sys, json; print(json.load(sys.stdin)['access_token'])")

curl -s -X POST http://localhost:8000/api/v1/api-keys \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"label":"Pipeline Scanner","expires_in_days":90}'

Exécuter la première analyse du pipeline et ingérer les résultats

bash
docker run --rm \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e SECPLATFORM_API_URL=http://localhost:8000 \
  -e SECPLATFORM_API_KEY=sp_your_key_here \
  -e SCAN_TOOL=trivy \
  -e SCAN_TARGET=python:3.11-slim \
  secplatform/pipeline-scanner:latest

Vérifications de réussite

  • Le statut de la tâche d'intégration est terminé avec créé > 0 ou mis à jour > 0.
  • De nouveaux résultats apparaissent dans /findings avec la gravité, l'analyseur de source et les horodatages.
Ingérer vos premières détections | BlackShield Docs