Skip to main content
CID222 Docs

Güvenlik filtrelerini yapılandırın

Ağ geçidinin istemlerde ve model yanıtlarında neyi tespit edeceğini ve bulduğunu maskeleyip işaretleyeceğini mi yoksa reddedeceğini mi tanımlayın.

  • Sürüm: 0.4
  • Rol: admin_user
  • Tür: görev

Güvenlik Filtreleri, CID222'nin bir istemde ya da model yanıtında neyi arayacağına ve bulduğunda ne yapacağına karar verdiğiniz yerdir. Bir kural eşleşmeyi maskeleyebilir, işaretleyip geçirebilir ya da mesajın tamamını reddedebilir. Yanıt tarafındaki kurallar aynı sayfanın ikinci sekmesindedir.

Neye ihtiyacım var?

Lisans
Any
Rol
admin_user

Ön koşullar

  • admin_user ya da superadmin olarak oturum açmış olmalısınız. Bir viewer sayfayı okuyabilir ve her değişikliği reddedilir.
  • Bir kuralın tek bir birim için farklı davranmasını istiyorsanız en az bir kiracı grubu bulunmalıdır.
  • Tespit servislerinin hâlihazırda hangi varlık türlerini ürettiğini bilmelisiniz — üretilmiş varlık türü referansına bakın.

Üç nesne üst üste gelir. Filtre grubu filtreleri tutar ve hepsini tek seferde kapatabilir. Filtre, eylemi, önceliği ve tepki verdiği model varlık türlerini taşır. Desen, bir filtrenin altındaki tek bir düzenli ifadedir. Deseni ve varlık türü olmayan bir filtre, Aktif anahtarı ne derse desin hiçbir şey tespit etmez.

Warning

Filtre Türü (Regex, Anahtar Kelime, PII Tespiti, İçerik Politikası) yalnızca liste için bir etikettir — giriş hattı bunu hiç okumaz ve Anahtar Kelime için bir uygulama yoktur. Bir filtrenin neyle eşleşeceğine desenleri ve ML Varlık Türleri karar verir.

Bir giriş filtresi oluşturun

Sayfayı açın

Tespit ve Filtreleme → Güvenlik Filtreleri öğesini seçin.

Sayfa Girdi Filtreleri sekmesinde açılır ve Editing: alanı Base policy — everyone (temel politika — herkes) olarak ayarlıdır.

Yeni filtreyi başlatın

Girdi Filtresi Ekle öğesini seçin.

Girdi Filtresi Ekle penceresi açılır. Düğme yalnızca temel politikada görünür; bir grup kapsamı var olan kuralları değiştirebilir ama yeni kural oluşturamaz.

Adlandırın ve bir gruba yerleştirin

En fazla 100 karakterlik bir Filtre Adı girin ve bir Filtre Grubu seçin.

Grup zorunludur. Grubun kendi Aktif anahtarını daha sonra kapatmak, içindeki her filtreyi devre dışı bırakır.

Modeli kullanıyorsa varlık türlerine bağlayın

ML Varlık Türleri alanına virgülle ayrılmış etiketler girin — örneğin EMAIL, PERSON_NAME.

Yalnızca desene dayalı bir filtre için alanı boş bırakın. Pencere sonucu belirtir: kiracı bazındaki eylem geçersiz kılmaları yalnızca varlık türü olan filtrelere ulaşır.

Eylemi seçin

Eylem Türü alanını Maskele, İşaretle ya da Reddet yapın.

Maskele eşleşmeyi bir yer tutucuyla değiştirir, İşaretle kaydedip mesajı geçirir, Reddet mesajı engeller.

Önceliği belirleyin

0 ile 999 arasında bir Öncelik girin. Varsayılan 0'dır.

Öncelik yalnızca eşit eylem gücündeki kurallar arasında bir eşitlik bozucudur. İki kural aynı metinle eşleştiğinde önce daha katı eylem kazanır: REJECT > MASK > FLAG > ALLOW.

Kaydedin

Filtre Oluştur öğesini seçin.

Filter created bildirimi görünür ve satır eklenir. Tespit önbellekleri yaklaşık bir saniye içinde yeniden yüklenir; kural yeniden başlatma gerekmeden devreye girer.

Desen ekleyin ve test edin

Yeni bir filtre, bir deseni ya da varlık bağlantısı olana kadar hiçbir şeyle eşleşmez. Düzenle penceresinde desenler bulunmaz — desenler satır menüsünün ardındadır.

