DEV Community

Cover image for Bitwarden Yapay Zeka Kodlama Aracısı Güvenli Kasa Erişim Paylaşımı
Tobias Hoffmann
Tobias Hoffmann

Posted on • Originally published at apidog.com

Bitwarden Yapay Zeka Kodlama Aracısı Güvenli Kasa Erişim Paylaşımı

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.

Apidog'u bugün deneyin

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:

  1. Bir sağlayıcı bağlantı isteklerini dinler.
  2. Bir tüketici — aracı, betik veya CI job — sağlayıcıya bağlanır.
  3. Tüketici, alan adı veya kasa öğesi kimliğiyle kimlik bilgisi ister.
  4. Sağlayıcı ne döneceğine karar verir.
  5. 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.

Agent Access mimarisi

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/
Enter fullscreen mode Exit fullscreen mode

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/
Enter fullscreen mode Exit fullscreen mode

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/
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Hızlı başlangıç: kimlik bilgisi eşleştirme ve alma

İlk terminalde, kasaya erişimi olan makinede dinleyiciyi başlatın:

aac listen
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Örnek çıktı:

{
  "credential": {
    "notes": null,
    "password": "alligator5",
    "totp": null,
    "uri": "https://github.com",
    "username": "example"
  },
  "domain": "github.com",
  "success": true
}
Enter fullscreen mode Exit fullscreen mode

Betiğiniz bu JSON’u ayrıştırabilir:

aac connect --token "$AAC_TOKEN" --domain github.com --output json | jq -r '.credential.password'
Enter fullscreen mode Exit fullscreen mode

Alan adı yerine kasa öğesi kimliğiyle almak için:

aac connect --id <kasa-öğesi-kimliği> --output json
Enter fullscreen mode Exit fullscreen mode

--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:

  1. kimlik bilgisini alır,
  2. seçilen alanları ortam değişkenlerine dönüştürür,
  3. alt süreci bu ortamla çalıştırır,
  4. 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
Enter fullscreen mode Exit fullscreen mode

Tüm alanları AAC_ önekiyle enjekte edin:

aac run --domain example.com --env-all -- ./deploy.sh
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Kullanılabilir alanlar:

  • username
  • password
  • totp
  • uri
  • notes
  • domain
  • credential_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
Enter fullscreen mode Exit fullscreen mode

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()
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Çalıştırılabilir yapın:

chmod +x deploy.sh
Enter fullscreen mode Exit fullscreen mode

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:

  1. runner’a aac kurun,
  2. runner’ı sağlayıcıyla eşleştirin,
  3. job içinde aac run ile 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Bu modelde:

  • .env dosyası 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:

  1. AI aracı kod değişikliği yapar. Claude Code, Codex veya Cursor API’ye dokunan bir PR üretir.
  2. CI testleri çalıştırır. Runner, API anahtarını aac run ile alır ve staging ortamına karşı testleri çalıştırır.
  3. 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
Enter fullscreen mode Exit fullscreen mode

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: bw gerekir. Önce Bitwarden CLI kurun veya testte --provider example kullanı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
Enter fullscreen mode Exit fullscreen mode

Ü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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

İkinci terminal:

aac connect --provider example --domain test.com --output json
Enter fullscreen mode Exit fullscreen mode

JSON yanıtını gördükten sonra bir sonraki adım:

  1. demo sağlayıcıyı bw ile değiştirin,
  2. gerçek bir betiği aac run içine alın,
  3. 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)