Alerts - List
Obtenir des alertes pour un référentiel
GET https://advsec.dev.azure.com/{organization}/{project}/_apis/alert/repositories/{repository}/alerts?api-version=7.2-preview.1
GET https://advsec.dev.azure.com/{organization}/{project}/_apis/alert/repositories/{repository}/alerts?top={top}&orderBy={orderBy}&criteria.alertIds={criteria.alertIds}&criteria.alertType={criteria.alertType}&criteria.confidenceLevels={criteria.confidenceLevels}&criteria.dependencyName={criteria.dependencyName}&criteria.fromDate={criteria.fromDate}&criteria.hasLinkedWorkItems={criteria.hasLinkedWorkItems}&criteria.keywords={criteria.keywords}&criteria.licenseName={criteria.licenseName}&criteria.modifiedSince={criteria.modifiedSince}&criteria.onlyDefaultBranch={criteria.onlyDefaultBranch}&criteria.phaseId={criteria.phaseId}&criteria.phaseName={criteria.phaseName}&criteria.pipelineName={criteria.pipelineName}&criteria.ref={criteria.ref}&criteria.ruleId={criteria.ruleId}&criteria.ruleName={criteria.ruleName}&criteria.severities={criteria.severities}&criteria.states={criteria.states}&criteria.toDate={criteria.toDate}&criteria.toolName={criteria.toolName}&criteria.validity={criteria.validity}&expand={expand}&continuationToken={continuationToken}&api-version=7.2-preview.1
Paramètres URI
| Nom | Dans | Obligatoire | Type | Description |
|---|---|---|---|---|
|
organization
|
path | True |
string |
Nom de l’organisation Azure DevOps. |
|
project
|
path | True |
string |
ID de projet ou nom du projet |
|
repository
|
path | True |
string |
Nom ou ID du référentiel |
|
api-version
|
query | True |
string |
Version de l’API à utiliser. Cette valeur doit être définie sur « 7.2-preview.1 » pour utiliser cette version de l’API. |
|
continuation
|
query |
string |
S’il existe plus d’alertes que possible, un jeton de continuation est placé dans l’en-tête « x-ms-continuationtoken ». Utilisez ce jeton ici pour obtenir la page suivante des alertes |
|
|
criteria.
|
query |
integer[] |
Si elle est fournie, renvoyez uniquement des alertes avec les ID spécifiés. |
|
|
criteria.
|
query |
Si elle est fournie, renvoyez uniquement les alertes de ce type. Sinon, retournez des alertes de tous les types. |
||
|
criteria.
|
query |
string[] |
Si elle est fournie, retournez uniquement des alertes à ces niveaux de confiance. |
|
|
criteria.
|
query |
string |
Si elle est fournie, seules les alertes pour cette dépendance sont retournées. |
|
|
criteria.
|
query |
string (date-time) |
Si elle est fournie, seules les alertes renvoyées sont affichées en dernier après cette date. |
|
|
criteria.
|
query |
boolean |
Si elle est fournie, filtre les alertes selon qu’elles ont des éléments de travail liés. |
|
|
criteria.
|
query |
string |
Si elle est fournie, renvoyez uniquement les alertes dont les titres correspondent à ce modèle. |
|
|
criteria.
|
query |
string |
Si elle est fournie, seules les alertes créées pour la dépendance avec cette licence sont retournées. |
|
|
criteria.
|
query |
string (date-time) |
Si elle est fournie, retournez uniquement les alertes qui ont été modifiées depuis cette date. |
|
|
criteria.
|
query |
boolean |
Si la valeur est true ou non définie, retourne uniquement les alertes trouvées sur la branche par défaut du référentiel. |
|
|
criteria.
|
query |
string (uuid) |
Si elle est fournie avec pipelineName, seules les alertes renvoyées sont détectées dans cette phase de pipeline |
|
|
criteria.
|
query |
string |
Si elle est fournie avec pipelineName, seules les alertes renvoyées sont détectées dans cette phase de pipeline |
|
|
criteria.
|
query |
string |
Si elle est fournie, seules les alertes renvoyées sont détectées dans ce pipeline. |
|
|
criteria.
|
query |
string |
Si elle est fournie, incluez uniquement des alertes pour cette référence. |
|
|
criteria.
|
query |
string |
Si elle est fournie, renvoyez uniquement des alertes pour cette règle. |
|
|
criteria.
|
query |
string |
Si elle est fournie, renvoyez uniquement des alertes pour cette règle. |
|
|
criteria.
|
query |
string[] |
Si elle est fournie, retournez uniquement des alertes à ces gravités. |
|
|
criteria.
|
query |
string[] |
Si elle est fournie, retournez uniquement des alertes dans ces états. |
|
|
criteria.
|
query |
string (date-time) |
Si elle est fournie, seules les alertes renvoyées sont affichées avant cette date. |
|
|
criteria.
|
query |
string |
Si elle est fournie avec toolName, renvoyez uniquement les alertes détectées par cet outil. |
|
|
criteria.
|
query |
string[] |
Si elle est fournie, retournez uniquement des alertes avec la validité spécifiée ici. Si l’état de validité est Inconnu, récupérez les alertes de tous les résultats de validité. |
|
|
expand
|
query | |||
|
order
|
query |
string |
Doit être « id » « firstSeen » « lastSeen » « fixedOn » ou « gravité » Par défaut sur « id » |
|
|
top
|
query |
integer (int32) |
Nombre maximal d’alertes à retourner |
Réponses
| Nom | Type | Description |
|---|---|---|
| 200 OK |
Alert[] |
opération réussie |
Sécurité
oauth2
Type:
oauth2
Flux:
accessCode
URL d’autorisation:
https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
URL du jeton:
https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
Étendues
| Nom | Description |
|---|---|
| vso.advsec | Accorde la possibilité de lire des alertes, des instances de résultats, des instances de résultat d’analyse |
Définitions
| Nom | Description |
|---|---|
| Alert | |
|
Alert |
|
|
Alert |
Type de l’alerte. Par exemple, secret, code, etc. |
|
Alert |
Données de validité pour une alerte qui fera partie des API d’alertes et de l’interface utilisateur. |
|
Alert |
|
| Confidence |
Niveau de confiance de l’alerte. |
|
Dependency |
Type de dépendance de cet emplacement logique. |
| Dismissal |
Informations sur un licenciement d’alerte |
|
Dismissal |
Motif du licenciement |
|
Identity |
|
| License |
Informations de licence pour les dépendances |
|
License |
État de la licence |
|
License |
Type de licence |
|
Logical |
|
|
Physical |
Emplacement dans le système de contrôle de code source où le problème a été trouvé |
|
Reference |
Classe à représenter une collection de liens de référence REST. |
| Region | |
|
Relation |
Métadonnées à associer à l’alerte. |
| Rule |
Règle d’analyse qui a provoqué l’alerte. |
| Severity |
Gravité de l’alerte. |
| State |
Cette valeur est calculée et retournée par le service. Il s’agit d’une valeur basée sur les résultats de toutes les configurations d’analyse. |
| Tool |
Outil d’analyse qui peut générer des alertes de sécurité |
|
Validation |
|
|
Validation |
Résultat de la validation. |
|
Version |
Informations sur la localisation des fichiers dans un système de contrôle de code source |
Alert
| Nom | Type | Description |
|---|---|---|
| additionalProperties |
object |
Propriétés supplémentaires de cette alerte. |
| alertId |
integer (int64) |
Identificateur de l’alerte. Il est unique au sein de l’organisation Azure DevOps. |
| alertType |
Type de l’alerte. Par exemple, secret, code, etc. |
|
| confidence |
Niveau de confiance de l’alerte. |
|
| dismissal |
Contient des informations pour le renvoi de l’alerte si l’alerte a été ignorée. |
|
| firstSeenDate |
string (date-time) |
Cette valeur est calculée et retournée par le service. Cette valeur représente la première fois que le service a vu ce problème signalé dans une instance d’analyse. |
| fixedDate |
string (date-time) |
Cette valeur est calculée et retournée par le service. Si le problème est résolu, cette valeur représente l’heure à laquelle le service a vu ce problème résolu dans une instance d’analyse. |
| gitRef |
string |
Référence à un objet git, par exemple, branche ref. |
| introducedDate |
string (date-time) |
Cette valeur est calculée et retournée par le service. Cette valeur représente la première fois que la vulnérabilité a été introduite. |
| lastSeenDate |
string (date-time) |
Cette valeur est calculée et retournée par le service. Cette valeur représente la dernière fois que le service a vu ce problème signalé dans une instance d’analyse. |
| logicalLocations |
Emplacements logiques de l’alerte. Cette valeur est calculée et retournée par le service. Il s’agit d’une valeur basée sur les résultats de toutes les configurations d’analyse. Un exemple d’emplacement logique est un composant. |
|
| physicalLocations |
Cette valeur est calculée et retournée par le service. Il s’agit d’une valeur basée sur les résultats de toutes les configurations d’analyse. Un exemple d’emplacement physique est un emplacement de fichier. |
|
| projectId |
string (uuid) |
Identificateur du projet où l’alerte a été détectée. |
| relations |
Relations entre les alertes et d’autres artefacts. |
|
| repositoryId |
string |
Identificateur du référentiel où l’alerte a été détectée. |
| repositoryUrl |
string |
URL du référentiel où l’alerte a été détectée. |
| severity |
Gravité de l’alerte. |
|
| state |
Cette valeur est calculée et retournée par le service. Il s’agit d’une valeur basée sur les résultats de toutes les configurations d’analyse. |
|
| title |
string |
Le titre ne sera rendu que sous forme de texte et ne prend pas en charge la mise en forme markdown. Il existe une limite maximale de caractères de 256. |
| tools |
Tool[] |
Outils qui ont détecté ce problème. |
| truncatedSecret |
string |
Version tronquée/obfusquée du secret relatif à l’alerte (le cas échéant). |
| validationFingerprints |
ValidationFingerprints pour la vérification de la durée de vie secrète. Uniquement retourné à la demande dans l’API Get avec le paramètre Expand défini sur ValidationFingerprint (non retourné dans l’API List) |
|
| validityDetails |
Détails de validité d’une alerte. Actuellement, cela s’applique uniquement aux alertes secrètes. En cas d’alertes secrètes, l’état de validité et l’heure sont calculés en examinant les résultats de la durée de vie des empreintes digitales de validation associées à une alerte. |
AlertListExpandOption
| Valeur | Description |
|---|---|
| none |
Pas de développement. |
| minimal |
Retourne une représentation minimale d’une alerte. |
AlertType
Type de l’alerte. Par exemple, secret, code, etc.
| Valeur | Description |
|---|---|
| unknown |
Le code a un type de vulnérabilité non spécifié |
| dependency |
Le code utilise une dépendance avec une vulnérabilité connue. |
| secret |
Le code contient un secret qui a été compromis et doit être révoqué. |
| code |
Le code contient une faiblesse déterminée par l’analyse statique. |
AlertValidityInfo
Données de validité pour une alerte qui fera partie des API d’alertes et de l’interface utilisateur.
| Nom | Type | Description |
|---|---|---|
| validityLastCheckedDate |
string (date-time) |
|
| validityStatus |
AlertValidityStatus
| Valeur | Description |
|---|---|
| none |
En l’absence d’empreintes digitales de validation attachées à l’alerte. |
| unknown |
Lorsque les validations pour les empreintes digitales de validation associées à l’alerte n’ont pas été concluantes. |
| active |
Quand au moins une empreinte digitale de validation associée à l’alerte est exploitable. |
| inactive |
Lorsque toutes les empreintes digitales de validation associées à l’alerte ne sont pas exploitables. |
Confidence
Niveau de confiance de l’alerte.
| Valeur | Description |
|---|---|
| high |
Niveau de confiance élevé pour l’alerte |
| other |
Autre niveau de confiance pour l’alerte |
DependencyKind
Type de dépendance de cet emplacement logique.
| Valeur | Description |
|---|---|
| unknown | |
| rootDependency |
La dépendance racine a introduit l’alerte du composant. |
| component |
Composant en cours d’alerte. |
| vulnerableDependency |
Dépendance vulnérable. Dépréciation de cette valeur. Utilisez plutôt le composant. |
Dismissal
Informations sur un licenciement d’alerte
| Nom | Type | Description |
|---|---|---|
| dismissalId |
integer (int64) |
ID unique pour ce licenciement |
| dismissalType |
Motif du licenciement |
|
| message |
string |
Message d’information attaché au licenciement |
| stateChangedBy |
string (uuid) |
Identité qui a ignoré l’alerte |
| stateChangedByIdentity |
Identité qui a ignoré l’alerte |
DismissalType
Motif du licenciement
| Valeur | Description |
|---|---|
| unknown |
Type de licenciement inconnu |
| fixed |
Le renvoi indiquant qu’une alerte a été corrigée |
| acceptedRisk |
Licenciement indiquant que l’utilisateur accepte un risque pour l’alerte |
| falsePositive |
Le renvoi indiquant qu’une alerte est un faux positif et ne sera probablement pas résolu. |
| agreedToGuidance |
Licenciement indiquant que l’utilisateur accepte de suivre les instructions de licence. |
| toolUpgrade |
Le licenciement indiquant que l’outil de détection back-end a été mis à niveau et que l’alerte n’est pas détectée par la nouvelle version de l’outil. |
| notDistributed |
Le licenciement indiquant que la dépendance affectée n’est pas distribuée aux utilisateurs finaux. |
IdentityRef
| Nom | Type | Description |
|---|---|---|
| _links |
Ce champ contient zéro ou plus de liens intéressants sur le sujet du graphe. Ces liens peuvent être appelés pour obtenir des relations supplémentaires ou des informations plus détaillées sur ce sujet de graphique. |
|
| descriptor |
string |
Le descripteur est le principal moyen de référencer l’objet du graphique pendant l’exécution du système. Ce champ identifie de manière unique le même sujet de graphique sur les comptes et les organisations. |
| directoryAlias |
string |
Déconseillé : peut être récupéré en interrogeant l’utilisateur Graph référencé dans l’entrée « auto » du dictionnaire IdentityRef « _links » |
| displayName |
string |
Il s’agit du nom complet non unique de l’objet du graphique. Pour modifier ce champ, vous devez modifier sa valeur dans le fournisseur source. |
| id |
string |
|
| imageUrl |
string |
Déconseillé - Disponible dans l’entrée « avatar » du dictionnaire IdentityRef « _links » |
| inactive |
boolean |
Déconseillé : peut être récupéré en interrogeant l’état d’appartenance Graph référencé dans l’entrée « membershipState » du dictionnaire GraphUser « _links » |
| isAadIdentity |
boolean |
Déconseillé : peut être déduit du type d’objet du descripteur (Descriptor.IsAadUserType/Descriptor.IsAadGroupType) |
| isContainer |
boolean |
Déconseillé : peut être déduit du type d’objet du descripteur (Descriptor.IsGroupType) |
| isDeletedInOrigin |
boolean |
|
| profileUrl |
string |
Déconseillé : non utilisé dans la plupart des implémentations préexistantes de ToIdentityRef |
| uniqueName |
string |
Déconseillé : utiliser Domain+PrincipalName à la place |
| url |
string |
Cette URL est l’itinéraire complet vers la ressource source de ce sujet de graphe. |
License
Informations de licence pour les dépendances
| Nom | Type | Description |
|---|---|---|
| name |
string |
Nom de la licence |
| state |
État de la licence |
|
| type |
Type de licence |
|
| url |
string |
URL des informations de licence |
LicenseState
État de la licence
| Valeur | Description |
|---|---|
| unknown |
Les informations de la licence n’ont pas été collectées par ClearlyDefined |
| notHarvested |
Les informations de la licence n’ont pas été collectées par ClearlyDefined |
| harvested |
Les informations de la licence ont été collectées par ClearlyDefined |
LicenseType
Type de licence
| Valeur | Description |
|---|---|
| unknown |
Le type de licence est inconnu ou non spécifié. |
| permissive |
Une licence permissive permet aux logiciels d’être librement utilisés, modifiés et distribués avec des restrictions minimales. Exemples : MIT, Apache 2.0. |
| weakCopyleft |
Une licence copyleft faible nécessite que les modifications apportées au logiciel soient partagées sous la même licence, mais n’impose pas de restrictions sur les œuvres plus volumineuses qui incluent le logiciel. Exemples : LGPL. |
| strongCopyleft |
Une licence copyleft forte exige que tous les travaux dérivés ou plus volumineux qui incluent le logiciel doivent également être distribués sous la même licence. Exemples :PG. |
| networkCopyleft |
Une licence copyleft réseau étend l’exigence de copyleft aux logiciels accessibles sur un réseau, ce qui nécessite que le code source soit mis à disposition. Exemples : AGPL. |
| other |
Une licence qui ne correspond pas aux catégories standard ou qui est définie sur mesure. Dans CG, il indique une licence commerciale. |
| noAssertion |
Aucune assertion n’est faite sur le type de licence, ce qui la laisse non spécifiée. |
LogicalLocation
| Nom | Type | Description |
|---|---|---|
| fullyQualifiedName |
string |
|
| kind |
Type de dépendance de cet emplacement logique. |
|
| license |
Informations de licence pour la dépendance uniquement applicable lorsque Type est « Composant » et alertType de l’alerte avec cet emplacement est Licence |
PhysicalLocation
Emplacement dans le système de contrôle de code source où le problème a été trouvé
| Nom | Type | Description |
|---|---|---|
| filePath |
string |
Chemin d’accès du fichier où le problème a été trouvé |
| region |
Détails sur l’emplacement où le problème a été trouvé, y compris un extrait de code |
|
| versionControl |
Informations spécifiques au système de contrôle de code source sur l’emplacement |
ReferenceLinks
Classe à représenter une collection de liens de référence REST.
| Nom | Type | Description |
|---|---|---|
| links |
object |
Vue en lecture seule des liens. Étant donné que les liens de référence sont en lecture seule, nous voulons uniquement les exposer en lecture seule. |
Region
| Nom | Type | Description |
|---|---|---|
| columnEnd |
integer (int32) |
Colonne dans laquelle l’extrait de code se termine |
| columnStart |
integer (int32) |
Colonne dans laquelle l’extrait de code démarre |
| lineEnd |
integer (int32) |
Numéro de ligne où se termine l’extrait de code |
| lineStart |
integer (int32) |
Numéro de ligne dans lequel l’extrait de code démarre |
RelationMetadata
Métadonnées à associer à l’alerte.
| Nom | Type | Description |
|---|---|---|
| attributes |
object |
Tous les attributs supplémentaires des métadonnées. |
| rel |
string |
Type des métadonnées. |
| url |
string |
URL des métadonnées. |
Rule
Règle d’analyse qui a provoqué l’alerte.
| Nom | Type | Description |
|---|---|---|
| additionalProperties |
object |
Des propriétés supplémentaires de cette règle dépendent du type de règle. Par exemple, les règles de dépendance peuvent inclure l’ID CVE s’il est disponible. |
| description |
string |
Description de ce que cette règle détecte |
| friendlyName |
string |
Identificateur de règle de texte brut |
| helpMessage |
string |
Informations supplémentaires sur cette règle |
| opaqueId |
string |
Identificateur de règle spécifique à l’outil |
| resources |
string |
Liste de ressources au format Markdown pour en savoir plus sur la règle. Dans certains cas, RuleInfo.AdditionalProperties.advisoryUrls est utilisé à la place. |
| tags |
string[] |
Balises de classification pour cette règle |
Severity
Gravité de l’alerte.
| Valeur | Description |
|---|---|
| low | |
| medium | |
| high | |
| critical | |
| note | |
| warning | |
| error | |
| undefined |
State
Cette valeur est calculée et retournée par le service. Il s’agit d’une valeur basée sur les résultats de toutes les configurations d’analyse.
| Valeur | Description |
|---|---|
| unknown |
L’alerte est dans un état indéterminé |
| active |
L’alerte a été détectée dans le code |
| dismissed |
L’alerte a été ignorée par un utilisateur |
| fixed |
Le problème n’est plus détecté dans le code |
| autoDismissed |
L’outil a déterminé que le problème n’est plus un risque |
Tool
Outil d’analyse qui peut générer des alertes de sécurité
| Nom | Type | Description |
|---|---|---|
| name |
string |
Nom de l’outil |
| rules |
Rule[] |
Règles définies par l’outil |
ValidationFingerprint
| Nom | Type | Description |
|---|---|---|
| assetFingerprint |
object |
Représentation de la valeur clé de l’empreinte digitale de la ressource. |
| validationFingerprintHash |
string |
Hachage associé au secret. |
| validationFingerprintJson |
string |
Représentation JSON du secret. N’oubliez pas que ce champ peut contenir le secret sous sa forme non chiffrée. Veuillez faire preuve de prudence lors de l’utilisation de ce champ. |
| validityLastUpdatedDate |
string (date-time) |
Date de la dernière mise à jour de la validité. |
| validityResult |
Résultat de la validation. |
ValidationResult
Résultat de la validation.
| Valeur | Description |
|---|---|
| none |
Valeur par défaut, aucune information sur le secret ne peut être déduite de cela. |
| exploitable |
Représente un secret qui peut être utilisé pour se connecter à une ressource. |
| notExploitable |
Représente un secret qui ne peut pas être utilisé pour se connecter à une ressource. |
| inconclusive |
Représente un secret où aucune détermination ne peut être faite sur son exploitabilité. |
| validationNotSupported |
Représente un secret où nous ne pouvons pas valider, par exemple un validateur dynamique manquant. |
| transientError |
Représente un secret où le processus de validation a échoué en raison d’une erreur temporaire, par exemple un problème réseau. Ce résultat indique que le processus de validation doit être retenté. |
VersionControlDetails
Informations sur la localisation des fichiers dans un système de contrôle de code source
| Nom | Type | Description |
|---|---|---|
| commitHash |
string |
|
| itemUrl |
string |