Google DeepMind презентувала результати проєкту CodeMender — AI-агента, який автоматично виявляє, виправляє та переписує вразливий код, запобігаючи майбутнім експлойтам. Про це повідомляє Silicon Angle.
CodeMender ґрунтується на попередніх дослідженнях DeepMind у сфері виявлення вразливостей, таких як Big Sleep та OSS-Fuzz, і поєднує аналітичні можливості моделей Gemini Deep Think із розвиненими техніками програмного аналізу. Мета — автоматично знаходити, налагоджувати й виправляти складні вразливості в масштабних кодових базах.
Хоча CodeMender поки перебуває на стадії дослідження, агент уже надіслав 72 виправлення безпеки до open-source-проєктів, охоплюючи понад 4,5 мільйона рядків коду.
За словами DeepMind, цей AI-допоміжник дає можливість розробникам і мейнтейнерам зосередитися на створенні якісного ПЗ, автоматично генеруючи та застосовуючи високоякісні патчі безпеки.
CodeMender розроблений як реактивний і проактивний інструмент. Він не лише миттєво виправляє знайдені вразливості, а й переписує наявний код, щоб усунути цілі класи помилок.
В одному з прикладів агент застосував анотації -fbounds-safety до бібліотеки стиснення зображень libwebp — тієї самої, що використовувалася у zero-click-атаці на iOS у 2023 році. У результаті подібні buffer overflow-вразливості стали, за словами дослідників DeepMind, повністю неможливими для експлуатації в майбутньому.
Під капотом CodeMender
Система використовує комбінацію статичного й динамічного аналізу, fuzzing, символьного виведення (symbolic reasoning) і компонент LLM judge, який перевіряє, чи зберігає запропонована зміна функціональність програми. Якщо під час валідації виявляється проблема, CodeMender самостійно її виправляє ще до подання остаточного патчу на розгляд людини.
Кожна зміна проходить перевірку на коректність, дотримання стилю коду та відсутність регресій перед відправленням у вихідний репозиторій.
У DeepMind підкреслили, що CodeMender поки залишається дослідницьким проєктом, і усі виправлення, створені агентом, перевіряються дослідниками вручну перед передачею upstream.
Плани й значення
Команда DeepMind планує розширити співпрацю з open-source-спільнотою та випустити CodeMender як інструмент для всіх розробників, щоб допомогти їм підтримувати безпеку кодових баз. У найближчому майбутньому компанія пообіцяла опублікувати технічні матеріали, які детально опишуть архітектуру агента і процес валідації.
Якщо CodeMender буде випущено публічно, він стане альтернативою традиційним методам, таким як статичний аналіз і fuzzing, які можуть виявляти вразливості, але залежать від участі людини для їх перевірки й усунення.
Підхід DeepMind демонструє майбутнє, у якому AI-системи зможуть самостійно знаходити та виправляти помилки в коді. Це важливий крок уперед, адже сучасні кодові бази зростають експоненційно за обсягом і складністю.
Читайте також на ProIT: DeepMind презентувала Gemini Robotics — перший мислячий ШІ для роботів.
Підписуйтеся на ProIT у Telegram, щоб не пропустити жодної публікації!