## Контекст
Large Language Models (LLMs) становятся все более популярными в области автоматизированного кодового анализа. Они применяются для задач, таких как обнаружение уязвимостей, сводка кода и его рефакторинг. Несмотря на высокую точность и удобство, такие модели могут быть уязвимы для атак, основанных на их внутренних особенностях. В частности, они могут предпочесть знакомые, широко распространенные структуры кода, забывая о менее очевидных, но важных подробностях. Этот тип биаса, называемый abstraction bias, может быть использован для вредоносных активностей, если неверно интерпретировать код. Это создает серьезные риски для систем, опирающихся на LLMs для надежного и безопасного программного обеспечения.
## Метод
Разработан алгоритм задействовал методы автоматического кодового анализа, ориентированные на выявление и использование этого abstraction bias. Он использует black-box подход, что означает, что он не требует внутреннего доступа к модели. Алгоритм вводит минимальные изменения в код, которые не изменяют его функциональность, но значительно повлияют на поведение модели. Эти изменения должны быть достаточно характерны, чтобы вызвать абстрактное представление модели, приведя ее к непредвиденной ошибке. Эксперименты проводились с различными моделями, включая GPT-4, Claude 3.5 и Gemini 2.0, а также со скриптами на Python, C, Rust и Go.
## Результаты
Исследования показали, что Familiar Pattern Attack (FPA) эффективен против всех исследуемых моделей, независимо от того, использовался ли предупреждение о возможной атаке. Результаты показали, что FPA не только успешно работала, но и была успешно перенесена между моделями и языками программирования. Например, при испытании на C, Rust и Python, модели не только предпочли знакомые паттерны, но и превратились в функционально некорректное поведение. Важным результатом оказалось еще то, что модели, даже при известности атаки, не могли справиться с ней, пока не были предприняты дополнительные меры защиты.
## Значимость
Полученные результаты открывают новые возможности в области использования LLMs в небезопасных контекстах. Они открывают возможность для злоумышленников инъекции зрелищных, но уязвимых, кодов в системы, основанные на LLM. Это может привести к потенциальным уязвимостям в системах, которые доверяют LLMs для контроля и анализа. Однако, есть и положительные стороны. Открыта возможность использования атак FPA для повышения надежности LLMs, в том числе через разработку решений, которые могут выявлять и скорректировать подобные уязвимости.
## Выводы
Выводы показывают, что abstraction bias в LLMs может быть значительной угрозой для любых систем, использующих эти модели для кода. Бу