Desen ekranını açın

Filtrenin satırında Menüyü aç → Desenler öğesini seçin.

Patterns — {filter} penceresi iki sekmeyle açılır: Kendim yazayım ve Tarif edeyim.

Deseni yazın

Kendim yazayım sekmesinde Desen ekle öğesini seçin, ardından Desen adı, Desen ve Değiştirme metni alanlarını doldurun.

Yalın bir desen büyük/küçük harfe duyarlıdır. Duyarsız eşleşme için deseni (?i) ile başlatın ve maskelemek istediğiniz kısmı parantez içine alın — TC: (\d{11}) etiketi korur ve yalnızca numarayı maskeler.

Kendi metninizde deneyin

Kendi metninizde deneyin alanına bir örnek yapıştırın.

Ağ geçidi deseni çalıştırır ve {n} matches ya da No match — this text would pass through untouched sonucunu bildirir; maskeleyeceği aralıkları vurgular. Örnek metin ağ geçidine gönderilir ve saklanmaz.

Deseni kaydedin

Değişiklikleri kaydet öğesini seçin.

Bildirim şöyledir: Pattern added — it is live within a few seconds. Desen doğrulanamıyorsa kaydetme engellenir; desen güvensizse doğrudan reddedilir (aşağıya bakın).

Tip

Türkçe harfler beklendiği gibi büyük/küçük dönüşümü yapmaz: büyük/küçük harfe duyarsız eşleşme yalnızca ASCII üzerinde çalışır, dolayısıyla matlı holding hiçbir zaman MATLI HOLDING ile eşleşmez. Belirsiz her harfi bir sınıf olarak yazın — ı → [Iıİi], ş → [şŞsS], ğ → [ğĞgG], ç → [çÇcC], ö → [öÖoO], ü → [üÜuU] — ya da Tarif edeyim sekmesini kullanıp taslağın yazımları kapsamasını sağlayın.

Bu yalnızca büyük/küçük harf meselesidir. Türkçe harflerin kendisi, kullanıcının yazdığı biçimde tespit motorlarına ulaşır: ağ geçidinin atlatma koruması, yabancı benzeri karakterleri (Kiril, Yunan, tam genişlik) katlar ama ı İ ş Ş ğ Ğ ç Ç ö Ö ü Ü harflerini hiçbir zaman değiştirmez; böylece Türkçe adlar, yerler ve adresler üzerindeki PII tespiti gerçek Türkçe görür.

Regex güvenliği

Her desen her isteğe karşı çalıştığı için ağ geçidi şu desenleri reddeder:

  • derlenemeyen ya da 1000 karakteri aşan desenler;
  • felaket geri izleme biçimindeki desenler — gövdesi niceleyicili bir niceleyici grup ((a+)+), yinelenen dalları olan tekrarlı seçenekler ((a|a)*) ya da zincirlenmiş açık joker karakterler (.*.*);
  • düşmanca deneme girdisinde 50 ms bütçesini aşan desenler.

Kapsam genişliğine ilişkin kaygılar — her şeyle eşleşen bir desen, sabitlenmemiş kısa bir desen, saçma bir tekrar sayısı — alanın yanında uyarı olarak görünür ve kaydetmeyi engellemez.

Bir tarifle kural taslağı çıkarın

Tarif edeyim, düz dili ve örnekleri aday desenlere dönüştürür, bunları derler ve hiçbir şey yazılmadan önce örneklerinizde çalıştırır.

Neyin yakalanacağını tarif edin

Tarif edeyim sekmesinde Describe what should be caught alanını, ardından her satıra bir örnek gelecek biçimde Should be caught ve Should be left alone alanlarını doldurun.

Uyarı metni, tarifin ve örneklerin yapılandırılmış AI sağlayıcısına gönderildiğini belirtir.

Üretin ve gözden geçirin

Filtre üret öğesini seçin.

Taslağı çıkarılan her desen güvenlik değerlendirmesiyle listelenir ve her örnek Caught as expected, Should have been caught, but was not ya da Should have been left alone, but was caught olarak işaretlenir.

Desenleri saklayın

Add {n} patterns öğesini seçin.

Bu adımdan önce hiçbir şey kalıcı olarak yazılmaz — taslak uç noktası hiçbir şey yazmaz.

Özel engelleme mesajı

