← Blog’a dön

← Back to blog

Reverse Shield: yayınlanan uygulama tersine mühendise ne verir?

MCP rehberi · Uygulama sertleştirme

Reverse Shield, yayınladığınız derlemenin bir tersine mühendise neyi bedavaya verdiğini söyler. Web paketi, Electron uygulaması, APK, native ikili ve .NET derlemesi aynı raporda toplanır.

Tersine mühendislik araçları, kaynak kodu olmayan bir uygulamayı alıp bir özelliğin nasıl çalıştığını ikili düzeye kadar açıklayabiliyor. Bu sunucu madalyonun diğer yüzüdür: onu kendi derlemenize yöneltirsiniz. jadx, ILSpy, Hopper veya tarayıcının geliştirici araçlarının hiç uğraşmadan göreceği şeyleri, her madde için düzeltmesiyle birlikte raporlar.

scan_url dışında tarama yerelde ve çevrimdışı çalışır. ASAR, Electron fuse, ikili AndroidManifest, DEX, ELF, Mach-O ve PE/.NET metadata için kendi ayrıştırıcıları vardır. apktool, jadx veya binutils gerekmez.

Ne işe yarar

Ajanınıza kaynak kodu olmayan bir yapıyı verip bu özellik nasıl çalışıyor diye sorduğunuzda, karşı tarafın eline geçen izler şunlardır:

  • Web — paketlenmiş, satır içi veya herkese açık source map, minify edilmemiş paket, istemci kodundaki anahtar ve iç host.
  • Electron — RunAsNode, inspect, NODE_OPTIONS ve ASAR bütünlüğü fuse kayıtları, açıkta duran uygulama kodu, app.asar içindeki kod.
  • Android — debuggable bayrağı, R8 veya ProGuard eksikliği, imza şeması, yedeklemeye açık veri, düz React Native paketi, sembolü soyulmamış .so.
  • Native — debug bilgisi, semboller, get-task-allow, hardened runtime, imza, PIE, NX, RELRO ve stack canary. ELF, Mach-O ve PE.
  • .NET — obfuscation eksikliği, gömülü PDB ve sızan derleme yolları.

Neyi işaretler

Kritik ve yüksek bulgular, tersine mühendisin kaynak düzeyine en çok yaklaştığı yerlerdir.

  • Kritik. sourcemap_embeds_source, source map içinde sourcesContent ile özgün kaynak kodunu taşır. apk_debuggable, hata ayıklayıcının bağlanmasına ve run-as ile uygulama verisine girilmesine izin verir.
  • Yüksek, web. Paketlenmiş, satır içi veya herkese açık source map özgün dosya yollarını verir. eval_devtool_bundle her modülün yolunu taşıyan geliştirme paketidir. bundle_secret istemci kodunda çalışan bir kimlik bilgisi arar.
  • Yüksek, Electron. RunAsNode veya inspect fuse kaydı, imzalı uygulamanın içinde Node çalışma zamanı ya da hata ayıklayıcı açar. electron_app_unpacked uygulama kodunu düzenlenebilir bir klasör olarak bırakır.
  • Yüksek, Android. Obfuscation yoksa jadx gerçek adlarla çıkar. Düz React Native paketi okunur. İmzasız APK, oynanmış olduğuna dair iz bırakmaz.
  • Yüksek, native ve .NET. Debug bilgisi ve soyulmamış semboller adlandırılmış fonksiyonları kolaylaştırır. Gömülü PDB, ILSpy veya dnSpy çıktısını özgün kaynağa yaklaştırır.
  • Orta ve düşük. Minify edilmemiş paket, yedeklemeye açık APK, yalnızca v1 imza, PIE, NX, RELRO ve canary eksikleri, derleme yolu sızıntısı. Native sertleştirme kontrolleri tersine mühendislikten çok istismar zorlaştırmasıdır; bu yüzden düşük veya orta raporlanır.

Üç araç

  • scan_artifact bir dosyayı veya dizini tarar: APK, .app, Electron klasörü, app.asar, ELF, Mach-O, PE, .NET ikilisi, JS paketi, source map veya derleme çıktısı klasörü.
  • scan_url canlı bir sayfayı alır, aynı sitedeki paketlere bakar, sourceMappingURL izler ve .map dosyasını dener. Üçüncü taraf betikler indirilmez.
  • list_checks kontrol kataloğunu, her bulgunun neyi ele verdiğini ve nasıl düzeltileceğini döner.

Dizin yürüyüşü dist/, build/ ve out/ içindir. node_modules, sürüm kontrolü ve önbellek klasörleri atlanır. İçerde bulunan bir macOS .app veya Electron klasörü tek birim olarak taranır: kendi fuse kayıtları, kendi ASAR dosyası ve kendi çalıştırılabilir. Paketlenmiş üçüncü taraf çerçeveler ayrı taranmaz.

Kurulum

Paket @guardbee/mcp-reverse-shield. Claude veya Cursor yapılandırması:

{
  "mcpServers": {
    "guardbee-reverse-shield": {
      "command": "npx",
      "args": ["-y", "@guardbee/mcp-reverse-shield"]
    }
  }
}

Komut satırından, yüksek ve üzeri bulguda başarısız olmak için:

npx @guardbee/mcp-reverse-shield scan ./dist --fail-on=high

Canlı adres SARIF olarak da yazılabilir. CI adımında üretilen dosya GitHub code scanning yüklemesine verilir. İsteğe bağlı guardbee.yml ile fail-on, max-files (varsayılan 5000) ve exclude yolları belirlenir.

Sınırlar

  • Obfuscation, kontrol akışından değil adlardan okunur. Yalnızca yeniden adlandıran bir derleme geçer. Metin şifreleme veya kontrol akışı düzleştirme ölçülmez.
  • Web kontrolleri yayınlananı görür. Bir anahtarın bilerek herkese açık olup olmadığını ayırt edemez. Firebase web anahtarı gibi anahtarlar sunucu tarafında kısıtlanır. Döndürün veya kısıtlayın, sonra yolu exclude listesine alın.
  • iOS .ipa ve Android App Bundle (.aab) henüz açılmaz. .ipa içindeki .app dosyasını veya bundle üzerinden üretilmiş evrensel APK dosyasını tarayın.

npm · Tüm MCP sunucuları

Paylaş

Share

Sitenizin risk skorunu görün — 14 gün ücretsiz deneme.

See your site’s risk score — 14-day free trial.