AX Code’u edinin · ÜcretsizBelgeler

Bu sayfa İngilizce belgenin çevirisidir. Komutlar, tanımlayıcılar ve örnekler aynıdır. Çalışma zamanı 7.24.4 · SDK 2.6.7. İngilizce kaynak

Güvenlik İlkesi

Desteklenen sürümler

Yalnızca en son alt sürüm çizgisi güvenlik yamaları alır. Daha eski bir çizgiye karşı güvenlik açığı bildirmeden önce güncel alt sürüme yükseltin.

Sürüm Desteklenir
7.24.x Evet
< 7.24 Hayır

Güvenlik açığı bildirme

Güvenliği ciddiye alırız. Bir güvenlik açığı bulursanız lütfen sorumlu biçimde bildirin:

  1. Özel iletişim: Gizli bir güvenlik bildirimi yolu istemek için AutomatosX iletişim kanalını kullanın. Herkese açık topluluk iletilerine istismar ayrıntısı veya kimlik bilgisi koymayın.
  2. Discord: Discord üzerinde bildirin: https://discord.gg/gf9UyPxaN2

Raporunuzu 6 iş günü içinde onaylarız ve düzeltmeye giden ilerleme hakkında sizi bilgilendiririz.

Not: Yapay zekâ ile üretilmiş güvenlik raporlarını kabul etmiyoruz. Böyle bir rapor göndermek projeden yasaklanmayla sonuçlanır. Lütfen raporunuzun belirli yeniden üretim adımlarını içermesini ve gerçek bir etki göstermesini sağlayın.


Tehdit modeli

Genel bakış

ax-code, makinenizde yerel olarak çalışan, yapay zekâ destekli bir kodlama yardımcısıdır. Kabuk yürütme, dosya işlemleri ve web erişimi dahil güçlü araçlara erişen bir ajan sistemi sağlar.

Çalışma zamanı yalıtım varsayılanı full-access değeridir (sandbox kapalı); dosya sistemi yazmaları ve ağ erişimi sınırsızdır. Bu, güvenilen yerel projeler için bir kolaylık duruşudur, bir güvenlik sınırı değildir. Güvenilmeyen depolar veya gözetimsiz iş yükleriyle AX Code kullanmadan önce workspace-write veya read-only seçin.

Yürütme yalıtım sanal alanı

ax-code, yapay zekâ ajanının neye erişebileceğini kısıtlayan yerleşik bir yürütme yalıtım sanal alanı içerir. Üç mod vardır:

Mod Davranış
Tam erişim (varsayılan) Yalıtımı tamamen kapatır ve ağ erişimini açar
Çalışma alanı yazması Yalnızca çalışma alanı içinde yazmaya izin verir; .git ve .ax-code her zaman korunur; ağ varsayılan olarak kapalıdır
Salt okunur Tüm dosya değişikliklerini ve kabuk komutlarını engeller

Temel özellikler:

  • Varsayılan davranış — AX Code full-access ile başlar; farklı bir modu --sandbox, AX_CODE_ISOLATION_MODE veya yapılandırma ayarlar
  • Önerilen kısıtlı mod — güvenilmeyen veya ekip depoları için workspace-write kullanın; yazmaları çalışma alanına kapatır ve ağı varsayılan olarak kapatır
  • Araç düzeyinde uygulama — tüm değişiklik araçları (bash, edit, write, apply_patch) ve ağ araçları (webfetch, websearch, codesearch) yürütmeden önce yalıtım ilkesini denetler
  • Korunan yollar — .git ve .ax-code dizinleri, çalışma alanı yazma modunda bile yazmaya karşı her zaman korunur
  • Yükseltme istemleri — kısıtlı modlarda yalıtım ihlalleri sessizce başarısız olmak yerine bir onay iletişim kutusu gösterir; kullanıcılar yapılandırmalarını değiştirmeden engellenen bir işleme bir kez izin verebilir
  • CLI denetimi — --sandbox read-only, --sandbox workspace-write, --sandbox full-access
  • Ortam değişkeni — AX_CODE_ISOLATION_MODE

Yalıtım arka uçları

Arka uç Davranış
app (varsayılan) Her araçta taşınabilir uygulama katmanı denetimleri
os Uygulama denetimleri artı bash için çekirdek sanal alanı (sandbox-exec üzerinden macOS Seatbelt, bwrap kuruluysa Linux bubblewrap). İşletim sistemi araçları yoksa hata durumunda kapanır
auto Varsa işletim sistemi bash sarmasını tercih eder; yoksa yalnızca uygulama katmanına düşer
{
  "isolation": {
    "mode": "workspace-write",
    "network": false,
    "backend": "auto"
  }
}

