يقبل المستورد المستقر SARIF 2.1.0 فقط. ويوحّد كل نتيجة غير مستبعدة كدليل مستورد، ويحفظ هوية الأداة والقاعدة الخارجيتين، ثم يقيّم النتيجة عبر مسار Fendix القياسي.
البنية المقبولة والتوحيد
| المدخل | السلوك |
|---|---|
| tool.driver.name | يوحّد إلى ToolID خارجية؛ ويصبح الاسم الفارغ أو غير الصالح unknown-tool. |
| ruleId / ruleIndex | يحدد القاعدة الخارجية؛ ويحفظ ruleId ضمن مصدر الدليل المستورد. |
| result.level | يعود إلى rule.defaultConfiguration.level ثم warning. |
| security-severity | عند وجوده يتقدم على level لتحديد الخطورة الأصلية وفق الحدود الموثقة. |
| locations[0] | يصبح أول موضع مادي نقطة النهاية الموحّدة ونطاق السطر الاختياري؛ ويصبح غياب موضع صالح unknown. |
| relationships / taxa / tags / cwe | توحّد إشارات CWE المهيكلة إلى Weakness؛ ولا يحلل نص الرسالة لاستخراج CWE. |
| partialFingerprints | تحفظ كمراجع لمصدر الدليل؛ وتحسب Fendix هويتها بصورة مستقلة. |
| suppressions | تحسب الاستبعادات المقبولة أو التي بلا status وتُتخطى. |
توحيد الخطورة والثقة
| إشارة المصدر | قيمة Fendix |
|---|---|
| level: error | severity: HIGH |
| level: none | severity: INFO |
| level: note | severity: INFO |
| level: warning | severity: MEDIUM |
| precision: high | confidence: HIGH |
| precision: low | confidence: LOW |
| precision: medium | confidence: MEDIUM |
| precision: very-high | confidence: HIGH |
score >= 9.0: CRITICAL · score >= 7.0: HIGH · score >= 4.0: MEDIUM · score < 4.0: LOW
حدود الثقة ومصدر الدليل
- source is imported
- source tier is unset
- codeFlows do not establish native reachability
- route and taint chain are not trusted from imported SARIF
قد يثبت إبلاغ أداتين مستقلتين عن CWE الموحّدة نفسها في الموضع الموحّد نفسه CrossToolCorroborated. وتبقى هويات الأدوات المستقلة في CorroboratingTools. قد يدعم ذلك الثقة، لكنه لا يثبت الاستغلال أو إمكانية الوصول أو أثر الإنتاج.
المدخل غير الصالح أو غير المدعوم
يفشل JSON غير الصالح، والبيانات التي لا تشبه SARIF، وأي إصدار غير 2.1.0 بخطأ صريح. تعود بيانات القاعدة الاختيارية المفقودة إلى قيم محافظة؛ وتُحفظ النتيجة التي لا تملك موضعًا صالحًا بقيمة unknown وتُحسب بدل إسقاطها بصمت.
مثال استيراد متحقق منه
يحلل إنشاء العقد مستند الأداة الخارجية الموجز هذا ويوحّده.
{
"version": "2.1.0",
"$schema": "https://json.schemastore.org/sarif-2.1.0.json",
"runs": [
{
"tool": {
"driver": {
"name": "ExampleSAST",
"semanticVersion": "4.2.0",
"rules": [
{
"id": "EXT-SQL-001",
"shortDescription": {
"text": "SQL query built from request input"
},
"helpUri": "https://example.invalid/rules/EXT-SQL-001",
"properties": {
"tags": [
"external/cwe/CWE-89"
],
"precision": "high",
"security-severity": "8.0"
}
}
]
}
},
"results": [
{
"ruleId": "EXT-SQL-001",
"level": "error",
"message": {
"text": "Request parameter reaches a SQL query."
},
"locations": [
{
"physicalLocation": {
"artifactLocation": {
"uri": "src/users.py"
},
"region": {
"startLine": 42
}
}
}
],
"partialFingerprints": {
"example/v1": "safe-example-identity"
}
}
]
}
]
}