React Doctor, kurulum gerektirmeyen ve React kod tabanlarını doğruluk, güvenlik, erişilebilirlik, performans ve bakım kolaylığı açısından tarayan bir lint aracıdır. Bir React 18 + Vite + TypeScript SPA'sı üzerinde yapılan saha testinde, araç toplam 1.249 sorun tespit etti. Bunların yalnızca 5'i gerçekten düzeltilmeye değerdi ve bunlar arasında aylardır fark edilmeyen iki gerçek güvenlik hatası bulunuyordu.
Tespit edilen 1.249 sorunun çoğu düşük değerli gürültü, yanlış pozitif veya kişisel tercih meselesiydi. Örneğin, 18 güvenlik uyarısından 13'ü sunucu tarafında temizlenen girdilerdi (yanlış pozitif). Erişilebilirlik kategorisindeki 435 uyarıdan 434'ü gereksizdi. Performans uyarılarının hiçbiri ölçülebilir bir etkiye sahip değildi. Araç, 100 üzerinden 39 puan verdi ancak bu puanın yanıltıcı olduğu belirtildi.
Düzeltilmeye değer bulunan 5 sorun arasında, bir useEffect içinde temizlenmeyen setTimeout (kaynak sızıntısı) ve bir XSS güvenlik açığı vardı. XSS açığı, JSON.stringify ile oluşturulan JSON-LD script etiketlerinde, kullanıcı kontrollü verilerin kaçış karakterlerinden arındırılmamasından kaynaklanıyordu. Bu, depolanmış XSS saldırısına yol açabiliyordu. Diğer sorunlar arasında bir belirteç sızıntısı ve anahtar/spread hatası yer alıyordu.
Sistem Güvenliği
React Doctor'un en büyük değeri, hipotez üretme yeteneğidir. Ancak sonuçları doğrudan CI sürecine bağlamak yerine, her bulgunun manuel olarak doğrulanması önerilir. Araç, özellikle LLM tabanlı ajanlar için tasarlanmıştır ve her bulgu için ilgili kodu okumayı önerir. Kısacası, React Doctor mükemmel bir hipotez üreticisi ancak zayıf bir geçit bekçisidir.