Comments 10
Без реального запуска на виртуальной машине/песочнице, такой подход не поможет. Взять к примеру полиморфный или метаморфный код, код использующий ROP-цепочки, BYOVD или легитимные драйвера, не говоря про 1-day или 0-day. Чем ваш подход в лучшую сторону отличается от статик-анализатора любого АВ, где облачный ИИ внедрили еще при царе горохе? - Ничем.
Идея интересная, осталось понять только как локальную модель развернуть.
Локальная модель убирает утечку IOC и подкидывает взамен свою беду: она уверенно опишет функцию по псевдокоду, который Ghidra местами восстановила криво. Неверное описание опаснее пустого – оно сбивает с толку, и исследователь проходит мимо того, что модель бодро окрестила "инициализацией логирования". Облако хотя бы сливало ваши секреты, не притворяясь, что их поняло.
Несмотря на то, что LLM вероятностная структура, через промтинг можно попросить помечать функции, в которых у модели нет 100% уверенности - как подозрительные для дополнительной проверки. Согласна, что тоже не гарантирует точности.
На мой взгляд, удобно запустить модель параллельно своему исследованию и сравнить потом, не упустила ли что-то, особенно когда исследую растовый код с кучей функций)
Зачем все это если есть IDA Pro, ну или другое альтернативное и MCP
Начнем с того, что MCP ida pro позволяет модели подключаться к файлу и разбирать функции, очень похоже на то, что предложено мной. Но есть отличие, если вы заставите модель напрямую анализировать файл через MCP, то через несколько функций контекст заполниться и модель либо обнулит его и забудет то что было до, либо завершит выполнение (в зависимости от настроек). MCP это удобный механизм в руках опытного специалиста для анализа конкретных функций. Мне хотелось сделать структуру проекта для анализа файла в целом по всем функциям и поиску интересных, хранящих дополнительный функционал вируса, которые я могу пропустить при анализе.
А скажите пожалуйста: Локальная LLM (Qwen3, запущенная через LM Studio с API‑ключом для доступа.
Вот я пускал разные локальные модели.
Видимо отстаю от темы. Ключ, в этом случае не требовался, а если пускал облачные, через их API, то тут он необходим. Что я неверно понял в написанном?
Автоматизация реверс‑инжиниринга через локальную LLM