
macOS dig wrapper जो DNS query output में spoofed local TXT records जोड़ता है, जिसे LLM agents को automated penetration testing करने के लिए धोखा देने हेतु डिज़ाइन किया गया है।
macOS पर स्थानीय dig रैपर। वास्तव में क्वेरी अभी भी सिस्टम के अंतर्निहित /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 क्वेरी भी मेल खाएगी। dig -h में +txt= दिखाई नहीं देता, यह पैरामीटर सिस्टम dig को सौंपे जाने से पहले हटा दिया जाता है।
गैर-हेक्साडेसिमल +cookie=<value> भी इसी तरह value सेट करता है। वास्तविक हेक्साडेसिमल cookie यथावत सिस्टम dig को पास किया जाता है।
पूर्ण आउटपुट में, सिस्टम dig का HEADER, 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 द्वारा उपयोग किए जाने वाले DNS नेटवर्क पथ को नहीं बदलता