2 مستودعات
Techniques for enforcing strict bounds and memory safety during the decoding of untrusted binary data streams.
Distinct from Untrusted Code Sandboxes: Existing candidates focus on content markings or domain rewriting, not low-level memory safety and bounds enforcement during binary decoding.
Explore 2 awesome GitHub repositories matching security & cryptography · Safe Binary Parsing. Refine with filters or upvote what's useful.
Nanopb هو تنفيذ C خفيف الوزن لـ Protocol Buffers مصمم للأنظمة محدودة الموارد والمتحكمات الدقيقة. يعمل كمكتبة تسلسل مضمنة لتشفير وفك تشفير البيانات المهيكلة ومولد كود يحول ملفات التعريف إلى ملفات مصدر ورأس C مدمجة. يتميز المشروع بتركيزه على تخصيص الذاكرة الثابت، باستخدام أحجام قصوى ثابتة للسلاسل والمصفوفات لتجنب تخصيص الذاكرة الديناميكي وتجزئة الكومة (Heap fragmentation). يستخدم آلية بث تعتمد على الاستدعاء (Callback) لمعالجة الرسائل أو الحقول التي تتجاوز ذاكرة الوصول العشوائي المتاحة، مما يسمح بالتعامل مع البيانات ذات الطول المتغير دون استنفاد ذاكرة النظام. توفر المكتبة قدرات واسعة للتسلسل الثنائي، بما في ذلك حساب الحجم المشفر، وتتبع وجود الرسائل الفرعية، والتأطير على مستوى النقل. كما تتضمن أدوات انعكاس لتكرار الحقول، والتحقق من صحة سلسلة UTF-8، وفرض الحدود الصارمة لضمان سلامة الذاكرة عند تحليل المدخلات الثنائية غير الموثوقة.
Enforces strict bounds on reads and writes to ensure memory safety when decoding potentially malicious binary input.
Wuffs is a toolset for generating memory-safe, sandboxed parsers and decoders from domain-specific language specifications. It functions as a compiler that transforms these specifications into executable code for C, Go, or Rust, specifically designed to decode untrusted file formats while preventing buffer and integer overflows. The project employs a sandboxed execution model that prohibits system calls and manual memory management to ensure computations are side-effect free. It utilizes a refined type system and compile-time constraint verification to enforce memory safety, alongside saturat
Implements strict bounds and memory safety to prevent overflows when decoding untrusted binary data streams.