Aller au contenu principal

Exporter les données

GitGuardian vous permet d'exporter les données sous forme de rapport CSV.

Rapport CSV

Options d'export

Les rapports CSV sont actuellement disponibles uniquement pour les incidents de secrets. Pour exporter les données, utilisez le menu dans la vue, puis sélectionnez les options pour l'export :

  • Incidents de secrets individuels vs Toutes les occurrences.
    • Incidents de secrets individuels vous donne la liste des incidents de secrets présents sur votre périmètre sans détails sur les multiples occurrences qu'ils peuvent contenir. C'est utile pour le reporting de haut niveau.
    • Toutes les occurrences vous donne la liste détaillée de toutes les occurrences et de leur emplacement. Ces rapports peuvent être utilisés pour la remédiation ou pour une analyse plus granulaire.
      Ces deux rapports sont cohérents entre eux et vous pouvez croiser leurs données en utilisant la clé commune incident_id.
  • Afficher les secrets vs Masquer les secrets : pour lutter contre la prolifération des secrets, GitGuardian vous donne la possibilité de masquer le secret lui-même dans vos exports CSV.
  • Filtrage : les rapports CSV peuvent refléter votre filtrage et votre sélection.
    • Correspondant aux filtres et requête de recherche actuels : seuls les incidents correspondant à vos critères de filtrage actuels seront exportés.
    • Correspondant à la vue : les incidents correspondant aux filtres de la vue active seront exportés. Si vous avez des modifications non enregistrées dans la vue, elles ne s'appliqueront pas.
    • Aucun filtre : tous les incidents seront exportés, indépendamment de la vue ou des filtres appliqués.
  • Séparateur : personnalisez le séparateur du rapport.
    • séparé par des virgules
    • séparé par des tabulations

export_as_csv csv_export_modal

Notez qu'il est également possible d'exporter des incidents qui ont été sélectionnés manuellement. Sélectionnez vos incidents et cliquez sur Télécharger depuis la barre d'actions en lot :

export_selection

Format d'export

Le format de l'export CSV ressemblera aux exemples ci-dessous.

Incidents de secrets individuels

