Trust Me, I Know This Function: Hijacking LLM Static Analysis using Bias
2508.17361v1
cs.LG, cs.CR
2025-08-27
Авторы:
Shir Bernstein, David Beste, Daniel Ayzenshteyn, Lea Schonherr, Yisroel Mirsky
Резюме на русском
## Контекст
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 может быть значительной угрозой для любых систем, использующих эти модели для кода. Бу
Abstract
Large Language Models (LLMs) are increasingly trusted to perform automated
code review and static analysis at scale, supporting tasks such as
vulnerability detection, summarization, and refactoring. In this paper, we
identify and exploit a critical vulnerability in LLM-based code analysis: an
abstraction bias that causes models to overgeneralize familiar programming
patterns and overlook small, meaningful bugs. Adversaries can exploit this
blind spot to hijack the control flow of the LLM's interpretation with minimal
edits and without affecting actual runtime behavior. We refer to this attack as
a Familiar Pattern Attack (FPA).
We develop a fully automated, black-box algorithm that discovers and injects
FPAs into target code. Our evaluation shows that FPAs are not only effective,
but also transferable across models (GPT-4o, Claude 3.5, Gemini 2.0) and
universal across programming languages (Python, C, Rust, Go). Moreover, FPAs
remain effective even when models are explicitly warned about the attack via
robust system prompts. Finally, we explore positive, defensive uses of FPAs and
discuss their broader implications for the reliability and safety of
code-oriented LLMs.
Ссылки и действия
Дополнительные ресурсы: