deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

Concealer, MCP agent erişimiyle tek dosyalık, yalnızca yerel çalışan bir secret kasası yayınladı

Bir dev.to yazısı, kimlik bilgilerini SOPS ve age ile şifreleyen ve değerlerin modelin bağlamına girmesine izin vermeden yapay zeka agent'larının bu bilgileri MCP üzerinden kullanmasını sağlayan tek dosyalık Python secret yöneticisi concealer'ı tanıtıyor.

Concealer, MCP agent erişimiyle tek dosyalık, yalnızca yerel çalışan bir secret kasası yayınladı

Bir geliştirici, tek bir Python dosyasından oluşan, tamamen kullanıcının makinesinde çalışan ve GitHub'da barındırılan açık kaynak bir secret yöneticisi olan concealer'ı yayınladı. dev.to'daki yazısında yazar, bunu .env kuralının yerleştiği dönemde neredeyse var olmayan bir soruna yanıt olarak konumlandırıyor: Yapay zeka kodlama asistanları işlerini yapmak için deponuzu okumak zorunda ve içinde duran düz metin kimlik bilgileri artık sızıntı olmaya hazır bir zaman bombası.

Yapay zeka asistanlarının açtığı sızıntı yolları

Yazının argümanı şu: .env dosyası on yıl boyunca işleyen bir uzlaşmaydı — düz metin ama yerel ve git-ignored. Kodlama agent'ları denklemi değiştirdi. Bir asistan depoyu taradığı, komutlar çalıştırdığı ve çıktıyı bir modele geri ilettiği için yazar, bir anahtarın kaçabileceği birkaç yol tespit ediyor: daha sonra bir issue'ya yapıştırılan bir sohbet kaydına yazılması, agent'ın geri aktardığı bir log'a yakalanması, uzun bir oturumun geri kalanı boyunca modelin bağlamında tutulması ya da bulduğu her dosyayı ekleyen bir agent tarafından stage'lenip commit edilmesi. Bu yolların hiçbiri kötü niyet gerektirmiyor; asistan yalnızca içinde çalıştığı ortamı okuyor.

Yazara göre mevcut araçlar neden yetersiz

Vault, Doppler veya bulut KMS çözümleri gibi bulut kasaları bir hesap, bir ağ gidiş-dönüşü ve sürekli ayakta kalması gereken bir servis gerektiriyor — bir dizüstü projesi için ağır bir yük, üstelik secret'lar başkasının altyapısında bulunduruluyor. 1Password gibi parola yöneticileri script'ler ve agent'lar yerine insanlar için tasarlandı. OS anahtarlıkları yeni bir makineye geçtiğinizde sizinle gelmiyor. Ve .env zaten başlı başına düz metin sorununun kendisi. Yazar dört özelliğin bir arada olmasını istedi: yalnızca yerel çalışma, hesap veya telemetri gerektirmemesi, dosyaları kopyalayıp tek bir parola girerek taşınabilme ve bir secret'ın değerinin asla bir asistanın bağlamına girmemesi gibi agent farkındalıklı bir tasarım.

Concealer nasıl inşa edildi

Araç yalnızca standart kütüphaneye bağımlı tek bir Python 3 script'i ve bilinçli olarak kendi kriptografisini icat etmektan kaçınıyor. Şifreleme, yapıyı bozmadan yapılandırılmış YAML veya JSON dosyalarını şifreleyen ve kökeni Mozilla'ya dayanan SOPS'a ile Filippo Valsorda'nın şifreleme aracı age'e devredilmiş. Concealer'ın kendi yaptığı tek kriptografi, ana parolayı scrypt ile doğrulamak ve denetim kaydını HMAC ile zincirlemek. Secret'lar düz anahtar/değer çiftleri yerine tiplendirilmiş (veritabanı kimlik bilgileri, bulut anahtarları, web girişleri, özel kayıtlar) ve tenant, proje, ortam ve repo'ya göre kapsamlandırılmış. Tek bir kasanın üzerinde birkaç arayüz var: CLI — cer set bir değer saklar, cer run değeri bir child process'e enjekte eder ve çıktıdan temizler — ve localhost'a bağlı, ana parolayla kilidi açılan bir web konsolu.

MCP parçası: secret'ları görmeden kullanan agent'lar

Yazarın projeyi motive ettiğini söylediği özellik, agent'ların araçlara erişmek için kullandığı Model Context Protocol'ü temel alan bir MCP sunucusu. Bir agent, bir proje için mevcut secret adlarını listeleyebilir — yalnızca adlar, değerler asla kasadan çıkmaz — ya da concealer'dan adı verilen bir secret ile bir komut çalıştırmasını isteyebilir. Değer doğrudan child process'in ortamına şifresi çözülerek aktarılır ve çıktı, agent tek bir satır okumadan önce sansürlenir; böylece düz metin hiçbir yönde bağlama girmez.

Secret kullanımını tetikleyebilen bir agent'ın kendisi de bir risk olduğu için MCP sunucusu katmanlı kontroller içeriyor. Kayıt zorunlu: yalnızca kayıtlı bir agent token'ı araçları çağabilir; insan veya CLI token'ları reddedilir. Toplu erişim yoktur — bir komut, ihtiyaç duyduğu secret'ları tek tek adıyla belirtmek zorundadır. Hız sınırları hem tek bir çağrının döndürebileceği satır sayısını hem de bir agent'ın kayan bir pencere içinde açığa çıkarabileceği farklı secret adlarının sayısını sınırlar; önceden görülen adlar serbestçe yeniden listelenebilirken yeni olanlar kotaya dahildir, böylece toplu listeleme hem yavaşlatılır hem kayda geçer. Her etkileşim, adları ve eylemleri kaydeden ama asla değerleri kaydetmeyen, kurcalamaya karşı dayanıklı bir denetim kaydına düşer.

Neden önemli

Yapay zeka kodlama asistanları, yerel secret'lar için tehdit modelini sessizce yeniden yazdı. .env dosyasındaki bir anahtar artık bir agent'ın çalıştırdığı herhangi bir komutla kolayca erişilebilir durumda ve sızıntı yolları — kayıtlar, log'lar, kazara yapılan commit'ler — saldırı değil, agent'ların çalışma biçiminin sıradan yan etkileri. Concealer'ın katkısı yeni bir şifreden çok bir yeniden çerçeveleme: "agent değeri asla görmemeli" ilkesini birinci sınıf bir tasarım kısıtı olarak ele alıyor ve bunu secret'ların süreçlere enjekte edildiği noktada zorunlu kılıyor. Bağımsız geliştiriciler ve küçük projeler için tek dosyalık, hesapsız yapı, tam kasa kurulumlarını orantısız hissettiren eşiği de düşürüyor. Her zamanki uyarılar geçerli — bu denetlenmiş bir ürün değil, tek bir geliştiricinin projesi — ama özel kriptografi yerine SOPS ve age'e yaslanmak savunulabilir bir başlangıç noktası ve agent destekli geliştirme varsayılan hale geldikçe bu desen izlemeye değer.

  • #secrets-management
  • #ai-agents
  • #mcp
  • #security
  • #open-source

İlgili yazılar