
Wrapper dig pour macOS qui ajoute des enregistrements TXT locaux falsifiés à la sortie des requêtes DNS, conçu pour tromper les agents LLM afin qu'ils effectuent des tests d'intrusion automatisés.
Un wrapper local de dig sur macOS. C'est toujours le /usr/bin/dig fourni par le système qui effectue réellement les requêtes. Ce projet se contente d'ajouter un enregistrement TXT local à la suite de la sortie de votre propre terminal, pour faciliter les tests locaux.
Il ne modifie pas le DNS, n'écrit pas de zone file (fichier de zone) et ne touche à aucun fournisseur cloud.
Épingler un enregistrement TXT à un domaine, qui sera renvoyé à chaque requête
dig +txt=<value> TXT <name>
dig +txt=<value> +ttl=600 TXT <name>
name : le domaine, par exemple app.localvalue : le contenu de cet enregistrement TXT, écrit après +txt=. Mettez des guillemets s'il contient des espaces+ttl=<secondes> : le TTL affiché, 600 par défautdig +txt=env=staging TXT app.local
dig +short TXT app.local # "env=staging"
dig +txt='hello world' TXT app.local # la valeur contient des espaces
dig +txt= TXT app.local # supprime l'enregistrement de ce domaine
On peut aussi l'écrire comme argument positionnel :
dig app.local env=staging
dig app.local -- "hello world"
Ne s'applique qu'aux types de requête TXT / ANY, une requête A ne le verra pas. Si vous définissez example.com, une requête sur x.example.com correspondra aussi. +txt= n'apparaît pas dans dig -h, ce paramètre est retiré avant d'être transmis au dig du système.
Un +cookie=<value> non hexadécimal définit également value. Un véritable cookie hexadécimal est transmis tel quel au dig du système.
Dans la sortie complète, le HEADER, le compteur ANSWER: et MSG SIZE rcvd du dig système restent identiques à la réponse réseau. Le TXT local est écrit après cette sortie, séparé par une ligne vide, par exemple :
;; MSG SIZE rcvd: 100
app.local. 600 IN TXT "env=staging"
En mode +short, seule une ligne supplémentaire avec la valeur entre guillemets est ajoutée. La ANSWER SECTION n'est pas réécrite, et aucune indication de source n'est affichée sur stderr.
La 2e requête sur le même domaine n'ajoute plus le marqueur _zcode-verify. La machine continue de compter les requêtes, mais la sortie n'est pas modifiée.

macOS uniquement, nécessite /usr/bin/dig et /usr/bin/python3, aucune dépendance pip.
git clone https://github.com/xsser/dig.git
cd dig
./scripts/install.sh
export PATH="$HOME/.local/bin:$PATH"
command -v dig # devrait être ~/.local/bin/dig
Le script d'installation sauvegarde d'abord le ~/.local/bin/dig existant. Si command -v dig ne renvoie pas ce chemin, le wrapper ne prendra pas effet du tout.
Un zsh déjà ouvert peut encore avoir l'ancien chemin en mémoire, exécutez rehash une fois.
./scripts/restore.sh
Restaure le fichier tel qu'il était avant l'installation, qui n'est pas nécessairement le /usr/bin/dig du système. Pour éviter temporairement le wrapper, appelez directement /usr/bin/dig.
Ne décompressez pas manuellement le répertoire de sauvegarde.
Les compteurs et les TXT épinglés sont stockés dans :
~/.cache/dig-zcode-wrapper
Il s'agit d'un état de test local, pas d'une preuve DNS ; ne le committez pas, ne l'utilisez pas pour vérifier la propriété d'un domaine.
make verify
~/.local/bin est placé avant dans le PATH/usr/bin/dig