Использование LLM для анализа open source пакетов
Всем привет!
Интересный эксперимент провела команда Endor Labs. Ребята захотели проверить гипотезу о возможности использования LLM для анализа open source пакетов. В качестве LLM выбрали ChatGPT v3.5 и приступили к анализу.
Среди ~ 1800 «подопытных» было идентифицировано 34 «вредоносных» артефакта, среди которых
🍭 13 – True Positive
🍭 1 представлял из себя безвредный PoC
🍭 5 артефактов содержали обфусцированный код, который был безвреден
🍭 15 – False Negative
С одной стороны – результат неудачный. Но, помимо «решения» о вредоносности пакета ChatGPT описывал, что происходит в анализируемом коде. Встречались случаи, когда модель явно описывала Reverse Shell, но признавала пакет «нейтральным». Поэтому все может быть не так плохо.
Примеры разбора, а также некоторые «хитрости» как можно обойти такой анализ и обмануть модель (достаточно тривиально) – все это есть в статье.
Ранее мы писали о похожем эксперименте от Semgrep, но суть была иная – написание правил анализа. Жутко интересно посмотреть, во что это превратится в горизонте условных 5 лет!
Post #772
1.77K