Ya da AX_CODE_ISOLATION_BACKEND=os|auto|app ayarlayın.

Bash için işletim sistemi yalıtımı, çalışma alanı köklerinin dışına yazmayı reddeder ve network: false olduğunda ağı reddeder. Uygulama katmanı denetimleri her zaman çalışmaya devam eder. Seatbelt veya bubblewrap olmayan platformlarda backend: "app" ya da bir kapsayıcı veya sanal makine kullanın.

Sunucu güvenliği

  • Varsayılan olarak yalnızca localhost — sunucu 127.0.0.1 adresine bağlanır ve ağdan erişilemez
  • Ağ erişimi için parola gerekir — 0.0.0.0 veya localhost olmayan herhangi bir adrese bağlanmak AX_CODE_SERVER_PASSWORD ayarını gerektirir; sunucu bu olmadan başlamayı reddeder
  • Temel kimlik doğrulama zorunlu — AX_CODE_SERVER_PASSWORD ayarlandığında tüm API uç noktalarında HTTP Basic Auth gerekir
  • CORS yapılandırılabilir — ek izinli kökenler --cors ile belirtilebilir

Kimlik bilgisi saklama

Sağlayıcı API anahtarları, PBKDF2 anahtar türetmeli AES-256-GCM ile durağan halde şifrelenir ve yerel AX Code veri dizininde (~/.local/share/ax-code/), yalnızca kullanıcıya ait dosya izinleriyle (0600) saklanır.

Şifreleme anahtarı yerel makine özniteliklerinden (ana makine adı, platform, mimari) türetilir. Bu, rastgele çevrimdışı ifşaya karşı korur (örneğin yanlışlıkla dosya paylaşımı) ama ana makineye erişimi olan kararlı bir saldırgana karşı korumaz. İşletim sistemi anahtarlığına veya donanım destekli gizli saklamaya eşdeğer değildir.

MCP OAuth belirteçleri, istemci gizleri ve hesap erişim ile yenileme belirteçleri de aynı düzenekle durağan halde şifrelenir. Hassas olmayan üst veri (sunucu URL adresleri, sona erme zaman damgaları, e-posta, hesap kimlikleri) düz metin olarak kalır.

Sürüm yapıtı doğrulama

Hem Bash yükleyicisi (install) hem de Windows PowerShell yükleyicisi (install.ps1), indirilen GitHub sürüm arşivlerini çıkarmadan önce minisign ile doğrular. Sürüm arşivleri ve PowerShell yükleyici betiğinin kendisi ayrık imzalar taşır. Sabitlenmiş AX Code sürüm ortak anahtarı şudur:

RWSlDu++afxCz01OqhYWhfo8+L8pVbSYXJBEb2zoWBuK0WACIzbGVZRO

Her yükleyici, seçilen arşiv için eşleşen .minisig varlığını indirir ve doğrulama başarısız olursa hata durumunda kapanır. minisign PATH üzerinde değilse yükleyiciler, sabitlenmiş resmi minisign 0.12 arşivlerini https://download.ax-code.com/vendor/minisign/0.12/ adresinden indirir, arşiv SHA-256 değerini denetler ve çıkarılan yürütülebilir dosyayı önbelleğe almadan önce yeniden denetler. PATH üzerinde zaten bulunan bir minisign ikilisi operatörün aracıdır ve yeniden özetlenmez. Doğrulanamayan bir sürüm indirmesini kasıtlı olarak kabul ettiğinizde yalnızca AX_CODE_SKIP_MINISIGN_VERIFY=1 ayarlayın.

Kolaylık sağlayan tek satır irm …/install.ps1 | iex, yürütmeden önce yükleyici betiğini doğrulamaz. Güvenlik açısından hassas kurulumlarda install.ps1 ve install.ps1.minisig indirin, betiği minisign ile doğrulayın, sonra yerel olarak çalıştırın (bkz. Kurulum ve Çalışma Zamanı Kanalları).

Bakımcılar minisign gizli anahtarını şifreli tutmalıdır. macOS üzerinde yerel sürüm imzalama için parolayı düz metin dosyası yerine Keychain içinde saklayın:

security add-generic-password -U -a ax-release -s ax-minisign -w

Sürüm araçları, AX_CODE_MINISIGN_PASSWORD ayarlı değilken bu Keychain öğesini otomatik olarak okur.

Etiket güdümlü GitHub sürüm iş akışı, yüklemeden önce arşivleri imzalar. Şu depo gizlerini gerektirir:

AX_CODE_MINISIGN_SECRET_KEY_B64
AX_CODE_MINISIGN_PASSWORD

