Sarif, le format d'échange des résultats de l'analyse statique, définit un format standard pour la sortie des outils d'analyse statique. Il s'agit d'un format puissant et sophistiqué adapté aux besoins d'une grande variété d'outils. Pour cette raison - et parce que le format est défini dans une spécification de page de 220 plus écrite dans un langage formel! - Il peut être difficile d'apprendre Sarif et de comprendre quelles parties vous devez utiliser.
Ces tutoriels visent à présenter Sarif d'une manière plus accessible. Nous allons commencer par un arrière-plan: pourquoi avons-nous besoin de Sarif? D'où vient-il? Que peut-il faire? Ensuite, nous plongerons dans le format, explorant d'abord les concepts les plus basiques, puis passer à des concepts plus avancés.
Les concepts avancés ne s'appliquent généralement qu'à un sous-ensemble de producteurs et de consommateurs de Sarif, vous ne lisez donc pas tout. Lisez simplement le matériel d'introduction, puis choisissez et choisissez les sujets supplémentaires qui vous intéressent.
Vous pouvez trouver les exemples de fichiers affichés dans les tutoriels dans le répertoire samples . Ce sont tous des fichiers Sarif valides à moins que je dis le contraire.
Parfois, les tutoriels sont liés à une section de la spécification SariF pour des informations ou des descriptions plus détaillées des scénarios avancés. Ces liens ressemblent à ceci: §3.13: objet Sariflog et ils pointent dans la version HTML de la spécification. Il existe également des versions PDF et .DOCX dans le dossier SARIF 2.1.0 CS01 (spécification du comité 1) sur le site Web de l'OASIS.
La spécification est définitive (et si nous voulons être vraiment techniques, la version .Docx de la spécification est définitive, mais supposons qu'il n'y a pas de bogues dans les convertisseurs PDF ou HTML). Si cela semble que quelque chose dans ces tutoriels n'est pas d'accord avec la spécification, faites-le moi savoir et je corrigerai les tutoriels ou m'assurerai qu'un bogue est déposé contre la spécification.
La spécification SARIF est une spécification du comité d'Oasis. Mais malgré le fait que je suis le co-éditeur (avec Michael Fanning) et le principal de Wordsmith de la spécification, ces tutoriels ne sont pas un produit de travail OASIS ou approuvé par Oasis de quelque manière que ce soit. Ils représentent mon interprétation personnelle et mon explication de la norme.
Ces tutoriels contiennent désormais suffisamment d'informations pour vous donner un fond solide à Sarif. Comme vous le verrez dans les entrées "ToDo" dans la table des matières, il y a beaucoup plus que j'aimerais écrire. Mais ce sont des sujets avancés que je vais aborder quand j'aurai le temps.
Si vous souhaitez une explication d'une fonctionnalité Sarif que je n'ai pas couverte, faites-le moi savoir en déposant un problème dans ce repo
locationsid et guidcorrelationGuidsarif: URI (TODO)Ce projet accueille les contributions et les suggestions. La plupart des contributions vous obligent à accepter un accord de licence de contributeur (CLA) déclarant que vous avez le droit de faire et en fait, accordez-nous les droits d'utilisation de votre contribution. Pour plus de détails, visitez https://cla.opensource.microsoft.com.
Lorsque vous soumettez une demande de traction, un bot CLA déterminera automatiquement si vous devez fournir un CLA et décorer le RP de manière appropriée (par exemple, vérification d'état, commentaire). Suivez simplement les instructions fournies par le bot. Vous n'aurez besoin de le faire qu'une seule fois sur tous les dépositions en utilisant notre CLA.
Ce projet a adopté le code de conduite open source Microsoft. Pour plus d'informations, consultez le code de conduite FAQ ou contactez [email protected] avec toute question ou commentaire supplémentaire.
Microsoft et tous les contributeurs vous accordent une licence à la documentation Microsoft et à d'autres contenus de ce référentiel sous la licence publique internationale Creative Commons Attribution 4.0, voir le fichier de licence et vous accorder une licence à tout code du référentiel sous la licence MIT, voir le fichier de code de licence.
Microsoft, Windows, Microsoft Azure et / ou d'autres produits et services Microsoft référencés dans la documentation peuvent être des marques déposées ou des marques déposées de Microsoft aux États-Unis et / ou dans d'autres pays. Les licences de ce projet ne vous accordent pas le droit d'utiliser des noms, logos ou marques de commerce Microsoft. Les directives générales de Microsoft se trouvent sur http://go.microsoft.com/fwlink/?linkid=254653.
Des informations sur la confidentialité sont disponibles sur https://privacy.microsoft.com/en-us/
Microsoft et tout contributeur réservent tous les autres droits, que ce soit en vertu de leurs droits d'auteur, de brevets ou de marques respectifs, que ce soit par implication, l'estoppel ou autrement.