
Envoltorio de dig para macOS que añade registros TXT locales falsificados a la salida de consultas DNS, diseñado para engañar a agentes LLM y que realicen pruebas de penetración automatizadas.
Envoltorio local de dig en macOS. Quien realmente envía la consulta sigue siendo el /usr/bin/dig del sistema. Este proyecto solo añade un TXT local al final de la salida de tu propia terminal, para facilitar las pruebas locales.
No modifica DNS, no escribe zone file (archivos de zona), ni toca ningún proveedor de nube.
Fija un TXT a un dominio, y a partir de entonces cada consulta lo devuelve
dig +txt=<value> TXT <name>
dig +txt=<value> +ttl=600 TXT <name>
name: el dominio, por ejemplo app.localvalue: el contenido de este TXT, escrito después de +txt=. Si tiene espacios, ponlo entre comillas+ttl=<segundos>: el TTL mostrado, por defecto 600dig +txt=env=staging TXT app.local
dig +short TXT app.local # "env=staging"
dig +txt='hello world' TXT app.local # el valor tiene espacios
dig +txt= TXT app.local # elimina el registro de este dominio
También se puede escribir como argumento posicional:
dig app.local env=staging
dig app.local -- "hello world"
Solo tiene efecto para los tipos de consulta TXT / ANY; con A no se ve. Si configuras example.com, consultar x.example.com también coincidirá. En dig -h no se ve +txt=; este parámetro se elimina antes de pasarlo al dig del sistema.
Un +cookie=<value> que no sea hexadecimal también está configurando value. Una cookie realmente hexadecimal se pasa tal cual al dig del sistema.
En la salida completa, el HEADER del dig del sistema, el conteo de ANSWER: y MSG SIZE rcvd se mantienen tal como los devuelve la respuesta de red. El TXT local se escribe después de esta salida, con una línea en blanco en medio, por ejemplo:
;; MSG SIZE rcvd: 100
app.local. 600 IN TXT "env=staging"
Con +short solo se añade una línea con el valor entre comillas. No se reescribe la ANSWER SECTION, ni se imprime en stderr una explicación del origen.
La segunda consulta al mismo dominio no vuelve a añadir la marca _zcode-verify. La máquina local sigue contando las consultas, pero no cambia la salida.

Solo compatible con macOS, requiere /usr/bin/dig y /usr/bin/python3, sin dependencias de pip.
git clone https://github.com/xsser/dig.git
cd dig
./scripts/install.sh
export PATH="$HOME/.local/bin:$PATH"
command -v dig # debería ser ~/.local/bin/dig
El script de instalación primero hace una copia de seguridad del ~/.local/bin/dig existente. Si command -v dig no es esta ruta, el envoltorio no tendrá efecto en absoluto.
Una zsh ya abierta puede seguir recordando la ruta antigua; ejecuta rehash una vez.
./scripts/restore.sh
Lo que restaura es el archivo que existía antes de la instalación, que no necesariamente es igual al /usr/bin/dig del sistema. Si temporalmente no quieres pasar por el envoltorio, llama directamente a /usr/bin/dig.
No desempaquetes manualmente el directorio de copia de seguridad.
El conteo y los TXT fijados se guardan en:
~/.cache/dig-zcode-wrapper
Esto es estado de pruebas local, no es evidencia DNS; no lo subas ni lo uses para verificar la propiedad de un dominio.
make verify
~/.local/bin está delante en el PATH/usr/bin/dig