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é communeincident_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

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 :

Format d'export
Le format de l'export CSV ressemblera aux exemples ci-dessous.
Incidents de secrets individuels
| incident_id | created_at | secret_hash | detector_name | matches | occurrences_count | assignees | resolved_at | ignored_at | gitguardian_url | severity | risk_score | validity | status | ignore_reason | custom_tags | secret_revoked | tags | incident_name |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 186644 | 2020-11-17 08:19:48.374388+00:00 | CKRCZ36VU1JgnPTN2oWtW5Rn2fE7p/d9G+XQveEXlSg0d+Vjq3vgT7VWMTb6ax/h | Slack User Token | {"apikey": "xoxp-6378355290-4543728424-36021270421-7714dc2119e296b6e8be1cb6cde31ef5"} | 2 | https://dashboard.gitguardian.com/workspace/8/incidents/186644 | Critical | 55 | valid | TRIGGERED | Slack User Token in... | |||||||
| 49568 | 2020-03-25 13:26:11.134688+00:00 | kFXL5aDL5Pvf3odFhfS1Sfxxguqg7/tFOLgmM94+EPnMHwNGLCAWyy4SR5jhsuGk | AWS Keys | {"client_id": "AROAK1XZAJSZHCUDQSHT", "client_secret": "cH1SL1LFzSwWoJV5wDtn8rcTSNiieufBOe58b6Lu"} | 4 | john.doe@company.com | 2020-11-03 14:48:41.634750+00:00 | https://dashboard.gitguardian.com/workspace/8/incidents/49568 | Medium | 30 | invalid | RESOLVED | team:backend|env:production | TRUE | SENSITIVE_FILE | AWS 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_LEAKEDindique 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_at | secret_hash | detector_name | matches | source_url | source_name | commit_url | commit_sha | commit_author | author_email | filepath | incident_id | gitguardian_url | validity | presence | occurrence_id | tags | element_url | author_name | incident_name |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2020-11-17 10:19:41.495062+00:00 | CKRCZ36VU1JgnPTN2oWtW5Rn2fE7p/d9G+XQveEXlSg0d+Vjq3vgT7VWMTb6ax/h | Slack User Token | {"apikey": "xoxp-6378355290-4543728424-36021270421-7714dc2119e296b6e8be1cb6cde31ef5"} | https://github.com/my-org/my-repos | my-org/my-repos | https://github.com/my-org/my-repos/commit/722682f316a934129996eccc4286d56a33812212#diff-568470d013cd12e4f388206520da39ab9a4e4c3c6b95846cbc281abc1ba3c959L3 | 722682f316a934129996eccc4286d56a33812212 | Lucius Fox | lucius-fox-gg@protonmail.com | app.py | 186644 | https://dashboard.gitguardian.com/workspace/8/incidents/186644 | valid | present | 4367688 | PUBLICLY_EXPOSED | https://github.com/my-org/my-repos/commits/commit-leaked | John Doe | Slack 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_id | created_at | secret_hash | detector_name | matches | occurrences_count | assignees | resolved_at | ignored_at | gitguardian_url | severity | risk_score | validity | status | ignore_reason | custom_tags | ignore_reason | resolve_reason | tags | sources_count | attachment_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_at | secret_hash | detector_name | matches | source_url | source_name | filepath | commit_url | commit_sha | committer_name | committer_email | committer_github_id | committer_github_login | author_email | author_name | author_github_id | author_github_login | actor_github_id | actor_github_login | incident_id | incident_status | gitguardian_url | validity | presence | occurrence_id | tags | attachment_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