incident_idcreated_atsecret_hashdetector_namematchesoccurrences_countassigneesresolved_atignored_atgitguardian_urlseverityrisk_scorevaliditystatusignore_reasoncustom_tagssecret_revokedtagsincident_name
1866442020-11-17 08:19:48.374388+00:00CKRCZ36VU1JgnPTN2oWtW5Rn2fE7p/d9G+XQveEXlSg0d+Vjq3vgT7VWMTb6ax/hSlack User Token{"apikey": "xoxp-6378355290-4543728424-36021270421-7714dc2119e296b6e8be1cb6cde31ef5"}2https://dashboard.gitguardian.com/workspace/8/incidents/186644Critical55validTRIGGEREDSlack User Token in...
495682020-03-25 13:26:11.134688+00:00kFXL5aDL5Pvf3odFhfS1Sfxxguqg7/tFOLgmM94+EPnMHwNGLCAWyy4SR5jhsuGkAWS Keys{"client_id": "AROAK1XZAJSZHCUDQSHT", "client_secret": "cH1SL1LFzSwWoJV5wDtn8rcTSNiieufBOe58b6Lu"}4john.doe@company.com2020-11-03 14:48:41.634750+00:00https://dashboard.gitguardian.com/workspace/8/incidents/49568Medium30invalidRESOLVEDteam:backend|env:productionTRUESENSITIVE_FILEAWS Keys in config.yml
............................................................................
  • incident_id : id de l'incident GitGuardian
  • created_at : date de l'incident
  • secret_hash : hash des correspondances réelles du secret. Il est unique par secret.
  • detector_name : type du secret détecté par le moteur de détection de secrets de GitGuardian
  • matches : le secret réel. Il peut parfois être composé de plusieurs composants que GitGuardian appelle matches (par exemple : client_id, client_secret). C'est pourquoi il est sous format JSON. Vide si vous sélectionnez l'option Masquer les secrets.
  • occurrences_count : nombre d'occurrences de l'incident de secret
  • assignees : email de l'assigné de l'incident qui est membre du workspace GitGuardian
  • resolved_at : timestamp de la date de résolution de l'incident. Si non vide, cela signifie que le statut de l'incident est resolved
  • ignored_at : timestamp de la date d'ignorance de l'incident. Si non vide, cela signifie que le statut de l'incident est ignored
  • gitguardian_url : lien vers la page de l'incident sur votre workspace GitGuardian
  • severity : niveau de sévérité de l'incident
  • risk_score : score de risque de l'incident (entier, peut être null)
  • validity : validité du secret (valid, invalid, no_checker, failed_to_check, unknown)
  • status : statut de l'incident (TRIGGERED, ASSIGNED, RESOLVED, IGNORED)
  • ignore_reason : raison déclarative d'ignorance par la personne ayant ignoré l'incident (test_credential, false_positive, low_risk, invalid)
  • custom_tags : tags personnalisés assignés à l'incident, paires clé:valeur séparées par des barres verticales (par exemple team:backend|env:production)
  • secret_revoked : information déclarative indiquant si le secret est révoqué ou non par la personne ayant résolu l'incident (True ou False)
  • tags : tags de l'incident (CHECK_RUN_SKIP_FALSE_POSITIVE, CHECK_RUN_SKIP_LOW_RISK, CHECK_RUN_SKIP_TEST_CRED, DEFAULT_BRANCH, FALSE_POSITIVE, FROM_HISTORICAL_SCAN, IGNORED_IN_CHECK_RUN, PUBLIC, PUBLICLY_LEAKED, REGRESSION, REVOCABLE_BY_GG, SENSITIVE_FILE, TEST_FILE). Note : le tag PUBLICLY_LEAKED indique tout type d'exposition publique. Voir Informations sur l'exposition publique pour plus de détails sur les types d'exposition.
  • incident_name : nom d'affichage de l'incident

Toutes les occurrences

created_atsecret_hashdetector_namematchessource_urlsource_namecommit_urlcommit_shacommit_authorauthor_emailfilepathincident_idgitguardian_urlvaliditypresenceoccurrence_idtagselement_urlauthor_nameincident_name
2020-11-17 10:19:41.495062+00:00CKRCZ36VU1JgnPTN2oWtW5Rn2fE7p/d9G+XQveEXlSg0d+Vjq3vgT7VWMTb6ax/hSlack User Token{"apikey": "xoxp-6378355290-4543728424-36021270421-7714dc2119e296b6e8be1cb6cde31ef5"}https://github.com/my-org/my-reposmy-org/my-reposhttps://github.com/my-org/my-repos/commit/722682f316a934129996eccc4286d56a33812212#diff-568470d013cd12e4f388206520da39ab9a4e4c3c6b95846cbc281abc1ba3c959L3722682f316a934129996eccc4286d56a33812212Lucius Foxlucius-fox-gg@protonmail.comapp.py186644https://dashboard.gitguardian.com/workspace/8/incidents/186644validpresent4367688PUBLICLY_EXPOSEDhttps://github.com/my-org/my-repos/commits/commit-leakedJohn DoeSlack User Token in...
................................................................................
  • created_at : date de l'occurrence
  • secret_hash : hash des correspondances réelles du secret. Il est unique par secret.
  • detector_name : type du secret détecté par le moteur de détection de secrets de GitGuardian
  • matches : le secret réel. Il peut parfois être composé de plusieurs composants que GitGuardian appelle matches (par exemple : client_id, client_secret). C'est pourquoi il est sous format JSON. Vide si vous sélectionnez l'option Masquer les secrets.
  • source_url : lien VCS de la source
  • source_name : nom de la source
  • commit_url : lien VCS du commit (déprécié, veuillez utiliser element_url à la place)
  • commit_sha : sha du commit
  • commit_author : nom git de l'auteur du commit (déprécié, veuillez utiliser author_name à la place)
  • author_email : email de l'auteur de l'élément d'occurrence
  • filepath : chemin du fichier contenant l'occurrence
  • incident_id : id de l'incident GitGuardian auquel l'occurrence appartient
  • gitguardian_url : lien de la page de l'incident sur votre workspace GitGuardian
  • validity : validité du secret (valid, invalid, no_checker, failed_to_check, unknown)
  • presence : présence dans l'historique git de l'occurrence (present, removed)
  • occurrence_id : id de l'occurrence
  • tags : tags de l'occurrence (CHECK_RUN_SKIP_FALSE_POSITIVE, CHECK_RUN_SKIP_LOW_RISK, CHECK_RUN_SKIP_TEST_CRED, DEFAULT_BRANCH, FALSE_POSITIVE, FROM_HISTORICAL_SCAN, IGNORED_IN_CHECK_RUN, PUBLIC, PUBLICLY_EXPOSED, PUBLICLY_LEAKED, REGRESSION, REVOCABLE_BY_GG, SENSITIVE_FILE, TEST_FILE)
  • element_url : lien vers l'élément de l'occurrence
  • author_name : nom de l'auteur de l'élément de l'occurrence
  • incident_name : nom d'affichage de l'incident

