Aller au contenu principal

Scan d'autres sources de données pour les secrets

Préambule

ggshield prend en charge un format d'entrée générique via sa commande secret scan docset. Les fichiers d'entrée pour cette commande doivent être au format JSONL, chaque ligne contenant un objet JSON « docset ».

Un docset représente un ensemble de documents pour un type donné. Chaque document a des auteurs et un contenu. Les auteurs peuvent avoir un nom, un email et un rôle. Il s'agit d'un modèle simple et flexible pour faciliter la préparation des données pour la consommation par ggshield. Voir ci-dessous pour plus de détails.

Le format Docset

Structure du docset

Pour une vue plus détaillée du format, voici la structure d'un docset :

{
// Required. Defines the type of data stored in the docset.
"type": "",

// Required. A string to uniquely identify this docset.
// Content depends on the type and is considered opaque but will be displayed in the output.
"id": "",

// Optional. Authors of the doc set.
// Only set if the whole docset has the same authors.
"authors": [$author],

// Required. The documents of the docset.
"documents": [$document]
}

Structure de l'auteur

{
// Required. Content depends on the format and is considered opaque.
// Could be an email, a username or a system specific ID.
"id": "",
// Optional. The author name, if available.
"name": "",
// Optional. The author email, if available.
// This field should be set even if email is used as the ID, since the ID is
// considered opaque.
"email": "",
// Optional. Meaning depends on the format.
// For example in a commit it would be "author" or "committer".
"role": ""
}

Structure du document

{
// Required. A string to uniquely identify the document inside the docset.
// Content depends on the type and is considered opaque but will be displayed in the output.
"id": "",

// Optional. If defined, it replaces (not extend) the global docset authors.
"authors": [$author],

// Required. The content of the document in UTF-8.
"content": ""
}