Varsayılan olarak reddedilen bir istem kullanıcıya yalnızca eşleşen varlık türlerini söyler — "Message contains prohibited content: CONFIDENTIAL_LEAKED_DATA". Bu, dâhili bir etikettir. Bunun yerine filtre, sizin yazdığınız bir cümleyi taşıyabilir; "engelle ve kullanıcıyı uyar" politikasının ihtiyacı budur.

Metin filtrenin config.user_message alanında durur (ai_input_filters.config, en fazla 500 karakter). Add Input Filter penceresinde henüz bu alan yoktur; yönetim API'si ile ya da bir filtre paketiyle ayarlanır:

{
  "filter_name": "conf-leaked-data",
  "action_type": "reject",
  "config": {
    "user_message": "Bu istek engellendi: içerik izinsiz elde edilmiş veri gibi görünüyor. / Blocked: this content looks like improperly obtained data."
  }
}

Kullanıcının mesajı gördüğü yerler:

KanalÖzel mesajı gösterir mi
Dashboard AI ChatEvet — content_rejected akış olayının error alanıdır
POST /chat/completions kullanan API istemcileriEvet — aynı error alanı
Inline proxy / ICAP engelleme sayfasıHayır — o sayfa kendi gerekçe listesini üretir
Dosya yükleme incelemesiHayır — aynı nedenle
Çıktı filtreleriHayır — yanıt tarafının kendi mesajı vardır ve config sütunu yoktur

Bir isteme birden fazla reddeden filtre uyduğunda, tespitlerin hâlihazırdaki sıralamasında mesaj taşıyan ilk filtre kazanır. config taşımayan bir filtre varsayılan metni korur; siz bir tane ayarlayana kadar hiçbir şey değişmez.

Bir kuralı tek bir kiracı grubu için geçersiz kılın

Düzenleme kapsamını değiştirin

Editing: alanını {group} — overrides base yapın.

Bir uyarı kutucuğu belirir: Editing overrides for {group}. Kutucuk, bir geçersiz kılmanın o grup için temel politikanın yerine geçtiğini, politikayı sıkılaştırabileceği gibi gevşetebileceğini ve bir kiracı birden çok grupta olduğunda bu grupların geçersiz kılmalarının en katısının uygulanacağını belirtir.

Grup için eylemi değiştirin

Eylem sütunundan bir eylem ya da temel politikayı yeniden izlemek için Temeli kullan öğesini seçin.

Bildirim Filter override saved ya da Filter override removed olur. Bu kipte Aktif sütunu genel kalır — ipucu şöyledir: Filters are enabled or disabled globally. Switch to the base policy to change this.

Öncelik sırası temel < grup < kiracıdır. Kiracı düzeyindeki bir geçersiz kılma en özgüldür ve kesin olarak kazanır; kiracı bazlı geçersiz kılmalar bu sayfadan değil, /admin/filter-overrides API'si üzerinden yazılır.

Bir tespit motorunu bir grup için kapatın

Tablonun üzerindeki beş kutucuk — PII tespiti, Sır ve veri sızıntısı, İçerik güvenliği, Jailbreak ve enjeksiyon, Kod güvenliği — aynı tespit servisi çağrısını paylaşan filtreleri gruplar.

Önce grubu seçin

Editing: alanını kiracı grubuna ayarlayın. Temel politikada anahtarlar devre dışıdır.

Her kutucuk Çalışıyor ya da Atlanıyor durumunu, ailedeki filtre sayısını ve arkasındaki tespit servisini gösterir.

Motoru kapatın

Kutucuğun Etkin anahtarını kapatın.

{family} turned off bildirimi işlemi doğrular. Bir aileyi kapatmak, o grup için içindeki her filtreyi allow yapar; böylece tespit servisi hiç çağrılmaz — denetim yok sayılmaz, hiçbir maliyeti olmaz.

Warning

Adını aile eşlemesinin tanımadığı bir filtre grubu, Unmapped filter groups başlığı altında listelenir. Bu grubun filtreleri atlama kararına katılmaz; dolayısıyla bir motor Atlanıyor görünürken o filtrelerden biri hâlâ reddediyor olabilir.

Dışa aktarın, içe aktarın ya da bir referans politika uygulayın

Geçerli kapsamı dışa aktarın

Import / Export → Export configuration öğesini seçin.

