يؤدي تخصيص الموارد دون قيود أو تقييد إلى إمكانية إحداث هجوم رفض الخدمة (DoS) عبر إنشاء ذرات غير محدودة من مدخلات ثنائية يتحكم فيها المهاجم. تقوم الوحدة النمطية `Guardian.Plug.Keys` باستخلاص مفاتيح مساحة اسم الاتصال والجلسة عن طريق تمرير ملفات ثنائية عشوائية إلى الدالة `String.to atom/1`. وعلى وجه التحديد، تقوم الدالة `base key/1` الموجودة في `lib/guardian/plug/keys.ex` بتحويل البيانات الثنائية إلى ذرات، بينما تقوم الدوال المساعدة `claims key/1` و`resource key/1` و`token key/1` بإنشاء ذرات إضافية. وبالمثل، تقوم الدالة `key from other/1` بتحويل البيانات الثنائية التي تم التقاطها بواسطة تعبير عادي (regex) من خلال `String.to atom/1`. تقوم نقاط الدخول عالية المستوى، مثل `Guardian.Plug.current token(conn, key: key)`، بتمرير المفاتيح التي يوفرها المستدعي مباشرةً إلى هذه الدوال.
نظرًا لأن `String.to atom/1` تنشئ ذرة جديدة لكل قيمة ثنائية غير معروفة، ولأن الذرات لا تخضع لعملية جمع القمامة، فقد يتم استنفاد جدول الذرات في BEAM (الذي يبلغ حده الافتراضي حوالي 1,048,576 إدخالًا). إذا قام أحد التطبيقات بتوجيه بيانات غير موثوق بها، مثل معرّف المستأجر أو رأس الطلب، إلى مفتاح Guardian عبر المعلمة `key`، فيمكن للمهاجم إرسال دفق من المدخلات المتنوعة لاستنفاد جدول الذرات وتعطيل عقدة BEAM، مما يؤثر على جميع التطبيقات التي تعمل عليها.