Partager via


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.

continuationToken
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.alertIds
query

integer[]

Si elle est fournie, renvoyez uniquement des alertes avec les ID spécifiés.
Sinon, retournez n’importe quelle alerte.

criteria.alertType
query

AlertType

Si elle est fournie, renvoyez uniquement les alertes de ce type. Sinon, retournez des alertes de tous les types.

criteria.confidenceLevels
query

string[]

Si elle est fournie, retournez uniquement des alertes à ces niveaux de confiance.
High et Other doivent être spécifiés pour extraire les alertes de tous les niveaux de confiance.
Sinon, retournez des alertes avec un niveau de confiance élevé.
Applicable uniquement aux alertes secrètes.

criteria.dependencyName
query

string

Si elle est fournie, seules les alertes pour cette dépendance sont retournées.
Sinon, retournez des alertes pour toutes les dépendances.
Dans une soumission sarif, une dépendance (ou un composant) est spécifiée en résultat. RelatedLocations[].logicalLocation.
Non applicable aux alertes secrètes.

criteria.fromDate
query

string (date-time)

Si elle est fournie, seules les alertes renvoyées sont affichées en dernier après cette date.
Sinon, retournez toutes les alertes.

criteria.hasLinkedWorkItems
query

boolean

Si elle est fournie, filtre les alertes selon qu’elles ont des éléments de travail liés.
Définissez sur « true » pour renvoyer uniquement les alertes avec des éléments de travail liés.
Définissez sur « false » pour renvoyer uniquement les alertes sans éléments de travail liés.
S’il n’est pas fourni, retourne toutes les alertes indépendamment des éléments de travail liés.
Non applicable aux alertes d’analyse des secrets et des dépendances.

criteria.keywords
query

string

Si elle est fournie, renvoyez uniquement les alertes dont les titres correspondent à ce modèle.

criteria.licenseName
query

string

Si elle est fournie, seules les alertes créées pour la dépendance avec cette licence sont retournées.
Sinon, retournez des alertes pour toutes les licences.
Dans une soumission sarif, la licence d’une dépendance (ou d’un composant) est spécifiée en conséquence. RelatedLocations[].logicalLocation.properties.license.
Non applicable aux alertes secrètes.

criteria.modifiedSince
query

string (date-time)

Si elle est fournie, retournez uniquement les alertes qui ont été modifiées depuis cette date.
Sinon, retournez toutes les alertes.

criteria.onlyDefaultBranch
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.
S’il n’y a pas eu d’exécutions terminées sur la branche par défaut, la dernière exécution est utilisée à la place, quelle que soit la branche utilisée pour cette exécution. Si la valeur est false, retournez des alertes de toutes les branches.
Cette option est ignorée si la référence est fournie.
Non applicable aux alertes secrètes.

criteria.phaseId
query

string (uuid)

Si elle est fournie avec pipelineName, seules les alertes renvoyées sont détectées dans cette phase de pipeline
Sinon, retournez des alertes détectées dans toutes les phases.
Non applicable aux alertes secrètes.

criteria.phaseName
query

string

Si elle est fournie avec pipelineName, seules les alertes renvoyées sont détectées dans cette phase de pipeline
Sinon, retournez des alertes détectées dans toutes les phases.
Non applicable aux alertes secrètes.

criteria.pipelineName
query

string

Si elle est fournie, seules les alertes renvoyées sont détectées dans ce pipeline.
Sinon, retournez des alertes détectées dans tous les pipelines.
Non applicable aux alertes secrètes.

criteria.ref
query

string

Si elle est fournie, incluez uniquement des alertes pour cette référence.
S’il n’est pas fourni et OnlyDefaultBranch a la valeur true, incluez uniquement les alertes trouvées sur la branche par défaut ou la dernière branche d’exécution s’il n’existe aucune configuration d’analyse pour la branche par défaut.
Sinon, incluez des alertes de toutes les branches.
Non applicable aux alertes secrètes.

criteria.ruleId
query

string

Si elle est fournie, renvoyez uniquement des alertes pour cette règle.
Sinon, retournez des alertes de toutes les règles.

criteria.ruleName
query

string

Si elle est fournie, renvoyez uniquement des alertes pour cette règle.
Sinon, retournez des alertes pour toutes les règles.

criteria.severities
query

string[]

Si elle est fournie, retournez uniquement des alertes à ces gravités.
Sinon, retournez des alertes à n’importe quelle gravité.

criteria.states
query

string[]

Si elle est fournie, retournez uniquement des alertes dans ces états.
Sinon, retournez des alertes dans n’importe quel état.

criteria.toDate
query

string (date-time)

Si elle est fournie, seules les alertes renvoyées sont affichées avant cette date.
Sinon, retournez toutes les alertes.

criteria.toolName
query

string

Si elle est fournie avec toolName, renvoyez uniquement les alertes détectées par cet outil.
Sinon, retournez des alertes détectées par tous les outils.

criteria.validity
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é.
Applicable uniquement aux alertes secrètes.
Le filtrage par état de validité peut entraîner un retour d’alertes inférieur à celui demandé avec le paramètre TOP.
En raison de ce comportement, le continuationToken(]]>) dans l’en-tête de réponse doit être utilisé pour décider si un autre lot doit être récupéré.

expand
query

AlertListExpandOption

orderBy
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
AlertListExpandOption
AlertType

Type de l’alerte. Par exemple, secret, code, etc.

AlertValidityInfo

Données de validité pour une alerte qui fera partie des API d’alertes et de l’interface utilisateur.

AlertValidityStatus
Confidence

Niveau de confiance de l’alerte.

DependencyKind

Type de dépendance de cet emplacement logique.

Dismissal

Informations sur un licenciement d’alerte

DismissalType

Motif du licenciement

IdentityRef
License

Informations de licence pour les dépendances

LicenseState

État de la licence

LicenseType

Type de licence

LogicalLocation
PhysicalLocation

Emplacement dans le système de contrôle de code source où le problème a été trouvé

ReferenceLinks

Classe à représenter une collection de liens de référence REST.

Region
RelationMetadata

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é

ValidationFingerprint
ValidationResult

Résultat de la validation.

VersionControlDetails

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

AlertType

Type de l’alerte. Par exemple, secret, code, etc.

confidence

Confidence

Niveau de confiance de l’alerte.

dismissal

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

LogicalLocation[]

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

PhysicalLocation[]

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

RelationMetadata[]

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

Severity

Gravité de l’alerte.

state

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

ValidationFingerprint[]

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

AlertValidityInfo

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

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

DismissalType

Motif du licenciement

message

string

Message d’information attaché au licenciement

stateChangedBy

string (uuid)

Identité qui a ignoré l’alerte

stateChangedByIdentity

IdentityRef

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

ReferenceLinks

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

LicenseState

État de la licence

type

LicenseType

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

DependencyKind

Type de dépendance de cet emplacement logique.

license

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

Region

Détails sur l’emplacement où le problème a été trouvé, y compris un extrait de code

versionControl

VersionControlDetails

Informations spécifiques au système de contrôle de code source sur l’emplacement

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

ValidationResult

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