نطاق هوية النتائج المستقر هو fendix/v2. وهو يمنح خطوط الأساس واستبعادات البصمة والفروق ومستهلكي SARIF هوية دلالية تصمد أمام تغير العرض وانتقال أرقام الأسطر.
بناء الهوية
SHA-256 over NUL-separated labelled components, truncated to 20 bytes and hex encoded.
يحمل كل مكوّن تسمية. وبحسب عائلة النتيجة تستخدم الهوية الفئة والقاعدة مع أثر الشيفرة والرمز والعملية بعد توحيدها، أو ملف السر ومعرّفه غير الحساس، أو تنبيه التبعية والحزمة وملفها، أو هوية نقطة نهاية الخدمة.
أمثلة هوية مولّدة
alg=fendix/v2
cat=injection
rule=python.sql-injection.taint
file=src/users.py
sym=get_user
op=cursor.execute(query)
52e177542ce259872875842108edc92099f66fdfalg=fendix/v2
cat=secrets
rule=secrets/aws-access-key
file=config/settings.py
ident=AWS_ACCESS_KEY_ID
4a556e471dfc5f23555a1ba02c8b0e9ffc68415balg=fendix/v2
cat=auth
rule=dast/auth
ep=https://staging.example.com/users/42
3dd2812f69d1fff13b4acaf1a00f729413f174b5حدود الاستقرار
يمكن للحالة الموحّدة نفسها أن تحتفظ بهويتها عند تغير الصياغة أو رقم السطر أو الخطورة أو الثقة أو التصرف. وقد يؤدي تغير مدخل دلالي للهوية، مثل القاعدة أو الأثر أو الرمز أو عملية المصب أو الحزمة أو نقطة نهاية الخدمة، إلى بصمة جديدة.
مستبعد عمدًا
النتائج والوقوعات
النتيجة مجموعة للعرض. كل موضع للفحص نفسه وقوع له بصمته في occurrences[].fingerprint، تُحسب من ذلك الوقوع وحده قبل التجميع. أما fingerprint الخاصة بالنتيجة فهي بصمة وقوعها الأساسي، أي الموضع الذي يأتي أولًا في الترتيب، فهي تسمّي وقوعًا واحدًا ولا تسمّي المجموعة. تطابق خطوط الأساس و.fendix-ignore ودورة حياة المشكلات على مستوى الوقوعات، فلا يرث موضع جديد استبعادًا أو قرارًا من المجموعة التي يُعرض فيها.
الترحيل من fendix/v1
كانت fendix/v1 تبني البصمة من الفئة ونقطة النهاية والعنوان، فتتغير عند تغير قيم العرض أو الموضع. قد تحمل التقارير fingerprint_v1 كجسر، لكن المطابقة الجديدة تستخدم fendix/v2. أعد إنشاء خطوط الأساس وقواعد استبعاد البصمة السابقة للإصدار الثالث.