„Minus 50 000 linii kodu”: Meta przepisała część komunikatora WhatsApp z C++ na Rust

„Minus 50 000 linii kodu”: Meta przepisała część komunikatora WhatsApp z C++ na Rust

Meta poinformowała, że przepisała swoją bibliotekę wamedia z C++ na Rust. Odpowiada ona za przetwarzanie i weryfikację plików multimedialnych wysyłanych przez użytkowników WhatsApp.

Według firmy wamedia przetwarza miliardy plików miesięcznie na różnych platformach: Androidzie, iOS, macOS, w wersji webowej, na urządzeniach typu wearables oraz w przeglądarkach. Zadaniem biblioteki jest sprawdzanie, czy pliki multimedialne spełniają wymagania dotyczące formatu i struktury, oraz blokowanie tych, które mogłyby powodować błędy w podatnych bibliotekach systemowych.

Historia przejścia na Rust sięga 2015 roku, kiedy ujawniono podatność Stagefright. Umożliwiała ona atakowanie użytkowników za pomocą złośliwych plików MP4 i infekowanie urządzeń z Androidem poprzez biblioteki systemowe. Wówczas WhatsApp zaczął chronić użytkowników po stronie aplikacji, weryfikując pliki przed ich przetwarzaniem, zamiast polegać wyłącznie na aktualizacjach systemu operacyjnego.

Migracja biblioteki do Rust odbywała się równolegle z oryginalną implementacją w C++. Zespół testował nową wersję i porównywał wyniki, aby upewnić się, że implementacja w Rust zachowuje się identycznie jak wcześniejsza wersja w C++. W efekcie zamiast 160 000 linii kodu w C++ (bez testów) powstało 90 000 linii kodu w Rust (wraz z testami), co oznacza redukcję kodu o 50 000 linii.

„To największe jak dotąd wdrożenie kodu w Rust na różnorodnych platformach końcowych i w produktach, o jakim wiemy. Nasze doświadczenie potwierdza gotowość Rusta do użycia po stronie klienta oraz jego unikalną wartość” — podkreślają przedstawiciele firmy.

WhatsApp dodał także dodatkowe mechanizmy weryfikacji dla bardziej ryzykownych typów plików, takich jak PDF, oraz plików z fałszywymi rozszerzeniami lub typami MIME. Ten zestaw kontroli otrzymał nazwę Kaleidoscope.

Avatar
Lip 14, 2025

Grok 4 debiutuje dzień po incydencie z treściami nazistowskimi. xAI zapowiada agentowe modele i nowe funkcje

Firma xAI zaprezentowała dwa nowe modele — Grok 4 oraz Grok 4 Heavy — zaledwie dzień po tym, jak chatbot Grok wygenerował na platformie X odpowiedzi zawierające antysemickie odniesienia. Według xAI wersja Heavy korzysta z architektury multi-agentowej, w której wiele instancji modelu analizuje zapytanie równolegle, a następnie porównuje wyniki przed udzieleniem odpowiedzi. To podejście, określane jako test-time compute scaling, zwiększa wykorzystanie mocy obliczeniowej podczas wnioskowania.
0
Lut 27, 2025

Nvidia nie obawia się DeepSeek – sprzedaż bije rekordy

Jensen Huang, CEO Nvidii, jest pewny przyszłości firmy i powtarza, że DeepSeek nie wpłynie na jej sprzedaż. Podczas ostatniego raportu kwartalnego podkreślił, że modele AI wykorzystujące wnioskowanie, takie jak DeepSeek R1, wymagają jeszcze większej mocy obliczeniowej, co jest korzystne dla Nvidii.
0
Mar 14, 2025

Microsoft dodaje funkcję podsumowywania tekstu oraz nowe możliwości w Notepad i Snipping Tool

Microsoft wprowadza funkcję podsumowywania tekstu opartą na sztucznej inteligencji w Notepad, udostępniając ją uczestnikom programu Windows Insider na kanałach Canary i Dev.
0

Ta strona używa plików cookie, aby zapewnić Ci lepsze wrażenia podczas przeglądania.

Dowiedz się więcej o tym, jak używamy plików cookie i jak zmienić preferencje dotyczące plików cookie w naszej Polityka plików cookie.

Zmień ustawienia
Zapisz Akceptuj wszystkie cookies