agentscope-ai-java/json-guard
JSON.parse with hard limits on nesting depth, key count, string length and input size. Refuses parser bombs before they are allocated.
Hızlı değerlendirme
Özet
json-guard, JSON metnini JSON.parse öncesinde tarayarak boyut, iç içe geçme, anahtar ve string uzunluğu sınırları uygulayan bir TypeScript kütüphanesidir.
Profiline uyum
TypeScript API'lerinde güvenli JSON işleme, kullandığınız teknoloji yığınıyla örtüşüyor; profilde ise bu tür bir güvenlik ihtiyacı özellikle yer almıyor.
Neden yükseliyor
JSON kaynaklı hizmet engelleme riskini somut bir demo ve ölçümle anlatması dikkat çekmiş olabilir. Ancak 3 günlük yaş, 77 yıldız, 2 commit ve 1 farklı yazar verisi erken ilgiyi gösterir; benimsenme veya olgunluk kanıtı değildir.
Problem
Sadece istek gövdesinin byte boyutunu sınırlamak, çok derin veya çok sayıda anahtar içeren JSON'un parse edildikten sonraki bellek ve işlem maliyetini ya da sonraki işlemlerde oluşturabileceği stack overflow riskini önlemeyebilir.
Çözüm
JSON.parse çağrısından önce metin üzerinde tek geçişlik tarama yapıp yapı sınırlarını denetler; Uint8Array girdilerinde maxBytes kontrolünü decode işleminden önce yapabilir. Uygun girdiyi ardından JSON.parse'a verir.
Yenilik
JSON.parse öncesi taramayla derinlik ve yapı sınırlarını parse sırasında uygulanabilir hale getiren yaklaşım, bu kullanım için belirgin bir çözüm sunuyor. README'deki ölçümler proje tarafından verilmiş; yaklaşımın genel olarak yeni olduğu veya bağımsız testlerle doğrulandığı bu verilerden anlaşılamıyor.
Teknolojiler
- TypeScript
- Node.js
- JSON.parse
- Uint8Array
Riskler
- Çok genç ve README'deki etkinlik verisine göre tek yazarlı; bakım sürekliliği ve hata düzeltme kapasitesi henüz belirsiz.
- Ön tarama ile JSON.parse davranışının farklı girdilerde tutarlı olması kritik; kaçırılan veya yanlış sınıflandırılan durumlar güvenlik kontrollerini zayıflatabilir.
- README, sıradan bir örnek için json-guard parse yolunun JSON.parse'a kıyasla yaklaşık iki kat süre aldığını bildiriyor; gerçek iş yüklerinde ölçüm yapılmalı.
- Performans ve saldırı senaryosu ölçümleri README'de sunulmuş; bağımsız doğrulama bilgisi verilen veriler arasında yok.
Detaylı değerlendirme
Bu repo için detaylı değerlendirme henüz yapılmadı. Analiz, Ayarlar'daki uyum profilini hesaba katarak "bu işime yarar mı" sorusunu cevaplıyor. Bir kez çalışır; günlük koşular buna dokunmaz. Saatlik sınır var — bir kaynaktan en fazla 3 analiz.