Sarif adalah format pertukaran hasil analisis statis, proyek ini berupaya menyediakan antarmuka sederhana untuk menghasilkan laporan dalam format sarif.
Contoh ini diambil langsung dari halaman Microsoft Sarif
{
"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
}
]
}
]
}Salah satu proyek yang ingin saya kontribusikan adalah TFSEC - ini adalah alat analisis statis untuk Terraform yang menghasilkan output dalam banyak format. Menghasilkan laporan Sarif tidak ada fungsionalitas yang hilang dan terasa seperti dijamin dipindahkan ke proyeknya sendiri.
Untuk informasi lebih lanjut tentang Sarif, Anda dapat mengunjungi situs Oasis Open.
Tambahkan impor untuk go get github.com/owenrumney/go-sarif/sarif
Ada sejumlah cara untuk memuat konten laporan Sarif.
sarif.Open mengambil jalur file dan memuat sarif dari lokasi itu. Mengembalikan laporan dan kesalahan yang sesuai
sarif.FromBytes mengambil sepotong byte dan mengembalikan laporan dan kesalahan yang sesuai.
sarif.FromString mengambil serangkaian konten Sarif dan mengembalikan laporan dan kesalahan yang sesuai.
Membuat laporan sarif baru dilakukan dengan menyampaikan versi, satu -satunya yang didukung saat ini adalah 2.1.0
Untuk contoh terperinci Periksa contoh folder contoh/main.go