SARIF ist das Interchange -Format der statischen Analyseergebnisse. Dieses Projekt soll eine einfache Schnittstelle zur Verfügung stellen, um Berichte im SARIF -Format zu generieren.
Dieses Beispiel wird direkt von den Microsoft Sarif -Seiten genommen
{
"version" : " 2.1.0 " ,
"$schema" : " https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json " ,
"runs" : [
{
"tool" : {
"driver" : {
"name" : " ESLint " ,
"informationUri" : " https://eslint.org " ,
"rules" : [
{
"id" : " no-unused-vars " ,
"shortDescription" : {
"text" : " disallow unused variables "
},
"helpUri" : " https://eslint.org/docs/rules/no-unused-vars " ,
"properties" : {
"category" : " Variables "
}
}
]
}
},
"artifacts" : [
{
"location" : {
"uri" : " file:///C:/dev/sarif/sarif-tutorials/samples/Introduction/simple-example.js "
}
}
],
"results" : [
{
"level" : " error " ,
"message" : {
"text" : " 'x' is assigned a value but never used. "
},
"locations" : [
{
"physicalLocation" : {
"artifactLocation" : {
"uri" : " file:///C:/dev/sarif/sarif-tutorials/samples/Introduction/simple-example.js " ,
"index" : 0
},
"region" : {
"startLine" : 1 ,
"startColumn" : 5
}
}
}
],
"ruleId" : " no-unused-vars " ,
"ruleIndex" : 0
}
]
}
]
}Eines der Projekte, zu denen ich gerne beiträgt, ist TFSEC - dies ist ein statisches Analyse -Tool für Terraform, das in vielen Formaten die Leistung erzeugt. Das Generieren von Sarif -Berichten fehlt die Funktionalität und das Gefühl, dass sie zu einem eigenen Projekt gewährt wurden.
Weitere Informationen zu Sarif finden Sie auf der Oase Open Site.
Fügen Sie einen Import hinzu, um go get github.com/owenrumney/go-sarif/sarif
Es gibt eine Reihe von Möglichkeiten, den Inhalt eines Sarif -Berichts zu laden.
sarif.Open nimmt einen Dateipfad und lädt das SARIF von diesem Ort. Gibt einen Bericht und einen entsprechenden Fehler zurück
sarif.FromBytes nimmt ein Stück Byte und gibt einen Bericht und einen entsprechenden Fehler zurück.
sarif.FromString nimmt eine Reihe des SARIF -Inhalts an und gibt einen Bericht und einen entsprechenden Fehler zurück.
Das Erstellen eines neuen SARIF -Berichts erfolgt durch Übergeben der Version. Der einzige, der momentan unterstützt wird, ist 2.1.0
Für ein detailliertes Beispiel überprüfen Sie das Beispiel -Ordner Beispiel/main.go