AX_CODE_MINISIGN_SECRET_KEY_B64, şifreli ax.minisign.key minisign gizli anahtarının base64 ile kodlanmış içeriği olmalıdır (yerel yol ax.sec hedefine bir sembolik bağ olabilir). İş akışı bunu geçici bir 0600 anahtar dosyasına yazar, sabitlenmiş ortak anahtarı doğrular, her sürüm arşivini imzalar ve eşleşen .minisig varlıklarını arşivlerle birlikte yükler.

macOS CLI arşivleri için iş akışı, şu depo gizlerini kullanarak Apple Developer ID sertifikasını gerektirir ve içe aktarır:

APPLE_CERTIFICATE
APPLE_CERTIFICATE_PASSWORD
APPLE_TEAM_ID
APPLE_API_KEY_B64
APPLE_API_KEY_ID
APPLE_API_ISSUER

Bu yolda paketli yerel kitaplıklar, içe aktarılan Developer ID Application kimliğiyle imzalanır, macOS ZIP dosyası Apple noter hizmetine gönderilir ve değişmeyen ZIP dosyası ardından ayrık minisign imzasıyla korunur. ZIP arşivlerine zımba vurulamaz, bu yüzden noter onayı yapıt yüklemesinden önce ve .minisig üretiminden önce gerçekleşmelidir. Herhangi bir Apple imzalama veya noter onay kimlik bilgisi eksikse sürüm derlemeleri hata durumunda kapanır.

Sürüm imzalama anahtarı geçmişi

Yürürlük tarihi Anahtar kimliği Ortak anahtar Durum
2026-07-19 CF42FC69BEEF0EA5 RWSlDu++afxCz01OqhYWhfo8+L8pVbSYXJBEb2zoWBuK0WACIzbGVZRO Güncel
2026-07-19 2D5140E0904E48B3 RWSzSE6Q4EBRLeUmabk1YM6bzP/wn54tXE09il3d2srulrCfaB4Uyt1n Rotasyondan çıktı
2026-06-16 5B7AB63CD6D674BE RWS+dNbWPLZ6W9TH486c9zdH84NiiuFnm4VpVTRlXoMHClyQx/fY7W2A Rotasyondan çıktı
pre-2026-06-16 8138FAD32CAD95BA RWS6la0s0/o4gdFUZ0Bk/BkrnN8qC2CFOfLXVP5OtQTrvm1BQeOvXgao Rotasyondan çıktı

Sürüm imzalama anahtarı en son 2026-07-19 tarihinde rotasyona uğradı. Yükleyici ve sürüm iş akışı yalnızca güncel anahtarı sabitler, bu yüzden emekliye ayrılmış bir anahtarla imzalanmış arşivler imza doğrulamasında başarısız olur. Bir rotasyondan sonra bakımcılar, emekli anahtarlara güvenmeden her yayımlanmış sürümün sabitlenmiş anahtara karşı doğrulanması için tarihsel sürüm arşivlerini script/resign-release-assets.ts ile yeniden imzalamalıdır.

Mevcut bir sürümün .minisig varlıklarını güncel anahtarla yeniden imzalayıp yeniden yüklemek için:

tsx script/resign-release-assets.ts --tag v5.5.0 --key-dir ~/signkey

Kapsam

Kapsam içi

Kategori Örnekler
Sanal alan atlatma İzinli sınırların dışında komut yürütmek veya dosya yazmak
Kimlik doğrulama atlatma Sunucu modunda AX_CODE_SERVER_PASSWORD değerini dolanmak
Anahtar sızdırma Yerel makine erişimi olmadan saklanan API anahtarlarını çıkarmak
Yol geçişi Araçların amaçlanan çalışma dizininin dışında okuması veya yazması
Komut enjeksiyonu Yalıtımı atlatarak keyfi komut çalıştıran hazırlanmış girdi
Bağımlılık güvenlik açıkları Uygulanabilir bir saldırı yolu olan, paketlenmiş bağımlılıklardaki bilinen CVE kayıtları

Kapsam dışı

Kategori Gerekçe
LLM sağlayıcı veri işleme Yapılandırdığınız sağlayıcıya gönderilen veri onların ilkelerine tabidir
MCP sunucu davranışı Yapılandırdığınız dış MCP sunucuları güven sınırımızın dışındadır
Kötü amaçlı yapılandırma dosyaları Kullanıcılar kendi yapılandırmalarını denetler; değiştirmek yerel erişim gerektirir
Sosyal mühendislik Güvenilmeyen depolar üzerinden istem enjeksiyonu, bilinen bir LLM ajan sınırlamasıdır
İşletim sistemi düzeyi sanal alan kaçışları Yalıtım sanal alanı uygulama katmanında çalışır, işletim sistemi süreç katmanında değil

