Aller au contenu principal

Exporter les données

GitGuardian vous permet d'exporter des données sous la forme d'un rapport CSV.

Rapport CSV

Options d'export

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

  • Individual secrets incidents vs All occurrences.
    • Individual secrets incidents 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. Ceci est utile pour un reporting de haut niveau.
    • All occurrences vous donne la liste détaillée de toutes les occurrences et leur emplacement. De tels rapports peuvent être utilisés pour la remédiation ou 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.
  • Show secrets vs Hide 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.
  • Filtering : les rapports CSV peuvent refléter votre filtrage et votre sélection.
    • Matching the current filters and search query : seuls les incidents correspondant à vos critères de filtrage actuels seront exportés.
    • Matching view : 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 seront pas appliquées.
    • No filters : tous les incidents seront exportés, indépendamment de la vue ou des filtres appliqués.
  • Separator : personnalisez le séparateur du rapport.
    • comma-separated
    • tab-separated

export_as_csv csv_export_modal

Notez qu'il est également possible d'exporter des incidents sélectionnés manuellement. Sélectionnez vos incidents et cliquez sur Download dans la barre d'actions groupées :

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 matches du secret réel. 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. Parfois, il peut être composé de plusieurs composants que GitGuardian appelle matches (ex : client_id, client_secret). C'est pourquoi il est au format JSON. Vide si vous sélectionnez l'option Hide secrets.
  • occurrences_count : nombre d'occurrences de l'incident de secret
  • assignees : e-mail de l'assigné de l'incident qui est membre du workspace GitGuardian
  • resolved_at : horodatage de la date de résolution de l'incident. S'il n'est pas vide, cela signifie que le statut de l'incident est resolved
  • ignored_at : horodatage de la date à laquelle l'incident a été ignoré. S'il n'est pas 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 nul)
  • 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 pour ignorer l'incident par la personne qui l'a ignoré (test_credential, false_positive, low_risk, invalid)
  • custom_tags : tags personnalisés attribués à l'incident, paires clé:valeur séparées par des pipes (ex. team:backend|env:production)
  • secret_revoked : information déclarative indiquant si le secret est révoqué ou non par la personne qui a 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). Remarque : 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 matches du secret réel. 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. Parfois, il peut être composé de plusieurs composants que GitGuardian appelle matches (ex : client_id, client_secret). C'est pourquoi il est au format JSON. Vide si vous sélectionnez l'option Hide 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 : e-mail de l'auteur de l'élément d'occurrence
  • filepath : chemin du fichier contenant l'occurrence
  • incident_id : id de l'incident GitGuardian auquel appartient l'occurrence
  • 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 d'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 des incidents de Public Monitoring inclut tous les champs de l'export de base des incidents (de 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 rattaché au périmètre du compte
  • tags : tags de l'incident, séparés par des espaces (COMPANY_NAME_IN_COMMIT, DECODED_BASE64, DECRYPTED, DOMAIN, FALSE_POSITIVE, FROM_EXPLORE, FROM_HISTORICAL_SCAN, FROM_SECRET_GRASPER, INTERNALLY_LEAKED, IS_COMPANY_CONTEXT, JWT_PROPERTIES, MINIFIED_FILE, PROD, SENSITIVE_FILE, TEST_FILE, WHITELISTED)

Toutes les occurrences (Public Monitoring)

L'export des occurrences de Public Monitoring a une structure différente de celle 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 : e-mail 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 (COMPANY_NAME_IN_COMMIT, DECODED_BASE64, DECRYPTED, DOMAIN, FALSE_POSITIVE, FROM_EXPLORE, FROM_HISTORICAL_SCAN, FROM_SECRET_GRASPER, IS_COMPANY_CONTEXT, JWT_PROPERTIES, MINIFIED_FILE, PROD, SENSITIVE_FILE, TEST_FILE, WHITELISTED)
  • attachment_reasons : liste séparée par des espaces des raisons pour lesquelles l'occurrence est rattachée au périmètre du compte