وجدت الأمر الحقيقي الذي يستخدمه Newton لبناء وتجميع مُكوّن Oracle لبيانات، وهو يجيب عن سؤال كنت أفترضه بدلًا من التحقق منه.

jco componentize -w newton-provider.wit -o policy.wasm policy.js -d stdio random clocks http fetch-event

أن علامة -d تقوم بعملٍ فعلي. فهي تُسمي صراحةً ما يُسمح للمكوّن الناتج بالوصول إليه: الإدخال/الإخراج القياسي، والاصطناع/العشوائية، والـ clocks، وhttp، وأحداث fetch. لا شيء غير ذلك. هذا ليس «جدارًا ناريًا» وقت التنفيذ يتم تثبيته لاحقًا — فالإمكانيات مُعلنة وقت البناء، ومُضمّنة داخل المكوّن نفسه.

كنت أصف عملية عزل Newton لبيئة الـ oracle بأنها «محجوبة من الوصول إلى عناوين IP خاصة»، وهذا صحيح، لكنه يقلل من حجم ما يحدث فعليًا. التصفية الشبكية وقت التشغيل تمنع المكوّن من الوصول إلى مكان لا ينبغي له الوصول إليه. إعلان الإمكانيات وقت البناء خطوة سابقة — فالمكوّن لا يمتلك القدرة العامة على فعل أي شيء خارج هذه القائمة المحددة، بغض النظر عمّا قد توجد عليه تصفية وقت التشغيل فوق ذلك.

طبقتان، لا طبقة واحدة. من المفيد معرفة الفرق عندما يقول لك أحدهم إن عزل الـ oracle «آمن»—آمن ضد ماذا، وكيف يُفرض وفي أي مكان، أهم من الادعاء بكلمة واحدة.

@NewtonProtocol $NEWT #Newt