Rust is a memory-safe programming language that disallows undefined behavior. Its safety guarantees have been extensively examined by the community through empirical studies, which has led to its remarkable success. However, unsafe code remains a critical concern in Rust. By reviewing the safety design of Rust and analyzing real-world Rust projects, this paper establishes a systematic framework for understanding unsafe code and undefined behavior, and summarizes the soundness criteria for Rust code. It further derives actionable guidance for achieving sound encapsulation.
Rust هي لغة برمجة آمنة من حيث الذاكرة، وتحظر السلوك غير المحدد. تم التحقق من ضماناتها الأمنية من خلال دراسات تجريبية واسعة النطاق من المجتمع، وهذا هو السبب في نجاحها الملحوظ. ومع ذلك، يظل الكود غير الآمن (unsafe) مشكلة حاسمة في Rust. تقدم هذه الورقة إطاراً منهجياً لفهم الكود غير الآمن والسلوك غير المحدد من خلال مراجعة تصميم السلامة في Rust وتحليل مشاريع Rust الحقيقية، وتلخص معايير سلامة كود Rust، وتقترح إرشادات عملية لتحقيق التغليف الآمن.
إنشاء النظرية الرئيسية: إثبات رسمي لعلاقة السلوك غير المحدد والكود غير الآمن، وتأسيس المبدأ الأساسي "السلوك غير المحدد ينشأ فقط من الكود غير الآمن ويتحدد بالكامل من خلال قيوده الأمنية"
اقتراح معايير السلامة: وضع معايير تحديد السلامة للدوال والهياكل والوحدات الآمنة وغير الآمنة
تطوير إرشادات التغليف: استخلاص معايير وتبعيات عملية لتحقيق التغليف الآمن
بناء إطار التدقيق: اقتراح طريقة تدقيق منهجية بناءً على رسم بياني انتشار عدم الأمان (UPG)
النظرية الرئيسية (النظرية 1): بالنسبة لبرنامج Rust ذي النوع الجيد P، يحدث السلوك غير المحدد فقط عندما يحتوي P على كود غير آمن وينتهك قيوده الأمنية ذات الصلة:
P ⊢ UB ⇒ (P ∋ UC) ∧ (P ⊬ SC_UC)
حيث UC يمثل الكود غير الآمن، و SC_UC يمثل القيود الأمنية للكود غير الآمن.
فريق Rust. السلامة (من الكود / مكتبة). إرشادات كود Rust غير الآمن.
Zihao Rao، وآخرون. التعليق والتدقيق لخصائص السلامة لـ Rust غير الآمن. arXiv preprint arXiv:2504.21312، 2025.
التقييم الشامل: قدمت هذه الورقة مساهمة نظرية مهمة في تحليل أمان الكود غير الآمن في Rust، وأنشأت إطار تحليل منهجي. على الرغم من أن التحقق التجريبي وتطبيق الأدوات يحتاجان إلى تحسين، إلا أن قيمتها النظرية والإمكانات العملية تستحق الإقرار. يوفر هذا العمل أساساً نظرياً متيناً لأبحاث وممارسات أمان Rust.