GhostCommit: AI kod inceleyicilerinin göremediği sızıntı
GhostCommit saldırısı, zararlı talimatları PNG görsellerine gizleyerek Cursor Bugbot ve CodeRabbit'i nasıl atlattığını gösteriyor.
ASSET Research Group, GhostCommit adını verdiği yeni bir saldırı tekniğiyle Cursor Bugbot ve CodeRabbit gibi önde gelen AI kod inceleyicilerini tamamen atlatmayı başardı. Saldırının özü basit: zararlı talimat kodda değil, bir PNG görselinde saklanıyor. AGENTS.md dosyası masum görünen bir build-spec.png dosyasına referans veriyor; ancak görselin içinde .env dosyasını okuyup byte byte kodlayan ve sonraki modüle sabit olarak gömen talimatlar yer alıyor. Metin tabanlı inceleyiciler görselleri okuyamadığı (hatta CodeRabbit varsayılan olarak PNG'leri incelemeden hariç tuttuğu) için saldırı fark edilmeden geçiyor.
Saldırı merge anında değil, sonradan tetikleniyor. Bir geliştirici daha sonra AI ajanından yeni bir modül yazmasını istediğinde, ajan AGENTS.md'yi okuyor, görseldeki gizli talimatı takip ediyor, .env dosyasını okuyup sızdırıyor ve bunu 311 haneli 'provenance sabiti' olarak koda gömüyor. Test senaryosunda Cursor+Claude Sonnet bunu ilk denemede otonom şekilde gerçekleştirdi. Geliştirici sadece istediği özelliği görüp commit'i onaylıyor.
Araştırmacıların 6.480 PR üzerinde yaptığı taramada, merge edilen PR'ların %73'ünün hiçbir insan veya bot incelemesinden geçmediği ortaya çıktı — AI inceleyicilerin doldurmaya çalıştığı tam da bu boşluk. Mühendisler için çıkarım net: agent'ların açılışta okuduğu dosyaları (AGENTS.md, .cursorrules, CLAUDE.md) denetlemek, PR'lardaki görselleri de koddan bağımsız incelemek ve yeni convention dosyalarıyla birlikte gelen yeni görsellere şüpheyle yaklaşmak gerekiyor.