Aller au contenu principal

Exporter les données

GitGuardian vous permet d'exporter des données sous forme de 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 dans la vue, puis sélectionnez les options de l'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. C'est utile pour un reporting de haut niveau.
    • All occurrences vous donne la liste détaillée de toutes les occurrences et de 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 à l'aide de 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 s'appliqueront pas.
    • No filters : tous les incidents seront exportés, quels que soient la vue ou les 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 les incidents qui ont été 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.

Individual secrets incidents

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 réels du secret. Il est unique par secret.
  • detector_name : type du secret détecté par le moteur de détection de secrets 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 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 : timestamp 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 : timestamp de la date d'ignorance de l'incident. 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 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 qui a 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 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). Note : le tag PUBLICLY_LEAKED indique tout type d'exposition publique. Consultez Informations sur l'exposition publique pour plus de détails sur les types d'exposition.
  • incident_name : nom d'affichage de l'incident

All 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 réels du secret. Il est unique par secret.
  • detector_name : type du secret détecté par le moteur de détection de secrets 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 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 de l'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 de l'occurrence
  • incident_name : nom d'affichage de l'incident

Export CSV de Public Monitoring

Les champs suivants sont spécifiques aux exports Public Monitoring. Ils diffèrent des exports Internal Monitoring en raison de la nature des secrets exposés publiquement.

Individual secrets incidents (Public Monitoring)

L'export des incidents Public Monitoring inclut tous les champs de l'export d'incidents de base (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)

All occurrences (Public Monitoring)

L'export des occurrences Public Monitoring a une structure différente d'Internal Monitoring, avec des informations supplémentaires sur les acteurs 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 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