فصل تازهٔ Trail of Bits برای تست امنیتی Rust
خلاصهٔ کاملتر
Trail of Bits تو یه پست تازه اعلام کرده فصل جدیدی به Testing Handbook خودش اضافه شده، این بار مخصوص تست امنیتی برنامههای Rust. به گفتهٔ تیم، این فصل همون ابزارها و روشهاییه که خودشون موقع بررسی امنیت پروژههای Rust به کار میبرن.
فصل با یه مرور امنیتی شروع میشه: اینکه تضمینهای Rust چی رو میگیرن و چی رو نه. مثلاً unwind safety (یعنی اینکه کد وسط panic و برگشت پشته سالم بمونه)، nondeterminism و خطاهای حسابی جزو چیزهاییان که کامپایلر برات حل نمیکنه و معمولاً هم دستکم گرفته میشن.
بخش تحلیل پویا سراغ Miri میره که رفتار تعریفنشده رو موقع اجرای تستها لو میده، بعد proptest برای property testing (یعنی بهجای چند ورودی ثابت، یه قانون کلی رو با ورودیهای تصادفی میسنجی)، اندازهگیری پوشش تست و mutation testing. تو بخش تحلیل ایستا هم Clippy رو مفصل باز کرده و لیستی از lintهای محبوب تیم رو آورده.
بخش بعدی چیزهاییه که از آدیت کدبیسهای واقعی یاد گرفتن. چکلیست gotchaها و footgunها برای کدریویو دستی به درد میخوره؛ مثلاً اینکه اولویت عملگرها تو a & b == c با چیزی که تو C انتظار داری فرق داره. بخش memory zeroization هم سه راهحل میده برای اینکه مطمئن شی سکرتها واقعاً از حافظه پاک شدن.
آخر فصل ابزارهای تخصصیتر مثل Kani (یه model checker که بهجای تست، درستی کد رو اثبات میکنه) و وارسی زنجیرهٔ تأمین وابستگیها اومده. کنار این فصل، rust-review هم منتشر شده: یه پلاگین Claude Code که با همکاری Aptos Labs ساخته شده و بیشتر از ده کلاس باگ رو هدف میگیره، از ایمنی حافظه و خطرهای همروندی تا دامهای FFI و کنسل شدن taskهای async.
نکات کلیدی:
- فصل تازه فقط دربارهٔ تست امنیتی Rustه و ابزارهای داخلی Trail of Bits رو جمع کرده
- Miri رفتار تعریفنشده رو موقع اجرا پیدا میکنه، proptest تست ویژگیمحور میده و Kani نقش model checker رو داره
- چکلیست footgunها موارد ریزی مثل تفاوت اولویت عملگر تو a & b == c با C رو پوشش میده
- بخش memory zeroization سه راهحل برای پاک شدن قطعی سکرتها از حافظه معرفی میکنه
- پلاگین rust-review با همکاری Aptos Labs ساخته شده و بیش از ده کلاس باگ رو هدف گرفته




