
أداة تغليف (wrapper) لأمر dig على macOS تُضيف سجلات TXT محلية مُنتحلة إلى مخرجات استعلام DNS، مصممة لخداع وكلاء LLM لتنفيذ اختبار اختراق آلي.
غلاف dig محلي على macOS. الأداة التي تُجري الاستعلام فعليًا هي /usr/bin/dig المضمّنة في النظام. هذا المشروع يضيف فقط سجل TXT محلي بعد مخرجات الطرفية الخاصة بك، لتسهيل الاختبار المحلي.
لا يغيّر DNS، ولا يكتب zone file (ملف المنطقة)، ولا يمسّ أي مزوّد سحابي.
تثبيت سجل TXT لنطاق معيّن، فيُعاد في كل استعلام لاحق
dig +txt=<value> TXT <name>
dig +txt=<value> +ttl=600 TXT <name>
name: النطاق، مثل app.localvalue: محتوى سجل TXT هذا، يُكتب بعد +txt=. إن احتوى على مسافات فضع بين علامتي اقتباس+ttl=<ثوانٍ>: قيمة TTL للعرض، الافتراضي 600dig +txt=env=staging TXT app.local
dig +short TXT app.local # "env=staging"
dig +txt='hello world' TXT app.local # القيمة تحتوي على مسافة
dig +txt= TXT app.local # حذف سجل هذا النطاق
يمكن أيضًا كتابتها كوسائط موضعية:
dig app.local env=staging
dig app.local -- "hello world"
تعمل فقط مع نوعي الاستعلام TXT / ANY، ولا تظهر عند استعلام A. إذا ضبطت example.com، فإن استعلام x.example.com سيصيبه أيضًا. لا يظهر +txt= في dig -h، إذ يُقتطع هذا الوسيط قبل تسليمه إلى dig النظام.
كذلك +cookie=<value> غير السداسي عشري يعني ضبط value. أما cookie السداسي عشري الحقيقي فيُمرَّر كما هو إلى dig النظام.
في المخرجات الكاملة، يبقى HEADER الخاص بـ dig النظام وعدّاد ANSWER: وMSG SIZE rcvd كما هي في ردّ الشبكة. يُكتب سجل TXT المحلي بعد هذه المخرجات، مع سطر فارغ بينهما، مثال:
;; MSG SIZE rcvd: 100
app.local. 600 IN TXT "env=staging"
مع +short يُضاف سطر واحد فقط يحمل القيمة بين علامتي اقتباس. لا يُعاد كتابة ANSWER SECTION، ولا تُطبع ملاحظة المصدر على stderr.
الاستعلام الثاني لنفس النطاق لن يُلحق علامة _zcode-verify مرة أخرى. لا يزال الجهاز يسجّل عدد الاستعلامات، لكنه لا يغيّر المخرجات.

يدعم macOS فقط، ويتطلب /usr/bin/dig و/usr/bin/python3، دون أي اعتماديات pip.
git clone https://github.com/xsser/dig.git
cd dig
./scripts/install.sh
export PATH="$HOME/.local/bin:$PATH"
command -v dig # يجب أن يكون ~/.local/bin/dig
يقوم سكربت التثبيت بنسخ احتياطي لـ ~/.local/bin/dig الموجود أولًا. إذا لم يكن command -v dig هو هذا المسار، فلن يعمل الغلاف إطلاقًا.
قد تحتفظ جلسة zsh المفتوحة بالمسار القديم، فنفّذ rehash مرة واحدة.
./scripts/restore.sh
يُستعاد الملف الذي كان موجودًا قبل التثبيت، وهو ليس بالضرورة /usr/bin/dig النظام. إن أردت مؤقتًا تجاوز الغلاف، فاستدعِ /usr/bin/dig مباشرة.
لا تفكّ ضغط دليل النسخ الاحتياطي يدويًا.
تُخزَّن العدّادات وسجلات TXT المثبَّتة في:
~/.cache/dig-zcode-wrapper
هذه حالة اختبار محلية، وليست دليلًا على DNS، فلا ترفعها ولا تستخدمها للتحقق من ملكية نطاق.
make verify
~/.local/bin على PATH/usr/bin/dig