SARIF هو تنسيق نتائج التحليل الثابت ، يسعى هذا المشروع إلى توفير واجهة بسيطة لإنشاء تقارير بتنسيق SARIF.
يتم أخذ هذا المثال مباشرة من صفحات 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
}
]
}
]
}أحد المشاريع التي أحب المساهمة فيها هي TFSEC - هذه أداة تحليل ثابت لـ Terraform التي تنتج الإخراج في العديد من التنسيقات. إن توليد تقارير SARIF مفقودة وظائف وشعرت أنه يبرر الانتقال إلى مشروع خاص به.
لمزيد من المعلومات حول SARIF ، يمكنك زيارة موقع Oasis Open.
إضافة استيراد للذهاب go get github.com/owenrumney/go-sarif/sarif
هناك عدد من الطرق للتحميل في محتوى تقرير SARIF.
يأخذ sarif.Open مسار ملف ويقوم بتحميل sarif من هذا الموقع. إرجاع تقرير وأي خطأ مقابل
sarif.FromBytes يأخذ شريحة من البايت وإرجاع تقرير وأي خطأ مطابق.
يأخذ sarif.FromString سلسلة من محتوى SARIF ويعيد تقرير وأي خطأ مطابق.
يتم إنشاء تقرير SARIF جديد عن طريق تمرير الإصدار ، وهو الوحيد المدعوم في الوقت الحالي هو 2.1.0
للحصول على مثال مفصل ، تحقق من مثال المجلد/main.go