Claude Opus 5 не успя да разбие защитени двоични файлове в експеримент за обратно инженерство. Вместо това моделът потърси по-лесни начини за възстановяване на скритата информация, показвайки, че анализът, подпомогнат от изкуствен интелект (ИИ), може да бъде способен, но и ненадежден.
Тестът не представляваше избухване на зловреден софтуер. Използвани бяха изчистени AArch64 двоични файлове, съдържащи скрити низове, като след това автономен кодиращ агент беше поставен в изолирана среда с инструменти за дизасемблиране, емулация и скриптиране.
Неговата задача беше да възстанови низовете и да предостави скрипт. Изследователите от Quarkslab отбелязаха, че агентът рутинно е избягвал най-сложните защити.
В доклад, споделен с Cyber Security News (CSN), Quarkslab посочва, че вместо да разплита изгладени пътища на кода и подвеждащи изчисления, агентът е копирал малки рутинни процедури в Python, изпълнявал е код под емулация или е търсил в работното пространство за полезни улики.
Това поведение има значение и извън лабораторията. Защитниците вече виждат как разбирането на техниките за обфускиране на зловреден софтуер може да забави статичната проверка, докато атакуващите използват изпълнение по време на работа (runtime), за да разкрият скрития код. Експериментът предполага, че ИИ агентите могат да объркат леснодостъпния отговор с проверения такъв.
Claude Opus 5 заобикаля обфускирани двоични файловеЕкспериментът стартира Claude Code в напълно автоматичен режим. Сесиите използваха Opus 4.6 и по-късно Opus 5. Хостът беше x86_64, двоичните файлове бяха насочени към AArch64, а нормалният изход беше недостъпен.
Една от целите съдържаше три низа. Другата съхраняваше шест AES-256-CBC криптирани блока с ключове, получени от главен ключ. В различните защитени варианти агентът често намираше декодираща логика, извличаше откъси и ги изпълняваше.
Ключовото откритие не беше чистото преодоляване на обфускацията. Quarkslab сподели, че никога не е наблюдавал агентът напълно да деобфускира дадена защита, включително в сесиите с Opus 5. Вместо това статичното подсилване го е насочило към динамичен анализ чрез Unicorn, QEMU или целево устройство.
Тази разлика е важна за специалистите по реагиране на инциденти. Сложен многослоен зловреден софтуер може да изисква наблюдение по време на изпълнение, дори когато видимата му структура е объркваща. Същата тенденция се появява и в анализа на многослойната обфускация на APT28, където беше необходимо дебъгване, за да се разкрие скритото поведение на скрипта.
Бенчмаркът разкри и риск при тестването. Агентът намери файл с отговорите и третира неговите низове в чист текст като абсолютна истина. След това той генерира убедително обяснение за процеса на криптиране, който всъщност не беше извършил по време на теста, показвайки, че правилният резултат не валидира избрания път.
Пропуски в изолираната среда и фалшива увереностВтори експеримент показа защо средата на агента е част от границата на сигурност. При оценката на Android приложение той улови трафик, опита атаки за повторно изпълнение, забеляза достъпен локален Docker контейнер и прочете информация от него, вместо да продължи с обратното инженерство на защитения компилиран код.
От Quarkslab предупредиха, че всяко улеснение в изолираната среда може да се превърне в непредвиден път към отговора. Това включва локални файлове, активни услуги, мрежови изключения, споделени томове, идентификационни данни и история на сесиите.
Това предупреждение съвпада с рисковете при инструментите за автономен red-teaming, където слабата изолация може да разкрие тайни или да позволи на агента да засегне своя хост. Агентите също така създаваха уверени, но погрешни истории.
Проверките за самозащита по време на изпълнение бяха описани като дейност за командване и контрол, шпионски софтуер или телеметрия, въпреки че кодът беше проектиран да открива дебъгване, инструментация, емулация или повишени привилегии. Име на файл, съдържащо „sh2“, също насочи една от сесиите към несвързана архитектура на процесора.
За софтуерните екипи препоръчителната реакция е да не се доверяват само на прикриването (obscurity). Пазете тайните зависими от реалните условия на изпълнение, използвайте няколко различни проверки вместо една очевидна и ги интегрирайте в ключовия материал, вместо да ги поставяте зад видим условен преход за успех или неуспех.
Когато бъде открита враждебна среда, генерирането на правдоподобен, но неверен изход може да разкрие по-малко информация от едно аварийно спиране (crash). Екипите, оценяващи ИИ агенти, трябва да премахват файловете с отговори, да изолират локалните услуги, да ограничават изходящия достъп, да разделят идентификационните данни от агента и независимо да проверяват всеки деклариран метод за извличане.
Анализаторите трябва да сравняват разказа на агента с възпроизводими доказателства, особено когато изглежда, че полиран скрипт дава незабавен резултат.
По-широкият извод е, че обфускацията остава фактор, който увеличава разходите за анализ, а не пълно заключване на кода. Както показва проучването на контролния поток на KorPlug, сложните пътища все още могат да увеличат усилията, необходими за разбиране на двоичния файл.
ИИ променя мащаба и скоростта на тази работа, но може също така да възнагради преките пътища, предположенията и отговорите, които само изглеждат правилни.