Yapay zekâ ajanlarının ticari yazılımların ikili dosyalarını analiz ederek işlevlerini yeniden oluşturabilmesi, yazılım geliştiricilerini yeni koruma yöntemleri aramaya yöneltiyor. Timo Zhang tarafından geliştirilen Blind LLM Agents (BLA) projesi, kod analizini zorlaştırmak için şaşırtma teknikleri, şifreleme bütünlük kontrollerini araya getiriyor. yazılımların çalışma davranışını değiştirmeden yapay zekâ destekli tersine mühendislik süreçlerinin maliyetini artırmayı hedefliyor.

Blind LLM Agents Yapay Zekâ Destekli Kod Analizini Hedefliyor

Blind LLM Agents, özellikle büyük dil modelleriyle çalışan kodlama ajanlarının yayınlanmış yazılımları inceleyerek kodun işleyişini çözmesini zorlaştırmak üzere tasarlandı. Projenin geliştiricisi Timo Zhang, The Register’a yaptığı açıklamada mevcut kod gizleme yöntemlerinin çoğunlukla insanlara geleneksel statik analiz araçlarına göre geliştirildiğini belirtti. Zhang’a göre anlam ilişkilerini değerlendirebilen yapay zekâ ajanları, klasik koruma yöntemlerini aşarak uygulamaların çalışma mantığını kısa sürede yeniden oluşturabiliyor.

Günümüzde kodlama ajanları, dağıtılmış yazılım paketlerini, komut satırı araçlarını WebAssembly (WASM) bileşenlerini analiz ederek uygulamaların işlevlerini çözümleyebiliyor. yetenek, geliştiricilerin kendi yazılımlarını incelemesini kolaylaştırırken ticari ürünlerin izinsiz biçimde taklit edilmesi riskini artırıyor. Reverse Engineer Anything (REA) gibi çerçeveler, yapay zekâ ajanlarının tersine mühendislik işlemlerini otomatikleştirebildiği örnekler arasında bulunuyor.

Yapay zekâ destekli yeniden geliştirme çalışmaları tartışmayı büyütüyor. İki kişilik Artcraft ekibi, geçen ay Adobe Photoshop, Illustrator, Premiere Pro, Lightroom, After Effects, InDesign Acrobat Pro uygulamalarına alternatif olarak yedi açık kaynaklı yazılım yayınladı. Anthropic Opus 5.5 kullanılarak Rust diliyle sıfırdan geliştirildiğini belirttiği uygulamaları temiz oda yöntemiyle hazırlanmış yeniden uygulamalar olarak tanımlıyor. Ancak yapay zekâ kullanılarak yeniden geliştirilen yazılımların fikrî mülkiyet açısından otomatik olarak hukuki güvence kazandığına ilişkin kesin sonuç bulunmuyor.

Timo Zhang, BLA’nın yeni uygulama geliştiren araç olmadığını, mevcut yazılımların dağıtıma hazır sürümlerini daha dayanıklı hâle getirdiğini söylüyor. Proje, farklı koruma yöntemlerini dönüşüm işlem hattında birleştirerek yapay zekâ ajanlarının kod yapısını işlevsel ilişkileri çözmesini zorlaştırıyor.

BLA’nın kullandığı başlıca teknikler şunlardan oluşuyor:

  • İsim değiştirme: Kod içerisindeki değişken, işlev tanımlayıcıların anlaşılmasını zorlaştırıyor.
  • Kod yollarını bölme: İşlem akışını farklı bölümlere ayırarak uygulamanın mantıksal yapısının takip edilmesini güçleştiriyor.
  • Şifreli metin dizileri: Tohum değerlerinden türetilen şifreleme yöntemiyle uygulama içerisindeki metinleri koruyor.
  • Derleme çeşitlendirmesi: Farklı derlemelerde değişen kod yapıları oluşturarak analiz süreçlerini zorlaştırıyor.
  • WASM dışa aktarma adlarını değiştirme: WebAssembly bileşenlerinin dışarıya açtığı işlevlerin tanımlanmasını güçleştiriyor.
  • Sahte kod bütünlük kontrolleri: Analiz sırasında yanıltıcı yapılar ekliyor, uygulamanın değiştirilip değiştirilmediğini denetliyor.

Proje ayrıca koruma kapsamını değerlendiren test matrisi kullanıyor. yapı, hangi güvenlik önlemlerinin gerçekten uygulandığını hangi alanlarda doğrulanabilir koruma sağlanamadığını gösteriyor. Zhang, BLA’nın uygulamanın davranışını korurken tersine mühendislik için gereken çabayı artırmayı amaçladığını belirtiyor.

Zhang, projenin etkinliğini değerlendirmek için kırmızı takım testleri CrackMe olarak bilinen tersine mühendislik görevlerinden yararlandıklarını aktarıyor. CrackMe testleri, araştırmacıların korunan dosyalardan belirli anahtarları veya gizli değerleri çıkarmaya çalıştığı güvenlik denemelerini kapsıyor.

BLA ayrıca REA adlı tersine mühendislik ajanına karşı test ediliyor. Zhang’ın açıklamasına göre sistem, koruma uygulanmış yazılımların analiz girişimlerine ne ölçüde direnç gösterdiğini ölçüyor. Sürekli entegrasyon (CI) süreçleri savunma puanını takip ediyor, bütünlük kontrollerinin kapsamını doğruluyor uygulamanın koruma öncesi davranışıyla aynı şekilde çalışıp çalışmadığını denetliyor.

Geliştirici, BLA’nın yazılımları kırılmaz hâle getirdiğini iddia etmiyor. Projenin amacı, yapay zekâ destekli analiz girişimlerinin maliyetini yükseltmek otomatik kod çözümleme süreçlerine ek engeller eklemek. Geleneksel etkileşimli tersine mühendislik araçları olan Ghidra Frida karşısında kesin koruma garantisi sunulmuyor.

BLA, yapay zekâ sistemlerinin yazılım veri üzerindeki etkilerini sınırlamaya çalışan projelerle aynı geniş tartışmanın içinde yer alıyor. Poison Fountain, yapay zekâ eğitim verilerini zehirlemeye yönelik yaklaşımıyla öne çıkarken Anubis, botların otomatik veri kazıma araçlarının web sitelerine erişimini zorlaştırmayı amaçlıyor.

Ancak BLA’nın hedefi projelerden farklı. eğitim verilerini değiştirmek veya web trafiğini engellemek yerine dağıtılmış yazılım paketlerinin yapay zekâ ajanları tarafından analiz edilmesini güçleştirmeye odaklanıyor. yaklaşım, ticari yazılımların kodu açık olmasa bile ikili dosyalar üzerinden incelenebildiği dönemde geliştiricilere ek koruma katmanı sunmayı amaçlıyor.

Yapay zekâ ajanlarının kod anlama yeniden oluşturma yetenekleri geliştikçe yazılım koruma yöntemlerinin değişmesi bekleniyor. geleneksel kod gizleme tekniklerini yapay zekâ odaklı tehditlere göre yeniden düzenleyen deneysel yaklaşımlardan biri olarak konumlanıyor. Aracın gerçek dünyadaki etkinliği ise farklı yazılım türlerinde daha gelişmiş tersine mühendislik yöntemleri karşısında yapılacak bağımsız testlerle daha net ortaya çıkacak.