· kaynak dev.to (home feed)
mod-audit v0.2, Claude Code mod güncellemelerinde değiştirilen hook'ları ve genişletilen izinleri denetliyor
mod-audit v0.2, Claude Code modları için baseline-and-diff denetimi ekliyor; adversa.ai'nin trojanlanmış güncellemelerin test harness'lerini bozduğunu ölçmesinin ardından, güncellemelerdeki yeni hook'ları, kimlik bilgisi okumalarını ve genişletilen izinleri işaretliyor.

Güncelleme denetim hedefi haline geliyor
Claude Code modları için çevrimdışı bir tedarik zinciri denetleyicisi olan mod-audit'in geliştiricisi, 11 Ekim'de 0.2 sürümünü daraltılmış bir görevle yayınladı: kurulu bir mod güncellendiğinde neyin değiştiğini yakalamak. dev.to duyurusuna göre yeniden tasarım, adversa.ai'nin sonuçlarını izledi; bu sonuçlarda Claude Code modlarına yapılan trojanlanmış güncellemeler test harness'lerini yüzde 92,5'e varan başarı oranlarıyla bozuyordu ve çıkarım şuydu: Kurulum anında taramak yerine güncellemeleri incelemek, şu anda gerçek anlamı olan güvenlik kontrolü.
Argüman basit. Kurulum anındaki bir tarama, seçtiğiniz sürümü doğrular; kötü amaçlı yük ise günler sonra, güven ve izinler çoktan verildikten sonra, rutin bir güncelmenin içinde gelebilir.
Baseline ve diff
Sürümü iki komut taşıyor. mod-audit baseline kurulu modların dosyalarını hash'ler, hook komutlarını ve bildirilen izinlerini bir snapshot'a kaydeder; bu snapshot temiz bir kurulumdan alınmalıdır. mod-audit diff ise bir güncellemeden sonra çalışır, yalnızca değişenleri yeniden denetler ve tek satırlık bir kararla biten, gruplanmış bir rapor yazdırır; örneğin yüksek risk derecesi ve delta içindeki yüksek önem dereceli bulgu sayısı gibi. Duyurudaki örnek çıktı, yaşam döngüsü hook'unun artık uzaktan indirilen bir script'i doğrudan bir shell'e yönlendirdiği değişmiş bir plugin manifest'i gösteriyor — tam da kurulum anı taramasının asla göremediği değişiklik sınıfı.
Delta'da izlenen dört sinyal
Diff raporu bulguları dört kategoriye ayırıyor:
- Yeni ağ sızdırma: API anahtarlarını ağ çıkış noktalarına yakın arayan ENV-EXFIL kuralı, değişen dosyalara karşı yeniden çalıştırılır.
- Kimlik bilgisi yolu okumaları: yeni TS-CRED-PATH ve HOOK-CRED-READ kuralları, SSH anahtarlarının, AWS kimlik bilgisi dosyalarının, .pem anahtarlarının, .env dosyalarının ve credentials. okumalarını işaretler — yazarın bir modun asla dokunmaması gerektiğini savunduğu yollar.
- Yeni veya değiştirilmiş hook'lar: hook komut envanteri baseline ile karşılaştırılır ve her ekleme veya değişim yüksek önem derecesi olarak değerlendirilir. Gönderi bunu Plugin4Shell tarzında bir pin-swap deseni olarak tanımlıyor.
- İzin genişletme: DIFF-PERM-WIDENED, bir güncelleme bir shell ayarını false'tan true'ya çevirdiğinde veya bir ağ izni eklediğinde önem derecesini yükseltir.
Tasarımı gereği çevrimdışı
Duyuru, mod-audit'i ClawSecure Watchtower ile karşılaştırıyor;后者 modları sürekli izleyen ama kaynaklarının makineden çıkmasını gerektiren ve kullanıcıların üçüncü taraf bir kararı beklemesine yol açan bir bulut hizmeti. mod-audit ise yerel, çevrimdışı bir CLI: yazara göre bir karar milisaniyeler içinde geri geliyor ve araç CI'da veya kurulu modları yeniden denetleyen gecelik bir zamanlamada çalıştırılmak üzere tasarlanmış. Yalnızca Python standart kütüphanesini kullanıyor, Python 3.9 veya daha yenisini gerektiriyor, MIT lisanslı ve sıfır bağımlılıklı, PyPI'dan pip ile kuruluyor ve kaynağı GitHub'da barındırılıyor.
Belirtilen sınırlamalar
Yazar, aracın ne olmadığı konusunda açık sözlü. Bu bir sandbox değil, çevrimdışı buluş kümeleri; dolayısıyla bir diff, ancak başladığı baseline kadar iyi olabilir — snapshot'lar temiz bir kurulumdan alınmalı ve güncelleyicinin kendi yazamayacağı bir yerde saklanmalı. TypeScript taraması regex tabanlı; bu, bağımlılıkları sıfırda tutan ve taramaları hızlı tutan bilinçli bir ödün, yani ağır şekilde obfuscate edilmiş kod hâlâ manuel inceleme gerektiriyor. mod-audit ayrıca metadata veya politika inceleyicilerinin yerine geçmiyor; bu araçların atladığı, çalıştırılan TypeScript katmanını hedefliyor.
Neden önemli
adversa.ai sayıları teorik değil, aktif bir tedarik zinciri riskini tanımlıyor: test harness'lerini bozan güncellemeler çoğu zaman başarılı oluyor; yani olağan güvenlik ağı — testlerin kendisi — tam olarak ele geçirilen şey. Mod ekosistemleri bunu, uzantılara hook çalıştırma, shell erişimi ve güncellemeler arasında sessizce süren ağ izinleri vererek ağırlaştırıyor. Baseline artı diff denetimi ucuz ve otomatikleştirilebilir bir yanıt: bilinen iyi bir durumu sabitleyin, sonra yalnızca değişeni inceleyin — ister CI'da ister gecelik bir zamanlamada. mod-audit v0.2 her şeyi yakalamayacak — zehirlenmiş bir baseline ve obfuscate edilmiş kod, yazarın kabul ettiği açık boşluklar olarak kalıyor — ama güncelleme kanalının kendisini izlenen bir yüzey haline getiriyor ve değiştirilmiş bir hook'u ya da sessizce genişletilmiş bir izni, geliştiricinin asla değil, ertesi sabah göreceği bir şeye dönüştürüyor.
- #supply-chain
- #claude-code
- #security
- #python
- #open-source
İlgili yazılar
- go-dev-auth, Go için sıfır bağımlılıklı, better-auth tarzı bir kimlik doğrulama yığını sunuyor
- Agent Standup, Claude Code oturumlarını canlı ve sıfır token maliyetli bir stand-up toplantısına dönüştürüyor
- Bir dev.to yazısı, kullan-at container'ların yapay zeka ajanı onay yorgunluğu için gerçek çözüm olduğunu savunuyor