Seçili kapsam için bir JSON paketi indirilir. Kiracı grubu geçersiz kılmaları pakete dahil olur; kiracı kapsamlı geçersiz kılmalar hiçbir zaman dışa aktarılmaz.

Neyin uygulanacağını seçin

Bir paket yüklemek için Import / Export → Import from file…, gelen politikalardan birini seçmek için Referans politika uygula… öğesini seçin: GDPR Strict, HIPAA, KVKK/Finance ya da Permissive.

Pencere hedefi belirtir: temel politika ya da seçili kiracı grubu.

Kipi seçin

Yalnızca yenileri ekle, Politikayı uygula ya da Politikayı değiştir seçeneklerinden birini seçin.

Yalnızca yenileri ekle eksik grupları, filtreleri ve desenleri oluşturur; var olan bir eylemi ya da açma/kapama anahtarını hiç değiştirmez. Politikayı uygula ayrıca eylemleri de belirler (bir grup seçiliyse geçersiz kılma olarak). Politikayı değiştir buna ek olarak, kapsamda olup pakette geçmeyen her şeyi kapatır; tanımlar hiçbir zaman silinmez.

Önizleyin, sonra onaylayın

Değişiklikleri önizle öğesini seçin, değişiklik listesini ve uyarıları okuyun, ardından Apply {n} changes öğesini seçin.

Siz onaylayana kadar hiçbir şey yazılmaz. Uygulama önizlemeyi yeniden hesaplar ve yapılandırma bu arada değiştiyse reddeder. Bildirim Filter configuration imported olur.

Referans politikalar birer eylem politikası paketidir: yalnızca kimlik, eylem ve açık/kapalı durumunu taşırlar; bu nedenle onlar için kip seçici devre dışıdır ve bilinmeyen bir başvuru, içe aktarmayı başarısız kılmak yerine uyarıya dönüşür. Çıkış filtrelerinin geçersiz kılma tablosu yoktur, dolayısıyla gruba yönelik bir içe aktarma çıkış bölümünü bir uyarıyla atlar.

Çıkış filtreleri

Çıktı Filtreleri sekmesi, modelin yanıtına uygulanan kuralları tutar. Bunlar kendi eylemleri olan ayrı bir tablodur ve kendilerine ait regex desenleri yoktur.

  • Filtre türleri PII Tespiti, İçerik Politikası, Halüsinasyon ve Regex'tir.
  • Eylemler Maskele, Reddet, İşaretle ve Uyar'dır. Uyar bir uyarı gösterir ve yanıtı korur; dolayısıyla işaretlemeyle aynı artık maruziyeti bırakır.
  • Çıktı Filtresi Ekle ile bir tane oluşturun; pencere Grup, Filtre Adı, Filtre Türü, Eylem Türü, Doğrulama Varlık Türü, ML Varlık Türleri ve Öncelik bilgilerini ister.
  • Çıkış kuralları geneldir. Bir çıkış geçersiz kılma katmanı yoktur: ai_filter_overrides giriş filtresi kimliklerini adresler, dolayısıyla bir kiracı ya da grup geçersiz kılması hiçbir zaman bir yanıt kuralına ulaşmaz.

Warning

Bir halüsinasyon filtresinin hallucination_threshold ve min_supported_ratio değerleri (ikisi de 0–1) API'de ve saklanan kayıtta vardır, ancak pencerede karşılık gelen bir alan yoktur. Halihazırda saklanandan farklı bir değere ihtiyacınız varsa bunları /admin/output-filters üzerinden ayarlayın.

Alan başvurusu

Girdi Filtresi Ekle / Filtre Düzenle

AlanZorunluKuralNe işe yarar
Filtre AdıEvetEn fazla 100 karakterKuralı tabloda ve denetim kayıtlarında adlandırır
Filtre GrubuEvetVar olan bir grupKuralı gruplar; grubun kendi Aktif anahtarı içindeki her filtreyi denetler
Filtre TürüEvetDört değerden biriYalnızca bir etiket. Giriş hattı bunu okumaz
ML Varlık TürleriHayırVirgülle ayrılmış etiketlerBu filtrenin tepki verdiği model etiketleri. Kiracı bazlı eylem geçersiz kılmalarının filtreye ulaşması için zorunludur
Doğrulama Varlık TürüHayırEn fazla 50 karakterBu filtrenin tespitlerini doğrulama kurallarına bağlar
Eylem TürüEvetMaskele, İşaretle ya da ReddetKural eşleştiğinde ne olacağı
ÖncelikHayır0–999, varsayılan 0Yalnızca eşit eylem gücündeki kurallar arasında eşitlik bozucu
AktifHayırVarsayılan açıkTespit motorunun kuralı hiç yükleyip yüklemeyeceği

