نظرة عامة على الهندسة
نظرة عميقة على الهندسة الداخلية لباطن، وقرارات التصميم، وسبب وجود كل مكون.
الهندسة عالية المستوى
مبادئ التصميم الأساسية
1. صفر كود غير آمن
#![forbid(unsafe_code)]
لماذا؟ أدوات الأمان يجب أن تكون آمنة بنفسها. أخطاء فساد الذاكرة في محلل الملفات يمكن استغلالها بملفات خبيثة مصممة.
2. الدفاع في العمق
باطن لا يثق أبداً بطريقة كشف واحدة:
- البايتات السحرية
- التحقق من الامتداد
- التحقق من البنية
- فحص الإنتروبيا
- فحص المحتوى
3. استخدام الموارد المحدود
كل عملية محدودة الموارد:
| المورد | الحد | التكوين |
|---|---|---|
| الذاكرة | max_read_bytes | 3KB افتراضياً |
| الوقت | timeout_ms | 5 ثوانٍ افتراضياً |
| إدخالات الأرشيف | MAX_ARCHIVE_ENTRIES | 10,000 |
| حجم الأرشيف | MAX_TOTAL_EXTRACTED_SIZE | 100MB |