İçeriğe geç

Yapay zekâ ve güvenlik

Yapay zekâ destekli yazılım geliştirme: kalite ve veri güvenliği nasıl korunur?

Yapay zekâ kodlama araçlarıyla daha hızlı geliştirirken kod kalitesini, kurumsal verinin gizliliğini, KVKK uyumunu ve tedarik zinciri güvenliğini korumak için uyguladığımız kontroller.

Yapay zekâ destekli kodlama araçları, yazılım geliştirme biçimini birkaç yıl içinde köklü şekilde değiştirdi. Deneyimli bir mühendis bugün aynı işi eskisinden belirgin şekilde daha kısa sürede çıkarabiliyor. Bu hız, kuruma özel yazılımı daha önce bütçe nedeniyle bu seçeneği değerlendiremeyen kurumlar için de erişilebilir hâle getirdi.

Ancak kurumsal müşteriler için asıl soru hız değildir. Asıl soru şudur: Daha hızlı üretilen kod, aynı kalitede ve aynı güvenlikte mi? Ve daha da önemlisi: Kurumun verisi bu süreçte nereye gidiyor?

Bankacılık sistemlerinde yıllarca çalışmış bir ekip olarak bu soruları ciddiye alıyoruz. Bu yazıda yapay zekâ destekli geliştirmede kaliteyi ve veri güvenliğini nasıl koruduğumuzu, müşterilerimize hangi taahhütleri verdiğimizi ve sizin bir tedarikçiye hangi soruları sormanız gerektiğini anlatıyoruz.

Yapay zekâ ne yapar, ne yapmaz?

Önce beklentiyi doğru kurmak gerekir. Yapay zekâ kodlama araçları:

  • Tekrarlayan kodu, test iskeletlerini ve dokümantasyonu hızla üretir
  • Mevcut kod tabanını okuyup açıklayabilir, hata ayıklamaya yardım eder
  • Deneyimli bir mühendisin tarif ettiği bir çözümü hızla koda dökebilir

Ancak şunları tek başına yapamaz:

  • İş kurallarınızı, istisnalarınızı ve mevzuat gerekliliklerinizi kendiliğinden bilmez
  • Hangi çözümün sizin kurumunuz için doğru olduğuna karar veremez
  • Ürettiği kodun doğruluğunu garanti edemez; ikna edici görünen ama yanlış kod üretebilir

Bu yüzden yapay zekâ, mühendisin yerini alan bir araç değil, mühendisin elindeki çok güçlü bir araçtır. Sorumluluk her zaman kodu teslim eden ekipte kalır.

Kalite: hız, kontrolü atlamak demek değildir

Yapay zekâ ile üretilen kod, insan tarafından yazılan koda uygulanan tüm kontrollerden geçmelidir. Hatta hız arttığında bu kontrollerin önemi artar, çünkü daha kısa sürede daha fazla kod üretilir.

İnsan incelemesi zorunludur

Üretilen her satır, bir mühendis tarafından okunur, anlaşılır ve onaylanır. "Çalışıyor gibi görünüyor" bir onay kriteri değildir. İnceleyen kişi şu sorulara cevap verebilmelidir: Bu kod ne yapıyor, neden bu şekilde yapıyor ve hangi durumda bozulur?

Testler kodla birlikte gelir

Yapay zekânın en faydalı kullanım alanlarından biri test yazmaktır. Her iş kuralı için otomatik testler yazılır ve her değişiklikte çalıştırılır. Testler, iş kurallarını ekip içinde belgelemenin de en güvenilir yoludur.

Burada dikkat edilmesi gereken bir tuzak var: Hem kodu hem de testini aynı araç aynı anda ürettiğinde, test kodun hatasını tekrarlayabilir. Bu nedenle kritik iş kuralları için test senaryolarını önce iş tarafıyla birlikte belirliyor, kodu sonra yazıyoruz.

Otomatik kontroller her değişikliği yakalar

Her kod değişikliği, birleştirilmeden önce otomatik bir kontrol hattından geçer:

  • Statik analiz. Kod kalitesi, hatalı kalıplar ve bilinen güvenlik açığı türleri için tarama
  • Gizli bilgi taraması. Parolaların, API anahtarlarının ya da bağlantı bilgilerinin yanlışlıkla koda girmesini engelleme
  • Bağımlılık taraması. Kullanılan açık kaynak kütüphanelerde bilinen güvenlik açıklarının kontrolü
  • Lisans kontrolü. Eklenen kütüphanelerin lisanslarının kurumsal kullanıma uygun olduğunun doğrulanması

Uydurma bağımlılıklara karşı dikkat

Yapay zekâ araçları zaman zaman var olmayan bir kütüphane adını önerebilir. Kötü niyetli kişiler bu tür isimleri önceden kaydedip zararlı kod yayımlayabilir. Bu nedenle projeye eklenen her yeni bağımlılık, adı, yayıncısı ve geçmişi kontrol edilerek elle onaylanır.

Veri güvenliği: müşteri verisi nereye gider?

Kurumsal müşterilerin haklı olarak en çok sorduğu soru budur. Cevabımız nettir ve sözleşmelerimize de yansır.

Gerçek müşteri verisi yapay zekâ araçlarına verilmez

Geliştirme sırasında yapay zekâ araçlarıyla paylaşılan şey kod ve teknik bağlamdır; müşterinin gerçek verisi değildir. Çalışan bilgileri, müşteri kayıtları, finansal veriler ya da sözleşme içerikleri hiçbir koşulda bu araçlara girdi olarak verilmez.

Geliştirme ve test ortamlarında gerçek veri yerine:

  • Gerçek verinin yapısını taklit eden sentetik veri üretilir
  • Gerçek veri kullanılması zorunluysa, kişisel veriler maskelenmiş ya da anonimleştirilmiş kopyalar kullanılır
  • Üretim verisine erişim yalnızca yetkili kişilerle ve kayıt altında sınırlandırılır

