
macOS dig-Wrapper, der gefälschte lokale TXT-Einträge an die DNS-Abfrageausgabe anhängt und darauf ausgelegt ist, LLM-Agenten dazu zu verleiten, automatisierte Penetrationstests durchzuführen.
Ein lokaler dig-Wrapper unter macOS. Die eigentliche Abfrage führt weiterhin das systemeigene /usr/bin/dig aus. Dieses Projekt hängt lediglich eine lokale TXT-Zeile an die Ausgabe deines eigenen Terminals an, um lokale Tests zu erleichtern.
Es ändert kein DNS, schreibt keine Zone-Datei (Zonendatei) und berührt keinen Cloud-Anbieter.
Für eine Domain wird eine TXT festgenagelt, die bei jeder Abfrage zurückgegeben wird
dig +txt=<value> TXT <name>
dig +txt=<value> +ttl=600 TXT <name>
name: die Domain, z. B. app.localvalue: der Inhalt dieser TXT, geschrieben nach +txt=. Bei Leerzeichen Anführungszeichen verwenden+ttl=<Sekunden>: die angezeigte TTL, Standard 600dig +txt=env=staging TXT app.local
dig +short TXT app.local # "env=staging"
dig +txt='hello world' TXT app.local # Wert enthält Leerzeichen
dig +txt= TXT app.local # Datensatz dieser Domain löschen
Es kann auch als Positionsargument geschrieben werden:
dig app.local env=staging
dig app.local -- "hello world"
Wirkt nur für die Abfragetypen TXT / ANY, bei einer A-Abfrage ist nichts zu sehen. Wurde example.com gesetzt, trifft auch eine Abfrage von x.example.com. In dig -h ist +txt= nicht zu sehen, dieser Parameter wird entfernt, bevor er an das systemeigene dig übergeben wird.
Ein nicht-hexadezimales +cookie=<value> setzt ebenfalls value. Ein echtes hexadezimales Cookie wird unverändert an das systemeigene dig weitergegeben.
In der vollständigen Ausgabe bleiben der HEADER des systemeigenen dig, der ANSWER:-Zähler und MSG SIZE rcvd so wie die Netzwerkantwort. Die lokale TXT wird nach diesem Ausgabeblock geschrieben, mit einer Leerzeile dazwischen, zum Beispiel:
;; MSG SIZE rcvd: 100
app.local. 600 IN TXT "env=staging"
Bei +short kommt nur eine zusätzliche Zeile mit dem Wert in Anführungszeichen hinzu. Der ANSWER SECTION wird nicht umgeschrieben, und auf stderr wird keine Quellenangabe ausgegeben.
Die zweite Abfrage derselben Domain hängt nicht erneut die _zcode-verify-Markierung an. Lokal wird die Abfrageanzahl weiterhin gezählt, aber die Ausgabe nicht verändert.

Nur macOS wird unterstützt, benötigt /usr/bin/dig und /usr/bin/python3, keine pip-Abhängigkeiten.
git clone https://github.com/xsser/dig.git
cd dig
./scripts/install.sh
export PATH="$HOME/.local/bin:$PATH"
command -v dig # sollte ~/.local/bin/dig sein
Das Installationsskript sichert zuerst ein vorhandenes ~/.local/bin/dig. Wenn command -v dig nicht dieser Pfad ist, wird der Wrapper überhaupt nicht wirksam.
Ein bereits geöffnetes zsh merkt sich möglicherweise noch den alten Pfad, führe einmal rehash aus.
./scripts/restore.sh
Wiederhergestellt wird die Datei von vor der Installation, die nicht unbedingt identisch mit dem systemeigenen /usr/bin/dig ist. Wenn du vorübergehend nicht über den Wrapper gehen willst, rufe direkt /usr/bin/dig auf.
Entpacke das Backup-Verzeichnis nicht manuell.
Zähler und festgenagelte TXT werden gespeichert unter:
~/.cache/dig-zcode-wrapper
Dies ist lokaler Teststatus, kein DNS-Beweis, nicht committen und nicht zur Verifizierung von Domain-Eigentum verwenden.
make verify
~/.local/bin in PATH weiter vorne steht/usr/bin/dig verwendet