Claude Code, Codex veya Cursor ile gerçek API’lere dokunan işler yapıyorsanız, kimlik bilgisi yönetimi hızla riskli hale gelir: API anahtarını sohbete yapıştırmak modeli kalıcı bağlama maruz bırakır; .env dosyasına koymak ise aracının bash ile okuyup dışarı taşıyabileceği bir sır üretir. Daha güvenli desen: sırrı modele vermeyin, yalnızca ihtiyaç duyan alt sürece çalışma anında enjekte edin.
Bitwarden’ın açık kaynak projesi Agent Access, bu problemi çözmek için bir kimlik bilgisi paylaşım protokolü, CLI (aac) ve Rust + Python SDK sunar. Parola yöneticiniz ile uzaktaki bir süreç — AI aracı, CI runner veya betik — arasında şifreli bir tünel kurar. Tüketici süreç, kasanın tamamını görmeden yalnızca kapsamlandırılmış alan adı veya kasa öğesi için gerekli sırrı alır.
Bu yazıda Agent Access’i kuracak, aac connect ve aac run komutlarını kullanacak, Claude Code, Codex ve Cursor iş akışlarına nasıl yerleştirileceğini görecek ve Yapay Zeka Aracısı API Kimlik Bilgilerini Nasıl Güvenli Hale Getirilir yazısındaki kimlik bilgisi hijyeni prensiplerini pratik hale getireceğiz.
Agent Access nedir?
Agent Access, Bitwarden tarafından geliştirilen ancak farklı parola yöneticilerinin de benimseyebilmesi için açık tasarlanan bir protokol ve referans uygulamadır.
Çalışma modeli:
- Bir sağlayıcı bağlantı isteklerini dinler.
- Bir tüketici — aracı, betik veya CI job — sağlayıcıya bağlanır.
- Tüketici, alan adı veya kasa öğesi kimliğiyle kimlik bilgisi ister.
- Sağlayıcı ne döneceğine karar verir.
- Tüketici kasanın tamamını hiçbir zaman göremez.
CLI aracı aac, Noise protokolünü kullanarak uçtan uca şifreli bir tünel kurar. Sağlayıcı, tüketicinin kimlik bilgisiyle ne yaptığını görmez; tüketici de kasanın geri kalanını göremez. Denetim izleri iki tarafta da tutulur.
Not: Agent Access şu anda erken önizleme aşamasındadır. Proje README’si API’lerin ve protokollerin değişebileceğini belirtir. Ayrıca hassas kimlik bilgilerinin doğrudan LLM’lere veya AI aracılarına girilmesi önerilmez.
Bu yüzden en güvenli pratik desen şudur: aac run ile sırrı yalnızca alt sürece ortam değişkeni olarak verin; modelin bağlam penceresine hiçbir zaman koymayın.
2026’da neden önemli?
AI kodlama aracıları artık yalnızca öneri üretmiyor. Claude Code, Codex, Cursor ve benzerleri:
- depoyu okuyor,
- testleri çalıştırıyor,
- API’lere istek atıyor,
- CI/CD süreçlerine dokunuyor,
- dağıtım betiklerini tetikliyor.
Bunların çoğu API anahtarı, token veya parola gerektiriyor. Postman’ın açığa çıkmış API anahtarları olayı, yalnızca insan hatasıyla bile kimlik bilgisi hijyeninin ne kadar zor ölçeklendiğini gösterdi. İnsan + AI aracı kombinasyonu daha fazla risk üretir.
Doğru yaklaşım “aracıya daha çok güvenmek” değil, “aracıya daha az sır vermek”tir.
Agent Access bu modeli protokol düzeyinde uygular:
- kimlik bilgisi kapsamlandırılır,
- aktarım sırasında şifrelenir,
- çalışma anında alınır,
- süreç bittiğinde ortamdan kaybolur.
API Anahtarı Yönetim Araçları daha geniş araç ekosistemini kapsar; Agent Access ise özellikle AI aracıları ve geliştirici iş akışları için tasarlanmış bir katman sunar.
Kurulum
Platformunuza göre aac ikilisini indirin.
macOS Apple Silicon
curl -L https://github.com/bitwarden/agent-access/releases/latest/download/aac-macos-aarch64.tar.gz | tar xz
sudo mv aac /usr/local/bin/
macOS Intel
curl -L https://github.com/bitwarden/agent-access/releases/latest/download/aac-macos-x86_64.tar.gz | tar xz
sudo mv aac /usr/local/bin/
Linux x86_64
curl -L https://github.com/bitwarden/agent-access/releases/latest/download/aac-linux-x86_64.tar.gz | tar xz
sudo mv aac /usr/local/bin/
Windows x86_64
En son yayın sayfasından aac-windows-x86_64.zip dosyasını indirin ve PATH içindeki bir dizine çıkarın.
Kurulumu doğrulayın:
aac --help
Bitwarden CLI (bw) PATH içinde varsa, aac varsayılan kimlik bilgisi sağlayıcısı olarak bunu kullanır. Deneme yapmak için demo sağlayıcıyı kullanabilirsiniz:
aac connect --provider example --domain test.com --output json
Hızlı başlangıç: kimlik bilgisi eşleştirme ve alma
İlk terminalde, kasaya erişimi olan makinede dinleyiciyi başlatın:
aac listen
Bu komut bir eşleştirme jetonu üretir.
İkinci terminalde veya uzak tüketici makinede bağlanıp belirli bir alan adı için kimlik bilgisi isteyin:
aac connect --token <eşleştirme-jetonu> --domain github.com --output json
Örnek çıktı:
{
"credential": {
"notes": null,
"password": "alligator5",
"totp": null,
"uri": "https://github.com",
"username": "example"
},
"domain": "github.com",
"success": true
}
Betiğiniz bu JSON’u ayrıştırabilir:
aac connect --token "$AAC_TOKEN" --domain github.com --output json | jq -r '.credential.password'
Alan adı yerine kasa öğesi kimliğiyle almak için:
aac connect --id <kasa-öğesi-kimliği> --output json
--id ve --domain birlikte kullanılmaz; yalnızca birini seçin. Kasa öğesinde TOTP yapılandırılmışsa aynı yanıt içinde döner.
En önemli desen: aac run ile ortam enjeksiyonu
aac connect, JSON çıktısını kendiniz işleyeceğiniz betikler için uygundur. AI aracılarıyla daha güvenli desen ise aac run kullanmaktır.
aac run:
- kimlik bilgisini alır,
- seçilen alanları ortam değişkenlerine dönüştürür,
- alt süreci bu ortamla çalıştırır,
- sırrı stdout’a veya diske yazmaz.
Belirli alanları enjekte edin:
aac run --domain example.com \
--env DB_PASSWORD=password \
--env DB_USER=username \
-- psql
Tüm alanları AAC_ önekiyle enjekte edin:
aac run --domain example.com --env-all -- ./deploy.sh
Varsayılan tüm alanlara ek olarak özel bir değişken adı verin:
aac run --domain example.com \
--env-all \
--env CUSTOM_PW=password \
-- ./deploy.sh
Kullanılabilir alanlar:
usernamepasswordtotpurinotesdomaincredential_id
AI aracılarıyla önerilen kullanım budur. Model sırrı görmez; yalnızca şu komutu çalıştıran betiği görür:
aac run --domain api.stripe.com --env-all -- ./deploy.sh
Eğer aracı daha sonra $STRIPE_API_KEY değerini okumaya çalışırsa, değer yalnızca alt süreç kapsamındadır. Bu izolasyon prensibi, Yapay Zeka Aracısı API Kimlik Bilgilerini Nasıl Güvenli Hale Getirilir yazısındaki modelin pratik karşılığıdır.
Python ve Rust SDK’ları
CLI yeterli değilse Agent Access’i uygulamanıza gömmek için SDK kullanabilirsiniz.
Python
from agent_access import RemoteClient
client = RemoteClient("python-remote")
client.connect(token="ABC-DEF-GHI")
cred = client.request_credential("example.com")
print(cred.username, cred.password)
client.close()
Python modülü PyO3 tabanlıdır; ağır iş Rust tarafında kalır ve altta aynı Noise protokolü kullanılır.
Rust
Rust SDK, aynı RemoteClient arayüzünü kütüphane olarak sunar. Referans örnekler depoda examples/rust-remote/ altında bulunur.
Rust SDK şu durumlarda daha uygundur:
- kendi tüketici sürecinizi Rust ile yazıyorsanız,
- CLI aracı geliştiriyorsanız,
- CI runner veya derlenmiş ikili dağıtmak istiyorsanız.
API araçları sunan ekipler için bu model, HashiCorp Vault veya Azure Key Vault entegrasyonlarının yanında konumlanır. Agent Access, kurumsal sır kasalarının yerine geçmez; geliştirici dizüstü bilgisayarı ve CI runner gibi daha dar iş akışlarını hedefler.
AI kodlama aracılarıyla entegrasyon
Claude Code
Dağıtım betiğinizi aac run ile sarın:
# deploy.sh
#!/usr/bin/env bash
aac run --domain prod.example.com --env-all -- ./run-deploy.sh
Çalıştırılabilir yapın:
chmod +x deploy.sh
Claude Code iş akışınızı doğrudan ./deploy.sh çağıracak şekilde ayarlayın. Model yalnızca betiği çalıştırır; kimlik bilgisi isteme veya görme ihtiyacı olmaz.
Claude Code GitHub Actions entegrasyonunda da aynı desen uygulanır:
- runner’a
aackurun, - runner’ı sağlayıcıyla eşleştirin,
- job içinde
aac runile kapsamlı kimlik bilgisi enjekte edin.
OpenAI Codex
Codex CLI için de aynı yaklaşımı kullanın. Modelin çağırdığı komut, gerçek sırrı değil yalnızca sarmalayıcı betiği görür:
# test-api.sh
#!/usr/bin/env bash
aac run --domain staging.example.com \
--env API_TOKEN=password \
-- npm run test:api
Codex bu betiği çağırır; token model bağlamına girmez. Codex’in daha geniş kullanım yüzeyi için telefonunuzdan Codex yazısına bakabilirsiniz.
Cursor
Cursor terminal komutları ve Composer iş akışlarında da aynı sarmalama çalışır:
aac run --domain dev.example.com --env-all -- npm run e2e
Cursor genellikle yerel geliştirme makinesinde çalıştığı için sağlayıcı dinleyicisi de aynı makinede olabilir.
OpenClaw
Agent Access, depoda SKILL.md içeren resmi bir OpenClaw becerisi sunar. OpenClaw tarzı beceriler kullanan ekiplerde en hazır entegrasyon budur: beceri protokol yapısını bilir, kimlik bilgilerini alır ve ilgili alt araca iletir.
Bu ekosistemdeki daha geniş kimlik bilgisi yönetimi için OpenClaw API anahtarları kılavuzu kullanılabilir.
Güvenlik modeli
Agent Access’in güvenlik modelini üç noktada düşünün.
1. Uçtan uca şifreleme
Tüketici ve sağlayıcı arasındaki trafik Noise protokol çerçevesi ile şifrelenir. Bu, WireGuard ve Signal’in kullandığı el sıkışma ailesidir.
2. Kapsamlandırılmış kimlik bilgisi
Tüketici yalnızca istediği alan adı veya kasa öğesi kimliği için kimlik bilgisi alır. Kasayı listeleyemez veya tüm sırları göremez.
3. Varsayılan olarak diske sır yazılmaz
aac run, sırrı ortam değişkeni olarak yalnızca alt sürece verir:
aac run --domain example.com --env API_KEY=password -- npm test
Bu modelde:
-
.envdosyası oluşmaz, - stdout’a sır yazılmaz,
- shell geçmişine değer düşmez,
- süreç bittiğinde ortam da kaybolur.
Agent Access’in korumadığı durumlar
Agent Access her şeyi çözmez.
Dikkat edilmesi gerekenler:
- Güvenliği ihlal edilmiş tüketici süreç: Aracı veya alt süreç kötü niyetliyse kapsamlı kimlik bilgisi yine de sızabilir.
- Güvenliği ihlal edilmiş sağlayıcı: Bitwarden kasanız ele geçirilmişse bu katman yardımcı olmaz.
- LLM bağlamına yapıştırılan sırlar: Bir API anahtarını sohbet penceresine kopyalarsanız protokol sizi koruyamaz.
Kural basit: sırları modele değil, yalnızca ihtiyaç duyan alt sürece verin.
Pratik CI deseni: aracı kod yazar, Apidog test eder
Çoğu ekip için uygulanabilir döngü şöyle görünür:
- AI aracı kod değişikliği yapar. Claude Code, Codex veya Cursor API’ye dokunan bir PR üretir.
-
CI testleri çalıştırır. Runner, API anahtarını
aac runile alır ve staging ortamına karşı testleri çalıştırır. - Apidog sözleşmeyi doğrular. Apidog, OpenAPI sözleşme testlerini ayrı bir CI adımı olarak çalıştırır.
Örnek CI adımı:
aac run --domain staging.example.com \
--env API_TOKEN=password \
-- npm run test:contract
Sonuç:
- aracı kodu üretir,
- Apidog sözleşmeyi doğrular,
- API anahtarı modele veya düz metin dosyaya girmez.
AI aracıları API çağırırken test stratejisi için API’lerinizi Çağıran Yapay Zeka Aracılarını Test Etme yazısına bakabilirsiniz.
Sınırlamalar ve uyarılar
- Erken önizleme: API’ler ve protokoller değişebilir. Üretim iş akışını v0 protokolüne bağlamadan önce değişiklik maliyetini hesaba katın.
-
Varsayılan sağlayıcı Bitwarden CLI:
bwgerekir. Önce Bitwarden CLI kurun veya testte--provider examplekullanın. - Yapılandırma dosyası yok: Tekrarlanan çağrılar için küçük sarmalayıcı betikler yazmanız gerekir.
- LLM istemlerine sır yapıştırmayın: Agent Access kurulu olsa bile bu hata sizi savunmasız bırakır.
Sıkça sorulan sorular
Agent Access ücretsiz mi?
Evet. CLI, SDK’lar ve protokol Bitwarden GitHub organizasyonu altında açık kaynaktır. Bitwarden’ı kasa olarak kullanıyorsanız Bitwarden planınız ayrı bir konudur.
Bitwarden dışındaki parola yöneticileriyle çalışır mı?
Protokol satıcıdan bağımsız tasarlanmıştır. Referans uygulama Bitwarden desteği ve örnek sağlayıcıyla gelir. Diğer sağlayıcıların zamanla kendi entegrasyonlarını sunması beklenir.
Parola yöneticisi olmadan kullanabilir miyim?
Test için evet:
aac connect --provider example --domain test.com --output json
Üretim için gerçek bir sağlayıcı gerekir.
Tüketici sürecin ağ erişimine ihtiyacı var mı?
Evet. Tüketici, sağlayıcının dinleyicisine ulaşabilmelidir. Dinleyici ve tüketici aynı makinedeyse yerel bağlantı yeterlidir.
.env dosyasından farkı ne?
.env dosyası diskte kalır, yanlışlıkla repoya eklenebilir ve aracının çalıştırdığı komutlar tarafından okunabilir.
aac run ise sırrı yalnızca alt sürecin ortamına verir:
aac run --domain example.com --env API_KEY=password -- node script.js
Alt süreç bittiğinde sır da kapsam dışına çıkar.
HashiCorp Vault veya AWS Secrets Manager’ın yerini alır mı?
Hayır. Kurumsal sır kasaları, ölçekli servisler arası sır yönetimi için hâlâ doğru araçlardır. Agent Access daha çok geliştirici makinesi, AI aracı iş akışı ve CI runner boşluğunu hedefler.
Anthropic, OpenAI veya diğer aracı satıcıları bunu doğrudan entegre edecek mi?
Duyurulmuş bir entegrasyon yok. Şu anki pratik model, betikleri aac run ile sarmaktır.
Hata bildirmek veya katkı yapmak için nereye gitmeliyim?
GitHub deposu üzerinden issue açabilir, PR gönderebilir veya protokol tartışmalarına katılabilirsiniz.
Hemen deneyin
En küçük uçtan uca testi şu şekilde çalıştırın.
İlk terminal:
aac listen
İkinci terminal:
aac connect --provider example --domain test.com --output json
JSON yanıtını gördükten sonra bir sonraki adım:
- demo sağlayıcıyı
bwile değiştirin, - gerçek bir betiği
aac runiçine alın, - API anahtarlarını AI aracı sohbetlerine yapıştırmayı bırakın.
API test tarafında Agent Access’i Apidog ile eşleştirebilirsiniz: kasa sırrı tutar, Apidog sözleşmeyi test eder, aracı kodu gönderir ve kimlik bilgileri düz metin olarak iş akışınızdan geçmez.

Top comments (0)