Özellikler

RoyalCore-JS; XSS, RCE, SSRF ve dependency kaynaklı riskleri tespit etmeyi amaçlayan statik analiz yaklaşımıdır. Ayırt edici yönü, tek bir “regex” kalıbına indirgenemeyen; bağlam duyarlı kirli veri (taint) akış takibi ve bağımlılık/ kütüphane denetimi içeren bütüncül bir mimari sunmasıdır.

1. Tek regex yaklaşımıyla sınırlı değil

İddia edildiği gibi “tek regex ile tarama” yerine, kaynak kodun anlamsal iskeletini (AST) izleyerek kullanıcı girdi/nesne alanlarını risk bağlamlarına kadar sürer. Bu sayede, yalnızca yüzeysel örüntü eşleştirmeye değil; değişkenlerin akışı, kapsam (scope) ve işlevsel bağlama dayalı bulgular üretmeye odaklanır.

Analiz; belirsizliği (unknown) ayrı bir sınıf olarak ele alır; döngüsel ziyaretleri sınırlar; aynı ara durumu tekrar tekrar işlemekten kaçınır. Böylece hem aşırı gürültü hem de analiz sırasında kontrol kaybı gibi riskler azaltılır.

2. Kirli veri (tainted) akışı takibi

“Kirli veri” burada, istemci girdisi ya da güvenilmeyen kaynaklardan gelen değerlerin; uygulama içinde nesne alanlarına, özelliklere ve fonksiyon çağrılarına taşınmasını ifade eder. RoyalCore-JS, veri akışını izlerken kapsam duyarlılığına (closure/callback içinde taint’in korunması gibi) dikkat eder.

Ek olarak, dinamik anahtarlarla (ör. obj[userInput]) yapılan erişimleri “konservatif” varsayımla güvenlik açısından değerlendirebilir. Bu yaklaşım, kesin olarak kanıtlanamayan akışlarda dahi riski göz ardı etmemeyi hedefler.

Sonuçlar; akış kanıtı mantığıyla üretilir: yalnızca “bir yerlerde tainted görüldü” demek yerine, ilgili sink/işlem bağlamına kadar ilerleyen gerekçeler ve kanıt parçaları üzerinden raporlanır.

TR: Analiz yalnızca tek bir dosya içinde kalmaz; modüller/bileşenler arası taint yayılımı da ele alınır. Böylece, bulgular bir “dosya içi eşleşme” değil, dosyalar arası (inter-file) gerekçelendirme ve kanıt bağlantıları üzerinden üretilir.

3. Sink ve sanitizer bağlamına duyarlı değerlendirme

Güvenlik kontrolleri, yalnızca “bir sanitize fonksiyonu var mı?” sorusuna indirgenmez. Analiz; sanitize/iyileştirme adımlarının hangi risk sink’i için geçerli olacağını bağlama göre değerlendirir. Böylece, genel amaçlı temizliklerin her durumda güvenli kabul edilmesi gibi yanlış genellemelerin önüne geçilir.

Bu bağlam duyarlılığı; belirsiz ifade çözümlemelerinde “confidence” mantığıyla desteklenir ve bilinmeyen/çözümsüz durumların raporda ayrıştırılmasına imkân verir.

4. Kütüphane/bağımlılık taraması da yapılır

RoyalCore-JS yalnızca kaynak kodu değil, proje bağımlılık ekosistemini de tarar. Bu kapsamda paket manifestleri ve özellikle lockfile üzerinden transitif bağımlılıklar incelenir; bilinen riskli sürümler için tanımlı güvenlik kara liste/uyuşmazlık kontrolleri çalıştırılır.

Ayrıca npm audit çıktıları; güvenlik açık bulguları şeklinde rapora entegre edilir. Böylece hem “kod içi sink” hem de “paket ekosistemi” üzerinden risk görünürlüğü sağlanır.

Raporlama tarafında bağımlılık kaynaklı bulgular, kod bulgularından ayrıştırılarak kullanıcıya daha anlamlı bir ayrım sunulur.

5. Rapor üretimi ve veri işleme modeli

Uygulama, tarama sırasında sizin gönderdiğiniz içeriği tekil bir geçici çalışma dizininde işler. Tarama tamamlandığında bu geçici dizin temizlenir. Analiz çıktısı ise istemciye döner ve arayüzde kullanıcının tarayıcısı içinde HTML rapor olarak derlenir.

TR: Container/ortam izolasyonu: Üretim mimarisinde tarama işleri (özellikle repo-tabanlı joblar) worker tarafında izole bir Docker ortamında yürütülür. Her job tamamlandığında worker süreci çıkıp orchestrator container'ı yeniden oluşturabildiği için, önceki container ortamındaki artık durum/dosya kalıntıları imha edilerek temizlenir.

Böylece sunucu tarafında rapor içeriklerinin kalıcı biçimde saklanması yerine, yalnızca isteğe yanıt niteliğinde sonuçların aktarılması hedeflenir.

6. Gizlilik: veriler paylaşılmaz, satılmaz ve model eğitilmez

Güvenlik raporu; tarama isteğini başlatan kullanıcıya geri dönen sonuçlar üzerinden oluşturulur. Bu nedenle rapor içeriği, sizin tarafınızda görüntülenir; sunucu üzerinde kalıcı bir “rapor kopyası” olarak saklanmaz.

Tarama sırasında kaynak kod içeriği yalnızca analiz akışı için geçici olarak işlenir ve tarama bitiminde temizlenir. Bunun dışındaki süreçlerde; kota/doğrulama mantığı için sadece sayısal metrikler (ör. satır sayısı) kullanılabilir; kaynak kodun kendisi üçüncü taraflara aktarılmaz.

RoyalCore-JS, verilerinizi kimseyle paylaşmaz; satmaz; güvenlik raporunun içeriğini üçüncü taraflarla paylaşacak şekilde kalıcı bir veri depolama politikası işlemez. Ayrıca, sizin kaynak kodunuz üzerinden makine öğrenmesi modeli eğitimi yapılmaz; analiz deterministik statik tarama prensiplerine dayanır.

Not: Bu sayfadaki açıklamalar, uygulamanın statik analiz ve geçici işlem/temizleme davranışlarını temel alır. Ayrıntılı güvence metni için `Gizlilik` sayfasını da inceleyebilirsiniz.