Код Читати оригінал на Infoq 2 хв читання 3

Metis від Arm: фреймворк на AI для виявлення складних вразливостей

Arm оприлюднив Metis — фреймворк для безпеки програмного забезпечення, що використовує агентський штучний інтелект для автономного виявлення складних вразливостей. На відміну від традиційних інструментів, які покладаються на шаблони та фіксовані правила, Metis застосовує семантичне мислення для аналізу залежностей між компонентами коду. Зростаюча складність сучасних кодбаз ускладнює роботу класичних SAST-інструментів, які часто генерують високий рівень хибнопозитивних спрацювань при перевірці функціональних меж. Metis вирішує цю проблему, інтегруючи Retrieval-Augmented Generation (RAG) для посилення базової великої мовної моделі контекстом проєкту, отриманим із вихідного коду та документації. За даними Arm, цей підхід дозволяє аналізувати цілі репозиторії чи окремі зміни в коді, досягаючи до 10 разів вищого відсотка істинних позитивів та приблизно на 50% менше хибнопозитивних спрацювань порівняно з провідними статичними аналізаторами. Це значно прискорює процес усунення помилок, дозволяючи інженерним командам зосередитися лише на критичних проблемах.

Сітка на темному тлі з білими символами X та кружечками із знаками питання, що ілюструє процес тестування даних або пошук вразливостей.
Сітка на темному тлі з білими символами X та кружечками із знаками питання, що ілюструє процес тестування даних або пошук вразливостей. · Джерело зображення: Infoq

Як повідомляє Infoq, Arm представила Metis — це не просто ще один сканер вразливостей, а цілісна архітектура, що переосмислює підхід до безпеки програмного забезпечення. Традиційні статичні аналізатори (SAST) часто зазнають невдач у великих корпоративних системах через їхню здатність виявляти проблеми, які охоплюють кілька функціональних блоків чи бібліотек одночасно. Це призводить до надмірного навантаження на розробників хибними попередженнями.

Принцип роботи: від шаблонів до семантики

Metis замінює жорсткі правила та пошук за шаблонами на «агентський» AI-підхід. Цей підхід дозволяє системі не просто знайти потенційну проблему, а й зрозуміти її в контексті всієї системи. Ключовим механізмом є Retrieval-Augmented Generation (RAG). Metis використовує RAG для посилення базової LLM специфічним контекстом проєкту — це включає вихідний код, файли збірки та технічну документацію.

Завдяки цьому, модель отримує чітке розуміння архітектури системи та її очікуваної поведінки. Це дозволяє Metis ідентифікувати значно більш складні вразливості, які були б невидними для існуючих методів аналізу.

Продуктивність та технічні можливості

Результати внутрішніх бенчмарків Arm є вражаючими. Використовуючи GPT-5.5-Cyber як базову модель, Metis продемонстрував 98% точність у виявленні вразливостей, тоді як традиційні SAST-інструменти показали лише близько 6%. Це підтверджує значний стрибок у якості автоматизованого аудиту коду.

Крім того, Metis не обмежується просто маркуванням проблем. Він надає чіткі та дієві резюме своїх висновків, забезпечуючи розробників необхідним контекстом для швидкого вирішення питань. Фреймворк підтримує широкий спектр мов програмування, включаючи C, C++, Python, Go, TypeScript та Rust.

  • Архітектура: Metis має плагін-орієнтовану архітектуру, що дозволяє легко розширювати підтримку нових мов чи моделей.
  • Розгортання: Він підтримує як Ollama, так і vLLM. Для складніших конфігурацій Arm рекомендує використовувати LiteLLM у якості фронтенду для маршрутизації запитів між різними інстансами LLM та моделями ембедингу.
  • Масштаб: Наразі Metis моніторить понад 130 програмних проєктів всередині компанії Arm, а розробники можуть знайти код під ліцензією Apache 2.0 на GitHub.

Хоча поточна версія сфокусована виключно на вразливостях програмного забезпечення, Arm планує розширити Metis для верифікації вразливостей апаратного забезпечення у майбутньому.

Telegram

Свіжі новини у нашому Telegram

Отримуйте миттєві сповіщення про нові публікації в рубриці «Код»

@procodeandevenmore