Jak nauczyć asystenta AI analizować APK, pliki binarne i JS bez niekończących się halucynacji
Gdy uruchamiasz Claude Code, Cursor lub innego asystenta AI, aby przeprowadzić inżynierię wsteczną nieznanego pliku binarnego, sieć neuronowa szybko zaczyna wymyślać rzeczy. Próbuje losowych narzędzi, myli flagi radare2 i próbuje dekomilować APK poprzez zwykłe przeglądanie ciągów znaków. Zamiast wykonywać prawdziwą pracę, połowę godziny spędzasz na poprawianiu cudzych błędów.
Projekt reverse-skill próbuje rozwiązać ten problem poprzez scenariusze strukturalnego routingu.
Co to za projekt
Zasadniczo reverse-skill to gotowa baza wiedzy i zestaw instrukcji dla asystentów AI. Zamiast dawać modelowi pełną swobodę wyboru, repozytorium narzuca ścisłe drzewo decyzyjne.
Zadanie wejściowe przechodzi przez reguły w RULES.md i dociera do głównego routera MASTER-ROUTING.md. AI otrzymuje jasną instrukcję: najpierw utwórz kontekst badawczy, sprawdź zainstalowane na systemie oprogramowanie, a następnie wybierz scenariusz dla konkretnego typu pliku.
User task
→ RULES.md
→ MASTER-ROUTING / master-route.ps1 (PRIMARY)
→ case-init / scope.md
→ Scenario skill → tools / MCP / scripts
→ timeline + Evidence→Finding→Path → report
Jeśli Ghidra lub Frida nie są dostępne na stacji roboczej, wbudowany skrypt indeksujący natychmiast informuje o tym asystenta. Model nie będzie próbował wywoływać brakujących plików binarnych.
Co znajduje się w repozytorium
Autorzy skompilowali instrukcje obejmujące prawie dwieście różnych zadań. Cała kolekcja jest zorganizowana w tematycznych katalogach:
- Odwracanie aplikacji mobilnych w folderach
skills/apk-reverse/iskills/mobile-reverse/ - Analiza skompilowanych plików (.exe, .so, .elf) z instrukcjami dla IDA Pro i radare2
- Deobfuskacja JavaScript po stronie klienta i praca z niestandardowymi maszynami wirtualnymi
- Analiza zrzutów sieciowych i REST API
- Organizacja zawodów CTF poprzez moduł
CTF-Sandbox-Orchestrator
Każdy obszar zawiera algorytm krok po kroku. Sieć neuronowa nie zgaduje, jakie polecenia konsoli użyć — podąża za protokołem: zbierz dowody, zweryfikuj hipotezę, zapisz do dziennika.
Jak wdrożyć i używać
Pod maską projekt wykorzystuje skrypty PowerShell, powłoki Bash, Pythona i pliki Markdown. System można wdrożyć w kilku krokach:
git clone https://github.com/zhaoxuya520/reverse-skill.git
Następnie uruchom skrypt skanowania środowiska. Dla Linuksa i macOS:
bash skills/scripts/refresh-tool-index.sh
Dla Windows:
powershell -File skills/scripts/refresh-tool-index.ps1
Skrypt sprawdza JDK, Pythona, Node.js, Fridę, jadx i tworzy lokalny plik skills/tool-index.md. Model widzi aktualny stan systemu i rozumie, które narzędzia może faktycznie uruchomić.
W katalogu głównym znajdują się README_AI.md i RULES.md. Podczas łączenia repozytorium z klientem AI, model najpierw czyta te pliki konfiguracyjne. Wyraźnie zabraniają one aktywnych działań, dopóki faza inicjalizacji kontekstu się nie zakończy.
Analiza na praktycznych przykładach
Rozważmy scenariusz: musisz przeanalizować zaszyfrowany parametr w kliencie webowym. Zwykły czat AI zasugeruje kilka losowych funkcji ze StackOverflow. Po podłączeniu pakietu asystent otwiera skills/js-reverse/, sprawdza debuggery przeglądarki i dostarcza sekwencyjny plan analizy.
Drugi przypadek to badanie pliku APK. Model przechodzi do skills/apk-reverse/. Najpierw wywołuje jadx do dekomilacji Javy, przełącza się na Ghidrę po wykryciu natywnych bibliotek i używa Fridy do śledzenia wywołań w czasie wykonywania. Wyniki są zapisywane w lokalnym folderze work/, który jest wykluczony z śledzenia Git.
Czy warto zainstalować
Projekt będzie przydatny dla osób regularnie wykorzystujących AI do analizy kodu lub badań binarnych. Jeśli masz dość ciągłego poprawiania halucynacji modelu i przypominania mu o prawidłowych flagach narzędzi CLI, repozytorium zaoszczędzi ci czas.
Dokumentacja wydaje się przeciążona z powodu liczby plików markdown, ale podejście twardego routingu dla asystentów AI działa świetnie.