REA nedir? Ajanla tersine mühendislik
REA, Claude Code ve Codex gibi ajanlara tersine mühendislik araçlarını bağlayan açık kaynak MCP sunucusu. Ne yapıyor, ne yapmıyor, nerede durmalı?

3 dk okuma

Ekim’de GitHub’da en hızlı yükselen depo bir yapay zekâ modeli ya da yeni bir framework değil, bir tersine mühendislik aracı oldu. REA (Reverse Engineer Anything) 23 Ekim itibarıyla 370 binin üzerinde yıldızı geçti; ay başında adını bilen yok gibiydi.
REA, Claude Code, Codex, Cursor ya da Gemini CLI gibi kodlama ajanlarına tersine mühendislik araçlarını tek bir MCP sunucusu üzerinden bağlayan, MIT lisanslı açık kaynak bir araç. Fikri basit: bir uygulamada beğendiğin bir özellik var, kaynak kodu elinde yok. Ajana “bu özellik nasıl çalışıyor, kanıtıyla göster” diyorsun, ajan da REA’nın araçlarıyla uygulamanın içine bakıyor.
REA ne yapıyor?
MCP (Model Context Protocol), bir ajanın dış araçları çağırmasını sağlayan ortak bir protokol. REA bu protokolle ajana bir dizi inceleme aracı sunuyor ve kurulumu tek komut: npx rea-agents setup. Komut, seçtiğin ajanlara REA’yı kaydediyor ve ajanın nasıl inceleme yapacağını anlatan talimatları ekliyor.
Asıl iş REA’nın kendisinde değil, arkasına bağladığı araçlarda. Derlenmiş programlar için bilgisayarında kurulu Ghidra, Hopper ya da IDA’yı kullanıyor; yani kendi decompiler’ı yok. JavaScript ve Electron uygulamalarını, .NET dosyalarını ise ek bir araç olmadan, programı çalıştırmadan okuyabiliyor. Bunların yanında web sitelerini bir tarayıcı üzerinden, Android uygulamalarını JADX ile, kaydedilmiş ağ trafiğini de HAR dosyalarından inceleyebiliyor.

REA, Hopper’ı kendisi başlatıp bir programı incelerken. Görsel: REA deposu (MIT lisansı).
Projenin README’si iki noktada dürüst. Analiz senin bilgisayarında çalışıyor, ama araçların bulduğu sonuçlar ajana, dolayısıyla ajanın kullandığı model sağlayıcısına gidiyor. Bir de REA her bulguyu kanıtıyla ve “bunu bilmiyorum” dediği yerlerle birlikte döndürüyor; uygulamanın orijinal kaynak kodunu geri getirdiğini iddia etmiyor.
Örneklerde ne var?
Projenin örnek vakaları neyin mümkün olduğunu iyi gösteriyor. Birinde Notion’ın masaüstü uygulamasında panoya kopyalama özelliği, ekrandan Electron’un iç katmanlarına kadar izleniyor. Diğerinde eski bir oyun olan DX-Ball’da topun sesinin hangi hoparlörden çıkacağını hesaplayan fonksiyon assembly’den C’ye geri yazılıyor; yeniden yazılan kod, orijinal programla 3.205 test durumunda aynı sonucu veriyor.

Örnek vakalar: DX-Ball, Notion ve TH04. Görsel: REA deposu (MIT lisansı).
Abartı mı?
Kısmen. Ajanları Ghidra’ya bağlamak yeni bir fikir değil; GhidraMCP Mart 2025’ten beri var. InfoQ’nun haberine göre Hacker News’te de ilk soru buydu: ajana “Ghidra’yı kur ve kullan” demekten farkı ne? Bazı kullanıcılar REA ile daha iyi sonuç aldığını söylüyor, ama bunu ölçen bağımsız bir karşılaştırma yok.
REA’nın asıl katkısı kolaylık gibi duruyor: tek kurulum, tek arayüz ve birçok dosya türü. Yıldız sayısı da bir ilgi göstergesi, kaç kişinin gerçekten kullandığını söylemiyor.
Nerede durmalı?
Tersine mühendislik meşru bir iş: güvenlik araştırması, zararlı yazılım analizi, eski bir sistemin nasıl çalıştığını anlamak, başka bir yazılımla uyumlu çalışacak bir şey yazmak. Ama sınırı ince ve REA’nın sorumlu kullanım metni bu yüzden açık konuşuyor: yalnızca sahibi olduğun ya da incelemeye yetkin olduğun yazılım; lisans kontrolünü, DRM’i ya da kimlik doğrulamayı atlatmak yok. Tersine mühendislik bazı ülkelerde ve bazı lisans sözleşmelerinde kısıtlı, sorumluluk da kullanıcıda. Hopper ve IDA gibi ticari araçların lisansını da ayrıca alman gerekiyor.
Bir de şirket ortamında unutulan bir nokta var: incelediğin dosya senin bilgisayarında kalsa bile, ondan çıkan kod parçaları ve bulgular model sağlayıcısına gidiyor. Bir iş ortağının verdiği kapalı bir kütüphaneyi ajana inceletmeden önce bunun sözleşmeye uyup uymadığına bakmak gerekiyor.
Özetle REA, kaynak kodu olmayan bir şeyi anlamaya çalışırken ajanına doğru araçları veriyor; neyi anlamaya yetkin olduğuna karar vermek yine sana kalıyor.
Benzer yazılar

8 dk
AI'ın yazdığı testler hatayı yakalar mı?
AI'a yazdırılan unit testlerde kapsam ve mutation skoru %100 çıkıp hata yine kaçabilir. C# ve Stryker.NET ile dört varyantlı bir ölçüm.