Polardns

Latest version: v1.6.3

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

1.6.3

- added reusable GitHub Workflow for end-to-end (E2E) testing of DNS resolvers
- added example GitHub Workflow integration for BIND9, PowerDNS, Knot Resolver, Unbound, CoreDNS, and Dnsmasq
- added a template for E2E tests

19/Mar/2025
- fixed 0x20 encoding (randomly mixed uppercase and lowercase in DNS queries) in all record injection modules

18/Mar/2025

1.6.2

- major rework of the polardns test runner `test/run.sh`, now based on actual dig outputs rather than just checksums

13/Mar/2025
- added `rc` modifier allowing to set custom reply codes (statuses) for DNS responses (e.g., NOERROR, NXDOMAIN, SERVFAIL)
- implemented size limits in various functions to prevent errors caused by requesting oversized responses
- added tests (total test count: 2439)

10/Mar/2025

1.6.1

- restructured the project into a package installable via `pip`
- created a wrapper `polardns.py` to support traditional standalone usage
- published the `polardns` package to PyPI repository (https://pypi.org/project/polardns/)
- updated documentation
- code cleanup

20/Feb/2025
- updated documentation
- published Docker image to Docker Hub (oryxlabs/polardns)
- added a script `gendocs.py` for generating the documentation

04/Feb/2025

1.6.0

03/Feb/2025
- new catalog documentation using GitHub Pages, providing detailed explanations, examples, and PCAP files for each example
- major rework of all modules to align with the new documentation format, including examples and in-depth explanations
- added tests (total test count: 2407)

28/Jan/2025
- deprecated the `bigcname` feature, succeeded by the `nfz` modifier
- deprecated the `cgena` feature, succeeded by the `nfz` modifier
- deprecated the `cgenb` feature, succeeded by the `nfz` modifier
- deprecated the `cnamefuzz1` feature, succeeded by the `nfz` modifier
- deprecated the `cnamefuzz2` feature, succeeded by the `nfz` modifier
- deprecated the `dotcname` feature, succeeded by the `nfz` modifier
- deprecated the `illcname` feature, succeeded by the `nfz` modifier
- deprecated the `manycnames` feature, succeeded by the `nfz` modifier
- deprecated the `manylabels` feature, succeeded by the `nfz` modifier
- deprecated the `cutabuf` feature, succeeded by the `cut` modifier
- deprecated the `cutcnamebuf` feature, succeeded by the `cut` modifier
- deprecated the `chunkedcnames` feature, succeeded by the `cnk` modifier

27/Jan/2025
- deprecated the `inj01` feature, succeeded by the `inja` feature
- deprecated the `inj02` feature, succeeded by the `inja` feature
- deprecated the `inj03` feature, succeeded by the `inja` feature
- deprecated the `inj04` feature, succeeded by the `inja` feature
- deprecated the `inj05` feature, succeeded by the `inja` feature
- deprecated the `inj06` feature, succeeded by the `injaaaa` feature
- deprecated the `inj07` feature, succeeded by the `inja` feature
- deprecated the `inj08` feature, succeeded by the `inja` feature
- deprecated the `inj09` feature, succeeded by the `injptr` feature
- deprecated the `inj10` feature, succeeded by the `injns` feature
- deprecated the `inj11` feature, succeeded by the `injns` feature
- deprecated the `inj12` feature, succeeded by the `injns` feature
- deprecated the `inj13` feature, succeeded by the `injns` feature
- deprecated the `inj14` feature, succeeded by the `injcname` feature

26/Jan/2025
- major consolidation of all cache poisoning (record injection) modules, introducing new injection features
- added the `inja` feature for injecting unsolicited A records
- added the `injns` feature for injecting unsolicited NS records
- added the `injaaaa` feature for injecting unsolicited AAAA records
- added the `injcname` feature for injecting unsolicited CNAME records
- added the `injdname` feature for injecting unsolicited DNAME records
- added the `injmx` feature for injecting unsolicited MX records

19/Jan/2025
- overhaul of the `nfz` name fuzzing generator, now supporting variable, parameterized, and customizable malformations
- enhanced the `always` feature feature to support generating a variable number of A or AAAA records

15/Dec/2024
- enhanced the `size` feature to support both A and AAAA records
- enhanced the `self` feature to return both the client's IP address and source port

11/Dec/2024
- added the `cnk` modifier enabling transmission of DNS responses in variable sized chunks
- added the `len` modifier allowing adjusting the DNS packet length (size) in TCP

28/Oct/2024
- added the `queryback4` feature
- added self-DoS protection in the `queryback3` feature

24/Sep/2024

1.5.0

- adopting the semantic versioning (SemVer)
- added the `nptenumalias` and `nptenumloop` features returning NAPTR records in response to ENUM (E.164) phone number queries
- updated the catalogue documentation
- added tests (total test count: 750)

19/Sep/2024
- send only one alias by default, ensuring uniform behavior across all `alias*` feature (CNAME/DNAME/HTTPS/SVCB/SRV/MX/NS/TXT)

06/Aug/2024
- small fix in matching of underscored domain names for the SRV and SVCB alias/chain/loop features

15/Jul/2024
- added the `add` modifier for appending arbitrary bytes to the end of the packet
- added the `rl` modifier for recalculating the length in TCP in case `cut` or `add` modifiers were used during a request
- updated the catalogue documentation
- added tests (total test count: 746)
- various minor optimizations

12/Jul/2024
- added the `ptralias`, `ptrloop1` and `ptrloop2` features responding with PTR records
- updated the catalogue documentation
- added tests (total test count: 720)

11/Jul/2024
- added the `spfloop`, `spfchain`, `spfalias1` and `spfalias2` features responding with TXT SPF records
- the `loop`, `chain` and `alias` features now also support the NS and SPF (TXT) record types
- added tests (total test count: 714)

10/Jul/2024
- added the `nsloop`, `nschain` and `nsalias` features responding with NS records
- enhanced the tests, `test/test.sh -h` will give usage info
- added tests (total test count: 707)

08/Jul/2024

1.4

- added the `cut` modifier for cutting arbitrary number of bytes from the end of the packet
- deprecated the `cutabuf` and `cutcnamebuf` features
- added tests (total test count: 678)

05/Jul/2024
- added the `size` feature that responds with the maximum number of A records that can fit in the specified packet size
- added support for DNS compression, configurable via config file
- added the `nc` modifier to not use compression in a response
- added the `fc` modifier to force compression in a response
- added tests (total test count: 669)
- various code optimizations

04/Jul/2024
- optimization in the startup routine to remove all debug messages if debug mode is disabled
- added support for parsing the EDNS0 section, configurable via config file

03/Jul/2024
- added support for the Attrleaf naming pattern (underscored domain names) for the SRV and SVCB alias/chain/loop features
- enhanced the `nfz` modifier, added 4 more variants, now it can produce 49 different domain name variants
- deprecated the `manycnames`, `cnamefuzz1`, `cnamefuzz2` and `illcname` features
- added tests for the Attrleaf naming patterns and additional `nfz` variants (total test count: 612)
- various small fixes in polardns.py
- updated the catalogue documentation

04/Jun/2024

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.