Girdi filtreleri tablosu

SütunNeyi gösterir
Filtre AdıKuralın adı; bir desen derlenemediğinde Bozuk etiketiyle
GrupAit olduğu filtre grubu
TürFiltre Türü etiketi
EylemEylem açılır listesi; grup kapsamında ayrıca Temeli kullan seçeneğini sunar
ÖncelikEşitlik bozucu sayı — büyük olan kazanır
Tespit yöntemleri{n} patterns, ML ({n}) ya da Hiçbir şey tespit etmiyor rozeti
AktifMotorun bu kuralı yükleyip yüklemediği
Takma adlandırmaBu filtre için maskelenen değerlerin yanıtta geri getirilip getirilemeyeceği
OluşturulmaOluşturulma tarihi

Doğrulama

  1. Kural, belirlediğiniz eylem, öncelik ve Aktif durumuyla tabloda görünür ve Tespit yöntemleri hücresi Hiçbir şey tespit etmiyor değildir.
  2. AI Chat üzerinden eşleşmesi gereken bir mesaj gönderin, ardından Tüm tespitler sayfasını açıp beklediğiniz sonuca sahip bir satır olduğunu doğrulayın.
  3. Olay Günlükleri sayfasını açın. Bir eylemi ya da bir Aktif anahtarını değiştirmek, değişen alan başına bir POLICY_PROTECTION_CHANGED satırı yazar ve önceki ile sonraki değeri taşır; böylece bir zayıflatma, yeniden etkinleştirmeden ayırt edilebilir. Ad değişiklikleri ve öncelik düzenlemeleri hiçbir şey yazmaz.
  4. Dışa aktarma bir FILTER_BUNDLE_EXPORTED satırı yazar; tamamlanmış bir içe aktarma ise filter_bundle kaynak türüne karşı bir RESOURCE_UPDATED satırı yazar ve kipi, hedef kapsamı, sağlama toplamını ve değişiklik sayılarını taşır.

Başarısız olursa

  • Kural desen test aracında eşleşiyor ama gerçek trafikte hiçbir şey yapmıyorsa: hem filtrenin hem grubunun Aktif durumunu denetleyin. Pasif bir kural test aracında yine de eşleşir.
  • Satırda Hiçbir şey tespit etmiyor — filtrenin ne bir deseni ne de bir ML Varlık Türleri değeri vardır. Menüyü aç → Desenler öğesini açıp bir tane ekleyin.
  • Nested quantifiers detected …, Repeated alternation contains duplicate branches … ya da Multiple consecutive .* / .+ sequences … — desen, felaket geri izleme riski olarak reddedildi. Niceleyiciyi sınırlayın, örneğin {1,20}.
  • Pattern is {n} characters; the maximum is 1000. — deseni kısaltın ya da ikiye bölün.
  • Could not check this pattern — the server did not respond. Saving is blocked until it can be verified. — ağ geçidine panodan erişilemiyor; düzenleyici doğrulanmamış bir deseni kaydetmeyi reddeder.
  • Filter group "{name}" still contains {n} filter(s): … Delete them first, or repeat this request with ?cascade=true to remove them together. — grup boş değildir.
  • The filter configuration changed after this preview was taken. Re-run the preview and confirm the new diff. — önizlemenizle onayınız arasında başka biri bir filtreyi değiştirdi. Yeniden önizleyin.
  • Bundle failed validation; nothing was imported. — paket bozuktur ya da bu cihazın çözümleyemeyeceği nesnelere başvuruyordur. Yanıt hataları listeler.
  • This is a read-only demo account (viewer role) — actions and changes are disabled. — istek READ_ONLY_ROLE ile reddedildi. viewer olmayan bir hesapla oturum açın.

Sonraki adımlar

  • Filtre testi — bir kuralın, üretime çıkmadan önce sandığınız şeyi yakaladığını kanıtlayın.
  • Tüm tespitler — kuralların her yakalama noktasında gerçekte neyi yakaladığını görün.
  • Kiracı grupları — bu sayfanın düzenlediği geçersiz kılmaların ait olduğu grubu oluşturun.

Son güncelleme