Vývojáři anonymní sítě Tor představili vydání projektu Arti 0.0.3, vyvíjejícího Tor klienta napsaného v jazyce Rust. Projekt má status experimentálního vývoje, zaostává za funkcionalitou hlavního klienta Tor napsaného v jazyce C a zatím není připraven jej plně nahradit. V březnu se očekává vydání 0.1.0, které je prezentováno jako první beta verze projektu, a na podzim vydání 1.0 se stabilizací API, CLI a nastavení, které bude vhodné pro počáteční používání běžnými uživateli. V budoucnu, až dosáhne kód v Rustu úrovně schopné plně nahradit variantu v C, mají vývojáři v úmyslu dát Arti status hlavní implementace Tor a ukončit podporu implementace v C.
Na rozdíl od implementace v C, která byla nejprve navržena jako SOCKS proxy a poté přizpůsobena jiným potřebám, Arti se od začátku vyvíjí jako modulární vestavěná knihovna, kterou mohou využívat různá aplikace. Kromě toho je při vývoji nového projektu zohledněna veškerá dosavadní zkušenost s vývojem Tor, což umožní vyhnout se známým architektonickým problémům a udělat projekt modulárnější a efektivnější. Kód je šířen pod licencemi Apache 2.0 a MIT.
Mezi důvody pro přepisování Tor do Rustu patří snaha dosáhnout vyšší úrovně bezpečnosti kódu díky využití jazyka, který zajišťuje bezpečnou práci s pamětí. Podle odhadu vývojářů Tor bude v implementaci v Rustu vyloučeno minimálně polovina všech sledovaných zranitelností projektu, pokud v kódu nejsou použity bloky „unsafe“. Rust také umožní dosáhnout vyšší rychlosti vývoje než při použití C díky výstižnosti jazyka a přísným zárukám, které umožňují neztrácet čas na dvojité kontroly a psaní nadbytečného kódu.
Mezi změnami ve verzi 0.0.3 je úplné přepracování systému konfigurace a s ním spojeného API. Tato změna umožnila měnit nastavení v Rustu za běhu aplikace Tor. Také byla přidána nová soustava pro proaktivní výstavbu okruhů (preemptive circuit construction), která zohledňuje dříve používané porty pro předběžné vytváření okruhů, které pravděpodobně budou potřeba v budoucnu.
Zdroj: opennet.ru
