Brakeman, Ruby on Rails ile uygulamalar geliştiren ekipler tarafından kullanılan açık kaynaklı bir güvenlik tarayıcısıdır. Araç, uygulama kodu ve yapılandırmasına odaklanarak geliştiricilere ve güvenlik ekiplerine, geliştirme ve test sırasında ortak web uygulaması risk sınıflarını tanımlamanın bir yolunu sunar.

Brakeman, kontrolörler, modeller, görünümler ve şablonlar dahil olmak üzere uygulama kaynak kodunu doğrudan analiz eder. Tarayıcı, verilerin uygulama içinde nasıl hareket ettiğine dair dahili bir temsil oluşturur ve bu da güvenlik sorunlarıyla ilişkili kalıpları işaretlemesine olanak tanır.
Bu yaklaşım, uygulamanın çalıştırılmasını veya test trafiğinin gönderilmesini önler. Ekipler Brakeman’ı bir kod deposuna yönlendirebilir ve kod tabanının statik incelemesine dayalı sonuçları alabilir.
Brakeman’ın tanımladığı sorun türleri
Brakeman, Rails projelerinde yaygın olarak görülen bir dizi uygulama güvenliği sorununu kontrol eder. Bunlar arasında enjeksiyon kusurları, siteler arası komut dosyası oluşturma riskleri, güvenli olmayan yönlendirmeler ve kimlik doğrulama veya yetkilendirme zayıflıkları yer alır. Tarayıcı ayrıca uygulama davranışını etkileyen yapılandırma ayarlarını da değerlendirir.
Her bulgu, sorunun açıklamasını, etkilenen dosya ve satır numarasını ve bir güven düzeyini içerir. Bu yapı, ekiplerin her uyarı için derin güvenlik uzmanlığı gerektirmeden işlerine öncelik vermelerine yardımcı olur.
Bağımlılık ve çerçeve farkındalığı
Uygulama koduna ek olarak Brakeman, bir projede kullanılan Rails sürümlerini ve destekleyici mücevherleri inceler. Bir sürüm bilinen bir güvenlik önerisiyle eşleştiğinde tarayıcı bunu sonuçların bir parçası olarak bildirir. Bu, ekiplere kendi kodlarının dışından kaynaklanan risklere ilişkin görünürlük sağlar.
Tarayıcı, Rails çerçevesindeki değişiklikleri ve ortak geliştirme modellerini yansıtacak şekilde kurallarını zaman içinde günceller. Bu, bulguların Rails uygulamalarının oluşturulma ve sürdürülme şekliyle uyumlu olmasını sağlar.
Brakeman’ı günlük iş akışlarında kullanma
Pek çok geliştirici, rutin geliştirmenin bir parçası olarak Brakeman’ı yerel olarak çalıştırıyor. Araç aynı zamanda taahhütler veya çekme istekleri üzerine kodu tarayan CI sistemleri de dahil olmak üzere otomatikleştirilmiş ortamlarda da çalışabilir. Bu, ekiplerin güvenlik sorunlarını geliştirme sürecinin başlarında ortaya çıkarmasına olanak tanır.
Brakeman, insan tarafından okunabilen raporlar ve makine tarafından okunabilen veriler dahil olmak üzere birden fazla çıktı formatını destekler. Bu seçenekler, ek araçlara gerek kalmadan sonuçların geliştiricilerle, güvenlik ekipleriyle veya izleme sistemleriyle paylaşılmasını mümkün kılar.
Bulguları zaman içinde yönetme
Brakeman, ekiplerin uyarıları yapılandırma dosyaları aracılığıyla yönetmesine olanak tanır. Belirli bulgular, belgelenmiş bir sebeple göz ardı edilmiş olarak işaretlenebilir. Bu, taramalar boyunca kalıcı olan bir kayıt oluşturur ve ekiplerin kabul edilen risk ile çözülmemiş sorunlar arasında ayrım yapmasına yardımcı olur.
Tarayıcı aynı zamanda çalıştırmalar arasında sonuçların karşılaştırılmasını da destekler. Bu, ekiplerin büyük veya uzun ömürlü projelerde gürültüyü azaltan son kod değişikliklerinin getirdiği yeni uyarılara odaklanmasına yardımcı olur.
Brakeman GitHub’da ücretsiz olarak mevcuttur.
![]()
Okumalısınız:
![]()
Temel açık kaynaklı siber güvenlik araçları hakkında bilgi sahibi olmak için Help Net Security’nin reklamsız aylık bültenine abone olun. Buradan abone olun!
![]()