« Tüm yayınlar

Boşluk İzin Değildir: Bir AI Ajanında Beş Fail-Open Güvenlik Açığı

Bir AI ajanının politika motorunda bulunan beş fail-open hata, eksik verinin nasıl yanlışlıkla izin sayıldığını ve düzeltmenin nasıl yapıldığını gösteriyor.

MCP tabanlı bir Slack ajanı olan claude-code-slack-channel'ın imzalı denetim günlüğü ve politika motoru, güvenlik iddialarının temelini oluşturuyordu. Ancak bağımsız incelemeler, motorun beş ayrı yerde aynı hatayı tekrarladığını ortaya çıkardı: karar için gereken veri eksik olduğunda sistem güvenli değil, izin veren tarafa yöneliyordu. Yapılandırılmış argümanlar olmadan çağrılan bir deny kuralı sessizce atlanıyor, boş bir denetim günlüğü 'temiz' olarak doğrulanıyor, prototip zincirinden sızan bir anahtar truthiness kontrolünü geçiyor ve baştan kesilip yeniden numaralandırılmış bir olay zinciri kendi içinde tutarlı göründüğü için geçerli sayılıyordu.

Düzeltmelerin ortak mantığı basit: eksik veri 'her şey yolunda' anlamına gelmez, alarm anlamına gelir. Politika motoru artık bir deny kuralının uygulanıp uygulanmayacağını bilemediğinde otomatik onaya değil insan onayına yönleniyor; doğrulayıcı beklenen olay sayısının altında kalan günlükleri reddediyor; kanal politikası okumaları tek bir 'sahip mülk' kontrol noktasından geçiyor; ve imzalı zincirler için sabit bir genesis-hash çapası ekleniyor.

İlginç bir ayrıntı, sertleştirme girişiminin kendisinin nasıl yeni bir fail-open hatası yaratabileceğiydi: eksik bir alanı güvenle undefined döndüren opsiyonel zincirleme yerine throw eden bir kontrol eklemek, hangi handler'ın hatayı yakaladığına bağlı belirsiz bir davranışa yol açıyordu — bu da tam olarak bir güvenlik kapısının kaçınması gereken şeydi. Ders, mühendisler için nettir: güvenlik kontrollerinde varsayılan davranış her zaman kapalı (deny) olmalı, veri eksikliği asla sessizce izin olarak yorumlanmamalıdır.