REA (съкратено от Reverse Engineer Anything – „обратен инженеринг на всичко“) свързва AI агенти за кодиране като Claude Code и Cursor с инструменти, които анализират софтуер без неговия изходен код.
Проектът с отворен код интегрира Ghidra, IDA Pro и Hopper в работен процес, управляван от агенти, помагайки на изследователите да проследяват поведението на програмите и да обясняват констатациите с подкрепящи доказателства.
Вместо да заменя дизасемблера, REA действа като мост между агента и инструментите за анализ. Неговият обхват се простира отвъд компилираните изпълними файлове до JavaScript, приложения за Electron, .NET сглобки, Android пакети, фърмуер, уебсайтове и избрана активност по време на изпълнение. Същите работни процеси са достъпни и чрез терминални команди за изследователи, които предпочитат скриптове.
REA свързва агенти с инструменти за обратен инженеринг
REA използва Model Context Protocol (MCP), за да позволи на агентите да заявяват анализ чрез локален сървър. Агентът изисква от инструментите да инспектират дадена цел, следва съответния код и получава резултати с доказателства и посочени ограничения. След това той може да задава допълнителни въпроси или да напише и тества реализация въз основа на тези констатации.
За компилирани изпълними файлове REA връща псевдокод, асемблерни инструкции, символни низове, символи, извиквания на функции и препратки. Тези резултати помагат на изследователите да свържат видима функция с кода зад нея. За задълбочен анализ на компилиран код се изисква съществуваща инсталация на Ghidra, IDA или Hopper, въпреки че процесът на настройка може да инсталира Hopper след одобрение.

Този подход надгражда ролята на инструментите, разгледани в материалите на Cyber Security News за обратен инженеринг с Ghidra. REA добавя интерфейс за агенти към този процес на анализ, вместо да прави излишна основната инспекция на кода.
За цели в JavaScript и Electron инструментът картографира модули, импорти, изходни карти (source maps), маршрути и комуникация между процесите на приложението. Статичната .NET инспекция разкрива метаданни, инструкции на междинен език (IL) и декларирани зависимости. Нито един от тези два работни процеса не се нуждае от двигател за анализ на компилиран код.
Потребителите могат да започнат с npx rea-agents setup след инсталиране на поддържана версия на Node.js и npm. Настройката ги подканва да изберат агенти, да прегледат промените и да одобрят регистрацията. Тя инсталира съответните инструкции за работния процес, създава резервно копие на съществуващата конфигурация и изисква рестартиране на агента след това.
Поддържаните опции за настройка включват Claude Code, Cursor, Codex, Gemini CLI и Grok Build. Други клиенти, които поддържат локални MCP сървъри, могат да използват ръчна регистрация. Официалното хранилище на REA предоставя подробности за инсталацията и отбелязва, че поддръжката на платформи зависи от избрания доставчик на анализ.
Примерите от проекта показват как може да изглежда реконструкцията, базирана на доказателства. В казус с DX-Ball възстановено изчисление за позициониране на звука е преминало 3 205 теста спрямо оригиналния x86 код и е възпроизвело всички 63 компилирани байта на функцията. Друг пример проследява обработката на клипборда в Notion през рендерера на Electron, слоя за предварително зареждане (preload layer) и главния процес.
Това са демонстрации, докладвани от самия проект, а не доказателство, че всяка цел може да бъде напълно реконструирана. Те допълват по-ранни доклади за анализ на зловреден софтуер XLoader с помощта на AI, при които изследователите комбинираха резултатите от модела с проверки по време на изпълнение.
REA анализира целите локално, но агентът получава резултатите. Тези резултати подлежат на политиката за данни на доставчика на съответния модел, така че локалното изпълнение не означава, че всички констатации остават на машината.
Статичната инспекция на JavaScript и .NET чете файлове, без да стартира приложението. Прихващането по време на изпълнение обаче стартира или взаимодейства с целите, използвайки правата на потребителя. Изследователите, които работят със съмнителен софтуер, трябва да различават тези режими, преди да започнат разследване.
Въпреки името си, REA има ограничения по отношение на целите, платформите и зависимостите. Неговата стойност се състои в свързването на въпроси с подлежащ на инспекция код и подлежащи на проверка констатации, като същевременно запазва доказателствата, разрешението и човешкия преглед в центъра на работата.