Kurumsal güvenlik yetenekleri

AX Code, şu sertleştirme özellikleriyle kurumsal kullanım için tasarlanmıştır:

  • İnce taneli izinler: Ajana özgü ve örüntü tabanlı kural kümeleri (allow/deny/ask). Güvenlik ajanı varsayılan olarak salt okunurdur. Kurallar proje, ajan ve onaylı listeler boyunca değerlendirilir.
  • Oturum denetim izleri: Her araç çağrısı, izin kararı ve dosya değişikliği anlık görüntülerle SQLite içine kaydedilir. Uyumluluk incelemeleri için yeniden oynatma, çatallama ve dışa aktarmayı destekler.
  • Belirleyici yeniden düzenleme (DRE): impact_analyze, refactor_plan ve refactor_apply (gölge worktree artı lint, typecheck ve testler) denetlenebilir, geri alınabilir değişiklikler sağlar.
  • Kimlik bilgisi yönetimi: Tüm anahtarlar ve belirteçler için AES-256-GCM şifreleme. InstanceState ile dizin başına yalıtım.
  • İsteğe bağlı sanal alan uygulaması: Bash komut ayrıştırmalı (tree-sitter) uygulama düzeyi yalıtım. Sanal alan sınırlarını uygulamak için workspace-write veya read-only seçin; korunan yollar (.git, .ax-code) sanal alanlı modlarda geçerlidir.
  • Sunucu sertleştirme: Varsayılan olarak yalnızca localhost; Basic Auth ile parola korumalı uzaktan erişim.
  • Kod zekâsı ve tarama: Yerleşik gizli ve sabit kodlanmış değer saptama, bağımlılık etki analizi.

CodeQL destekli kodlama geri bildirimi

Depo, çekme istekleri, dev dalına itmeler, zamanlanmış taramalar ve elle tetiklemeler için arka plan güvenlik analizi katmanı olarak CodeQL çalıştırır. CodeQL, canlı LSP veya kod zekâsı yolunun parçası değildir; kaynak değişiklikleri kararlılaştıktan sonra ele alınması daha iyi olan veri akışı, leke ve güvenlik kalitesi bulguları için daha yavaş, daha derin bir kanıt kaynağıdır.

Güncel iş akışı şunları çözümler:

  • JavaScript ve TypeScript çalışma zamanı, TUI, SDK, bütünleştirme ve betik kodu.
  • GitHub Actions iş akışları ve yerel bileşik eylemler.
  • Yerel eklenti ve TUI kodunun tutarlı biçimde çıkarılması için elle Cargo derlemesiyle crates/ altındaki Rust kasaları.

Amaçlanan geliştirici deneyimi şudur:

  1. Çekme isteği yazarları, mevcut tür denetimi, belirleyici testler, OSV bağımlılık taraması ve depo yapısı korumalarının yanında GitHub kod taramasında CodeQL uyarıları alır.
  2. Bakımcılar, CodeQL sonucunu sert bir birleştirme kapısı olarak ele almadan önce ilk sonuçları önceliklendirir; böylece yeni bulgular gürültülü değil yararlı olur.
  3. Gelecekteki AX Code inceleme ve hata ayıklama akışları, CodeQL SARIF veya GitHub kod tarama uyarılarını source: "codeql", kural kimliği, önem, dosya, satır, veri akışı izi ve çözümlenen commit SHA gibi kaynak alanlarıyla açık güvenlik kanıtı olarak alabilir.
  4. CodeQL kanıtı, yerel security_scan, hardcode_scan, LSP tanıları ve çizge destekli etki analizinin yanında gösterilmelidir; bunların gizli bir yerine geçmesi olarak değil.

Özel CodeQL sorguları eklerken geniş lint tarzı denetimler yerine depoya özgü güvenlik sınırlarını tercih edin. Yüksek değerli hedefler arasında sanal alan kaçış yolları, temizlenmemiş bağımsız değişkenlerle komut yürütme, çalışma alanı kapsaması çevresinde yol geçişi, alt süreçlere gizli ve ortam yayılması ve eksik sunucu yolu doğrulaması vardır.

Tam kurumsal yönetişim (RBAC, kod olarak ilke, SIEM dışa aktarma, kriptografik denetim) için AX Trust ile bütünleştirin (yol haritası öğesi).

Yalıtım yapılandırması ve çalışma zamanı davranışı için docs/guides/sandbox.md sayfasına bakın.