Mastodon
Zdjęcie okładkowe wpisu CodeMender od Google DeepMind: AI, która sama znajduje i naprawia błędy bezpieczeństwa

CodeMender od Google DeepMind: AI, która sama znajduje i naprawia błędy bezpieczeństwa

0
Dodane: 1 dzień temu

Google DeepMind zaprezentowało wyniki badań nad CodeMender – nowym agentem AI zaprojektowanym do automatycznego poprawiania bezpieczeństwa kodu.

Rozwiązanie to ma odpowiadać na rosnący problem: choć tradycyjne metody i nowe narzędzia AI, takie jak Big Sleep czy OSS-Fuzz, są coraz skuteczniejsze w odkrywaniu luk, ich ręczne naprawianie jest czasochłonne. W miarę postępów w wykrywaniu podatności, programiści (ludzie) mogą przestać nadążać z ich usuwaniem.

Agent działa na dwa sposoby: reaktywnie, natychmiast łatając nowe luki, oraz proaktywnie, przepisując istniejący kod w celu wyeliminowania całych klas podatności. CodeMender wykorzystuje zdolności rozumowania modeli Gemini Deep Think, aby działać jako autonomiczny agent. Kluczowym elementem jest proces automatycznej walidacji, który gwarantuje, że proponowane poprawki są właściwe, nie powodują regresji (czyli nie psują innych funkcji w kodzie programu) i są zgodne z wytycznymi projektu, zanim zostaną przedstawione człowiekowi do weryfikacji.

Aby skutecznie znaleźć źródło problemu, CodeMender wykorzystuje zaawansowane techniki analizy programu, w tym analizę statyczną, dynamiczną i tzw. fuzzing (testowanie odporności kodu losowymi, celowo zniekształconymi danymi). Pozwala mu to zidentyfikować rzeczywistą przyczynę błędu, a nie tylko jego objawy – jak informuje Google DeepMind w swoim wpisie na oficjalnym blogu, w jednym z przykładów agent odkrył, że zgłaszany błąd przepełnienia bufora był w rzeczywistości spowodowany nieprawidłowym zarządzaniem stosu podczas parsowania XML. System korzysta również z wyspecjalizowanych agentów (systemy wieloagentowe), np. narzędzia opartego na LLM, które weryfikuje zmiany i pomaga w autokorekcie.

Google DeepMind poinformowało, że w ciągu ostatnich sześciu miesięcy, odkąd rozwijany jest CodeMender, zespół przesłał już 72 poprawki bezpieczeństwa do różnych projektów open source, z których wiele zostało już zaakceptowanych. Niektóre z tych projektów liczą nawet 4,5 miliona linii kodu. W ramach działań proaktywnych, CodeMender został użyty m.in. do biblioteki libwebp, aby dodać adnotacje -fbounds-safety. Mechanizm ten pomógłby zapobiec wykorzystaniu słynnej luki (CVE-2023-4863), która w przeszłości była używana do ataków na urządzenia z systemem iOS.

Badacze podkreślają, że choć wczesne wyniki są obiecujące, podchodzą do projektu ostrożnie, stawiając na niezawodność. Obecnie wszystkie poprawki generowane przez CodeMender są sprawdzane przez ekspertów DeepMind przed ich wysłaniem. Zespół planuje stopniowo zwiększać ten proces i kontaktować się z opiekunami krytycznych projektów open source, aby rozwijać własne dzieło na podstawie ich opinii. Celem jest udostępnienie CodeMender jako narzędzia, z którego będą mogli korzystać wszyscy programiści.

Vibe coding, czyli programowanie na czuja. AI miało zastąpić programistów, a stworzyło dla nich nowy rynek pracy

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .