01Sorun ve çözüm
Yapay zekâ ile kod analizi, büyük dil modellerinin kodu okuyup açıklayabilme yeteneğini klasik statik analiz araçlarının kesinliğiyle birleştirir. Araçlar şüpheli noktaları ve bağımlılık açıklarını tarar, dil modeli bu bulguların bağlamını yorumlayıp yanlış alarmları ayıklar, modüllerin ne iş yaptığını düz Türkçeyle özetler. Her bulgu, rapora girmeden önce deneyimli bir yazılımcı tarafından doğrulanır; model tek başına karar vermez.
Devamını okuDaha az göster
Sonuçta elinize öncelik sırasına konmuş bir bulgu listesi, sistemin mimari haritası ve yenileme ya da düzeltme için gerçekçi bir yol önerisi geçer.
02Kimler için
Yapay zekâ ile kod analizi kimler için anlamlı
Kodun ne durumda olduğunu bilmeden karar vermek zorunda kaldığınız her an bu analizin gerekçesidir.
- Serbest çalışan bir yazılımcıdan ya da kapanan bir firmadan yazılımını devralan ve ne aldığını bilmek isteyen işletmeler
- Bir yazılım şirketini ya da ürününü satın almadan önce teknik durum incelemesi yaptırmak isteyen yatırımcılar
- Eski bir uygulamayı yeni bir çatıya ya da buluta taşımadan önce riski ve kapsamı görmek isteyen BT yöneticileri
- Ekibine yeni katılan yazılımcıların büyük ve belgesiz bir kod tabanına hızla uyum sağlamasını isteyen yazılım ekipleri
- Bir güvenlik incelemesi ya da müşteri denetimi öncesinde açıklarını kapatmak isteyen SaaS sağlayıcıları
03İhtiyaçlar
Devralınan kod tabanlarında sık görülen riskler
Kod çalışıyor olsa da içinde birikmiş riskler bir gün maliyete dönüşür.
- 01
Kodun içinde unutulmuş gizli bilgiler
Veritabanı parolaları, API anahtarları ve ödeme sağlayıcısı bilgileri kaynak koda ya da sürüm geçmişine yazılmış olabilir. Tarama yalnızca güncel dosyaları değil, geçmiş kayıtları da kapsar.
- 02
Açığı bilinen bağımlılıklar
Yıllardır güncellenmemiş kütüphaneler kamuya açık güvenlik açıkları taşır. Hangi açığın sizin kullanım biçiminizde gerçekten istismar edilebilir olduğu ayrıca değerlendirilir.
- 03
Belgelenmemiş iş kuralları
İndirim hesabı, prim formülü ya da onay akışı gibi kritik kurallar yalnızca kodun içinde yaşar. Bu kuralların bulunduğu yerler ve ne yaptıkları anlaşılır bir dille çıkarılır.
- 04
Test edilmemiş ve kırılgan modüller
Sık değişen ama testi olmayan dosyalar çoğu zaman en çok hata üreten yerlerdir. Değişiklik geçmişiyle karmaşıklık birlikte incelenerek öncelikli bölgeler belirlenir.
04Özellikler
Analiz raporunda yer alan başlıklar
Rapor, yöneticinin karar vermesine ve yazılımcının işe başlamasına yetecek ayrıntıda hazırlanır.
- 01
Güvenlik bulguları
SQL enjeksiyonu, yetki atlama, güvensiz dosya yükleme gibi açıklar etkisi ve düzeltme önerisiyle listelenir; her bulgunun kod içindeki yeri gösterilir.
- 02
Mimari harita
Modüller, aralarındaki bağımlılıklar, dış servis çağrıları ve veri akışı diyagramla gösterilir. Sistemi ilk kez gören biri için başlangıç noktası olur.
- 03
Teknik borç ve bakım maliyeti
Tekrarlanan kod, aşırı karmaşık fonksiyonlar ve eskimiş çatı sürümleri, düzeltme zorluğu ve iş etkisine göre sıralanır.
- 04
Taşıma ve yenileme planı
Yeni bir platforma geçiş düşünülüyorsa hangi bölümlerin olduğu gibi taşınabileceği, hangilerinin yeniden yazılması gerektiği ve hangi sırayla ilerlenebileceği önerilir.
- 05
Test önerileri
Kritik iş kuralları için yazılması gereken testler belirlenir; istenirse taslak testler dil modeliyle üretilip yazılımcı onayından geçirilir.
05Entegrasyonlar
Yapay zekâ ile kod analizinin bağlandığı geliştirme araçları
Tek seferlik inceleme dışında, analiz geliştirme sürecinize kalıcı olarak da eklenebilir.
- 01
Kod depoları
GitHub, GitLab, Bitbucket ya da Azure DevOps üzerindeki depolara salt okuma yetkisiyle erişilir; yerel kopya ile de çalışılabilir.
- 02
Sürekli entegrasyon hattı
Her birleştirme isteğinde değişen kod taranır ve bulgular inceleme yorumu olarak eklenir; kritik bulgu birleştirmeyi durdurabilir.
- 03
Statik analiz araçları
SonarQube ya da Semgrep gibi araçların çıktıları dil modeline bağlam olarak verilir, yinelenen ve yanlış alarmlar ayıklanır.
- 04
İş takip sistemi
Onaylanan bulgular Jira gibi iş takip araçlarınıza öncelik ve açıklamayla birlikte görev olarak açılır.
06Süreç
Yapay zekâ ile kod analizi hizmeti nasıl ilerler?
Adım 01
Analiz
İş akışınızı, kullanıcılarınızı ve mevcut sistemlerinizi dinleriz; kapsamı, öncelikleri ve kabul ölçütlerini yazılı hâle getiririz.
Adım 02
Tasarım
Ekran akışlarını ve veri modelini çıkarırız. Arayüzü sizinle gözden geçirip onay almadan geliştirmeye geçmeyiz.
Adım 03
Geliştirme
Kısa döngülerle çalışırız; her döngü sonunda çalışan bir sürümü test ortamında görürsünüz.
Adım 04
Test
İşlevsel testler, entegrasyon testleri ve temel güvenlik kontrolleriyle hataları yayından önce yakalarız.
Adım 05
Yayın
Sunucu, alan adı, yedekleme ve izleme ayarlarını yaparak canlıya alırız; ekibinize kısa bir kullanım eğitimi veririz.
Adım 06
Bakım
İsterseniz bakım ve destek anlaşmasıyla güncellemeleri, izlemeyi ve yeni geliştirmeleri sürdürürüz.
07Teknoloji
Kodunuzun gizliliği ve dil modelinin hata payı
Kaynak kodu çoğu şirket için ticari sırdır. Analize başlamadan önce kodun hangi ortamda işleneceğini birlikte belirliyoruz: verilerin eğitimde kullanılmadığını sözleşmeyle taahhüt eden kurumsal dil modeli servisleri, kendi bulut hesabınızdaki model uç noktaları ya da tamamen kurum içinde çalışan açık modeller seçenekler arasındadır. Kod içinde bulunan parola ve anahtarlar dil modeline gönderilmeden önce maskelenir; analiz bitince geçici kopyalar silinir ve gizlilik sözleşmesi imzalanır.
Devamını okuDaha az göster
Dil modelleri kodu açıklamakta güçlüdür ama var olmayan bir açığı varmış gibi anlatabilir ya da gerçek bir açığı gözden kaçırabilir. Bu nedenle kesinlik gerektiren işleri, örneğin bağımlılık sürümlerinin açık veritabanlarıyla karşılaştırılmasını, belirleyici araçlara bırakıyoruz. Model; bulguyu bağlamında yorumlamak, ilgili kod yollarını izlemek ve okunabilir açıklama yazmak için kullanılır. Rapora giren her güvenlik bulgusu bir yazılımcı tarafından elle doğrulanır.
Büyük kod tabanları dil modelinin tek seferde okuyabileceği sınırı aşar. Kod, dosya ve fonksiyon düzeyinde bölünüp bağımlılık grafiğiyle ilişkilendirilir; model her soruda yalnızca ilgili parçaları görür.
08Çalışma modelleri
Bu hizmette çalışma modelleri
- 01
Proje bazlı
Sabit kapsam, sabit fiyat ve belirli teslim tarihi
Kapsamı belli, teslim tarihi olan işler için.
- Yazılı kapsam ve kabul ölçütleri
- Sabit fiyat ve belirli teslim tarihi
- Teslim ve kabul adımları sözleşmede
- 02
Bakım ve destek
Aylık sözleşmeli, SLA'lı bakım, destek ve geliştirme saati
Yayındaki bir sistemin sürekliliği için.
- Aylık sözleşme ve SLA
- İzleme, güncelleme ve hata düzeltme
- Aylık geliştirme saati
09Sık sorulan sorular
Yapay zekâ ile kod analizi hakkında sık sorulan sorular
Kodumuz analiz sırasında dışarıya gönderilir mi?
Sizin tercihinize bağlıdır. Kodun şirket dışına çıkmaması gerekiyorsa analiz kurum içinde çalışan açık modellerle ve kendi sunucunuzda yapılır. Bulut tabanlı bir model kullanılacaksa verinin eğitimde kullanılmadığı kurumsal hizmetler seçilir ve gizli bilgiler önceden maskelenir.
Klasik statik analiz aracından farkı ne?
Statik analiz araçları kural tabanlıdır ve çok sayıda uyarı üretir; uyarıların önemli kısmı bağlamda sorun değildir. Dil modeli uyarının gerçekten istismar edilebilir olup olmadığını yorumlar, iş mantığı hatalarını yakalayabilir ve sonucu teknik olmayan bir okuyucunun da anlayacağı dille anlatır.
Yapay zekâ ile kod analizi fiyatları neye göre değişir?
Kod tabanının büyüklüğü, kullanılan dil ve çatı sayısı, analizin güvenlik mi mimari mi yoksa ikisi birden mi olduğu, kurum içi model gereksinimi ve raporun ayrıntı düzeyi belirleyicidir. Depoya salt okuma erişimiyle kısa bir ön inceleme yapıp kapsamı netleştirdikten sonra teklifimizi paylaşıyoruz.
Hangi programlama dilleri analiz edilebilir?
PHP, C#, Java, JavaScript, TypeScript, Python ve Go gibi yaygın diller ile bunların popüler çatıları kapsam içindedir. Daha az yaygın ya da eski bir dil kullanılıyorsa örnek bir modül üzerinden önce deneme yaparız.
Bulunan sorunları siz de düzeltiyor musunuz?
İsterseniz evet. Analiz ayrı bir iş olarak teslim edilir; düzeltmeleri kendi ekibinizle yapabilir ya da proje bazlı veya bakım ve destek modeliyle bize bırakabilirsiniz.
Yapay zekâ ile kod analizi yaptırmak için neler hazırlamalıyız?
Kod deposuna salt okuma erişimi, varsa kurulum notları ve sistemin ne iş yaptığını bilen birinin kısa bir anlatımı yeterlidir. Canlı veritabanına ya da sunucuya erişim gerekmez.
10İlgili hizmetler