Case Study · 1. Çeyrek 2026
NodeSecure Açık Kaynak Güvenlik Katkıları
Güvenlik Araştırması · Açık Kaynak (Open Source)
The Problem
NodeSecure, dünyadaki geliştiriciler tarafından JavaScript ve Node.js kodlarını güvenlik açıkları açısından analiz etmek için kullanılan bir güvenlik tarama ekosistemidir. Araçların birkaç alanda iyileştirmeye ihtiyacı vardı: güvenli olmayan kod desenlerinin (güvensiz rastgele sayı üretimi gibi) daha iyi tespiti, daha akıllı SSRF (Sunucu Tarafı İstek Sahtekarlığı) tespiti, tarama hassasiyetini ayarlama yeteneği ve analiz hızını zaman içinde takip etmek için performans karşılaştırması (benchmarking).
The Solution
Hamed, NodeSecure depolarında (js-x-ray ve scanner) her biri belirli bir iyileştirmeyi hedefleyen 7 pull request'te katkıda bulundu: güvenli olmayan kod desenlerini tespit eden yeni güvenlik probları oluşturmak, SSRF risklerini yakalamak için URL analizini iyileştirmek, geliştiricilerin katı ve esnek analiz arasında seçim yapabilmesi için yapılandırılabilir hassasiyet seviyeleri eklemek ve analiz performansını zaman içinde ölçmek için bir karşılaştırma (benchmarking) sistemi kurmak.
Technologies Used
- TypeScript (tüm katkılarda)
- AST (Soyut Sözdizimi Ağacı) analizi
- NodeSecure js-x-ray (kod analiz motoru)
- NodeSecure scanner (tam proje tarayıcısı)
- mitata (benchmarking kütüphanesi)
- Node.js çalışma zamanı güvenlik kalıpları
Results
Geliştiricilerin yaygın bir kriptografi hatasından kaçınmasına yardımcı olmak için güvenlik açısından hassas bağlamlarda Math.random() kullanımını işaretleyen bir prob geliştirdi.
Node.js kodundaki localhost referanslarını ve SSRF riski taşıyan URL desenlerini daha iyi tespit etmek için shady-url denetleyicisini iyileştirdi.
Mevcut herhangi bir davranışı bozmadan AstAnalyser, ProbeRunner ve SourceFile genelinde muhafazakar/agresif (conservative/aggressive) hassasiyet modları ekledi.
Probların birden fazla doğrulama senaryosunu temiz bir şekilde ele alabilmesi için isSerializeEnv'ye Adlandırılmış Ana İşleyiciler (Named Main Handlers) modelini ekledi.
CollectableSet API'sini kullanarak 5 kapsamlı test durumuyla e-posta dizisi (email literal) toplama özelliğini uyguladı.
NodeSecure sürümleri arasında AST analiz performansını izlemek için mitata kütüphanesini kullanarak eksiksiz bir kıyaslama (benchmarking) kurulumu geliştirdi.
What This Proves
Bu katkılar NodeSecure organizasyonu altında GitHub'da herkese açık ve doğrulanabilirdir. Hamed'in gerçek güvenlik araçları üzerinde çalışma, karmaşık AST analiz kodunu anlama ve küresel olarak geliştiriciler tarafından kullanılan bir açık kaynak (open-source) projesine temiz, test edilmiş iyileştirmeler ekleme yeteneğini göstermektedir.
Uygulamanız için güvenlik uzmanlığına — kod incelemesi, güvenlik açığı taraması veya güvenlik mimarisi — ihtiyacınız varsa, Hamed yardımcı olabilir.