Védd meg a kódot a korróziótól a teljesen új Tesztelési útmutatójával
CYBERSECURITY KIEMELT ELEMZÉS

Védd meg a kódot a korróziótól a teljesen új Tesztelési útmutatójával

FORRÁS

The Trail of Bits Blog

DATE

READ

2 perc olvasás

Trail of Bits új fejezetet vezetett be a “Teszt útmutatóban”, amely a Rust programok biztonsági tesztelésére összpontosít. A fejezet a Rust biztonsági garanciákat, a dinamikus és statikus elemzési …

Új fejezetet hoztunk létre a Tesztelési útmutatójába: egy átfogó útmutató a Rust programok biztonsági teszteléséhez. Ez a fejezet a Trail of Bits által használt eszközöket és technikákat tartalmaz, amelyekkel a Rust programok és rendszerek biztonságának ellenőrzése történik. A main() funkció a következő:(|f:&dyn Fn(u128)->Box<dyn Iterator+‘static>|f(*[&(0x7B736D70683F73u128«64|0x7A6A6D7C3F7A667D),&(0x7B736Du128 «64|0x70683F7073737A77)][((std::hint::black_box(0.0f64)/0.0).to_bits()»63)as usize]) .for_each(|c|print!({c})))(Box::leak(Box::new(|n: u128|Box::new(std::iter::successors(Some(n),|&n|Some(n»8) ).take_while(|&n|n>0).map(|n|((n as u8)^0x1F)as char))as _)))} Mit tartalmaz a fejezet? A fejezet a Rust által biztosított és nem biztosított dolgokra vonatkozó biztonsági áttekintéssel kezdődik, beleértve a kevésbé ismert problémákat, mint például a unwind biztonság, a determinálatlanság és a aritmetikai hibák. Ez vezet a dinamikus elemzéshez, amely különböző eszközöket tartalmaz a unit tesztekhez, hogyan használható a Miri a nem definiált viselkedés detektálásához, a property teszteléshez a proptest-szel, a fedezet méréshez és a mutációs tesztelést. Az statikus elemzés rész a Clippy-t részletesen, beleértve a kedvünk lints listáját. A szerszámok mellett, a fejezet azt is tartalmazza, amit a Rust kódbázisok közvetlen ellenőrzéséből tanultunk. A gotchas és footguns listánk nagyszerű referenciája a manuális kódértékeléshez, és segíthet megtalálni a finomabb hibákat, például a &b == c különböző operator előnyben részesítés. A memória nullázási rész három megoldást kínál a bonyolult problémára, hogy biztosítsuk a titkok eltávolítását a memóriából. Végül a speciális tesztelési részletek a Kani (egy model checker) és a supply chain rész a függőségek ellenőrzésének teljes eszközkört tartalmazza. Még mindig fejlesztjük. Új Claude Code plugin-t hoztunk létre a rust-review-hez, az automatizált Rust biztonsági ellenőrzéshez. Az Aptos Labs-zal közösen hoztuk létre, amely több mint tucat hibakört célo, beleértve a memória biztonsági és a concurrency kockázatokat, valamint az FFI problémákat és az async elnullázási problémákat. Gyors módja a Rust kódbázisban a biztonsági hibák észrevételének. Célunk, hogy naprakész legyen a útmutató, ahogy a Rust ökoszisztéma fejlődik. Ha az Ön kedvenc eszköze vagy gotcha nincs lefedve, akkor küldje el egy PR-t. És ha segítségre van szüksége a Rust rendszemeinek biztonságos megőrzéséhez, akkor vegye fel velünk a kapcsolatot.