Export CSV de Public Monitoring

Les champs suivants sont spécifiques aux exports de public monitoring. Ils diffèrent des exports d'internal monitoring en raison de la nature des secrets exposés publiquement.

Incidents de secrets individuels (public monitoring)

L'export d'incidents de public monitoring inclut tous les champs de l'export d'incidents de base (incident_id à custom_tags), plus les champs suivants à la place de secret_revoked :

incident_idcreated_atsecret_hashdetector_namematchesoccurrences_countassigneesresolved_atignored_atgitguardian_urlseverityrisk_scorevaliditystatusignore_reasoncustom_tagsignore_reasonresolve_reasontagssources_countattachment_reasons
....................................................................................

Les champs partagés avec internal monitoring sont documentés ci-dessus. Les suivants sont spécifiques à public monitoring :

  • resolve_reason : raison fournie lorsque l'incident a été résolu
  • sources_count : nombre de sources distinctes où le secret a été trouvé
  • attachment_reasons : liste séparée par des espaces des raisons pour lesquelles l'incident est attaché au périmètre du compte
  • tags : tags de l'incident (séparés par des espaces, triés par ordre alphabétique)

Toutes les occurrences (public monitoring)

L'export d'occurrences de public monitoring a une structure différente d'internal monitoring, avec des informations supplémentaires sur l'acteur provenant de GitHub :

created_atsecret_hashdetector_namematchessource_urlsource_namefilepathcommit_urlcommit_shacommitter_namecommitter_emailcommitter_github_idcommitter_github_loginauthor_emailauthor_nameauthor_github_idauthor_github_loginactor_github_idactor_github_loginincident_idincident_statusgitguardian_urlvaliditypresenceoccurrence_idtagsattachment_reasons
............................................................................................................

Les champs partagés avec internal monitoring sont documentés ci-dessus. Les suivants sont spécifiques aux occurrences de public monitoring :

  • committer_name : nom du committer du commit
  • committer_email : email du committer du commit
  • committer_github_id : ID GitHub du committer
  • committer_github_login : login GitHub du committer
  • author_github_id : ID GitHub de l'auteur du commit
  • author_github_login : login GitHub de l'auteur du commit
  • actor_github_id : ID GitHub du pusher
  • actor_github_login : login GitHub du pusher
  • incident_status : statut de l'incident parent (TRIGGERED, ASSIGNED, RESOLVED, IGNORED)
  • tags : tags de l'occurrence (séparés par des espaces, triés par ordre alphabétique)
  • attachment_reasons : liste séparée par des espaces des raisons pour lesquelles l'occurrence est attachée au périmètre du compte