Kurumsal kullanım koşulları olan araçlar tercih edilir

Kullandığımız yapay zekâ hizmetlerini, girdileri model eğitiminde kullanmadığını ve veri saklama koşullarını açıkça belirten kurumsal sözleşmeler üzerinden seçiyoruz. Herkese açık, ücretsiz sohbet arayüzleri kurumsal projelerde kullanılmaz.

Tedarikçinizle konuşurken şu ayrımı mutlaka sorun: Kullanılan araç, girdileri modeli eğitmek için kullanıyor mu? Girdiler ne kadar süre ve hangi ülkede saklanıyor?

Hassas projeler için kurum içi seçenekler

Bazı kurumlar, kaynak kodun dahi kurum dışına çıkmamasını ister. Bu durumda seçenekler şunlardır:

  • Yapay zekâ araçlarının yalnızca kurumun onayladığı ve kurumun kendi bulut hesabında çalışan modellerle kullanılması
  • Açık modellerin kurumun kendi altyapısında çalıştırılması
  • Projenin belirli bölümlerinde yapay zekâ araçlarının hiç kullanılmaması

Bu tercih proje başında birlikte belirlenir ve sözleşmeye yazılır. Hız ile gizlilik arasındaki dengeyi kurum belirler; biz uygularız.

KVKK ve yurt dışına veri aktarımı

Kişisel verilerin korunması mevzuatı, yapay zekâ araçlarının kullanımında da geçerlidir. Bir yapay zekâ hizmeti yurt dışındaki sunucularda çalışıyorsa, bu hizmete kişisel veri gönderilmesi yurt dışına veri aktarımı anlamına gelebilir ve ayrı yükümlülükler doğurur.

Bu nedenle uyguladığımız temel ilke basittir: Kişisel veri yapay zekâ araçlarına gönderilmez. Böylece geliştirme sürecinin kendisi, kurumun veri aktarımı yükümlülüklerini etkilemez.

Geliştirilen yazılımın içinde yapay zekâ özelliği bulunacaksa, örneğin dokümanları özetleyen ya da talepleri sınıflandıran bir modül, bu durum ayrı bir tasarım konusudur. Hangi verinin hangi hizmete gideceği, nerede işleneceği ve nasıl kayıt altına alınacağı, kurumun hukuk ve bilgi güvenliği ekipleriyle birlikte belirlenir.

Yazılımın içindeki yapay zekâ: yeni riskler

Yapay zekâ yalnızca geliştirme aracı olarak değil, ürünün bir parçası olarak kullanıldığında yeni risk türleri ortaya çıkar. Bunların başında istem enjeksiyonu gelir: Modelin işlediği bir doküman ya da mail içine yerleştirilen talimatlar, modelin davranışını değiştirmeye çalışabilir.

Bu riske karşı uyguladığımız temel önlemler şunlardır:

  • Modelin erişebildiği veri ve yapabildiği işlemler, görevin gerektirdiği en düşük seviyede tutulur
  • Model çıktısı, kritik bir işlem yapılmadan önce doğrulanır ya da insan onayına sunulur
  • Kullanıcıdan ya da dış kaynaktan gelen içerik, sistem talimatlarından açıkça ayrılır
  • Modelin aldığı girdiler ve verdiği kararlar denetim için kayıt altına alınır

Denetim izi ve şeffaflık

Düzenlemeye tabi sektörlerde, bir yazılımın nasıl geliştirildiğinin de izlenebilir olması gerekir. Bu nedenle:

  • Her değişiklik, kimin yaptığı ve kimin onayladığı bilgisiyle sürüm kontrol sisteminde tutulur
  • Mimari kararlar ve gerekçeleri yazılı olarak belgelenir
  • Proje teslim edildiğinde kaynak kod, dokümantasyon ve test altyapısı kuruma devredilir

Kaynak kodun müşteriye ait olması, bu şeffaflığın doğal bir sonucudur. Kurum, yazılımını istediği zaman bağımsız bir ekibe denetletebilir.

Bir tedarikçiye sormanız gereken sorular

Yapay zekâ destekli geliştirme yapan bir yazılım ekibiyle çalışmadan önce şu soruların cevabını yazılı olarak isteyin:

  1. Hangi yapay zekâ araçlarını kullanıyorsunuz ve bunları hangi sözleşme koşullarıyla kullanıyorsunuz?
  2. Bu araçlar, girdilerimizi model eğitimi için kullanıyor mu?
  3. Kurumumuzun gerçek verisi geliştirme sürecinde herhangi bir yapay zekâ aracına gönderiliyor mu?
  4. Test ortamında hangi veriler kullanılıyor? Kişisel veriler nasıl maskeleniyor?
  5. Yapay zekâ ile üretilen kod hangi inceleme ve test süreçlerinden geçiyor?
  6. Bağımlılık, gizli bilgi ve lisans taramaları otomatik olarak yapılıyor mu?
  7. Kaynak kod ve dokümantasyon proje sonunda bize devrediliyor mu?
  8. Gerekirse yapay zekâ araçlarının kullanımını projenin belirli bölümlerinde kısıtlayabilir miyiz?

Sonuç

Yapay zekânın kuruma özel yazılımın maliyet denklemini nasıl değiştirdiğini merak ediyorsanız hazır yazılım mı, kuruma özel yazılım mı rehberimize göz atabilirsiniz.

Ön görüşme

Bu yazıdaki konuları kurumunuz için konuşalım.

Kısa bir ön görüşmede hedeflerinizi ve öncelikli süreçlerinizi birlikte değerlendirelim.

Ön görüşme planlayın