Metis to otwartoźródłowe narzędzie wykorzystujące sztuczną inteligencję, które pomaga inżynierom przeprowadzać dogłębne analizy bezpieczeństwa kodu. Zespół ds. bezpieczeństwa produktów Arm stworzył Metis, aby wykrywać subtelne błędy często ukryte w dużych lub przestarzałych bazach kodu, z którymi tradycyjne narzędzia mają trudności.

Metis opiera się na dużych modelach językowych (LLM), które potrafią analizować kod za pomocą rozumowania semantycznego, a nie w oparciu o sztywne reguły. Arm twierdzi, że daje to narzędziu przewagę nad linterami i innymi systemami statycznej analizy, które polegają na sygnaturach lub dopasowywaniu wzorców. Celem jest pomaganie inżynierom w znajdowaniu problemów, które mogłyby umknąć podczas ręcznej recenzji, a jednocześnie zmniejszenie zmęczenia analizą.
Narzędzie wykorzystuje generowanie wspomagane wyszukiwaniem (RAG), aby pozyskiwać szerszy kontekst z bazy kodu. Dzięki temu model może uwzględniać powiązaną logikę podczas analizy i tworzyć sugestie, które są dokładniejsze i łatwiejsze do wdrożenia.
Metis został zaprojektowany jako narzędzie elastyczne. Obsługuje C, C++, Python, Rust i TypeScript dzięki systemowi językowych wtyczek, który można rozszerzać o kolejne języki. Może łączyć się także z różnymi backendami magazynów wektorowych, takimi jak PostgreSQL z pgvector czy ChromaDB. Chociaż obecnie działa z jednym dostawcą modeli językowych, OpenAI, jego struktura jest przygotowana do obsługi kolejnych dostawców w przyszłości.