Skill Being Reviewed
Skill name: dns-security
Skill path: skills/network/dns-security/
False Positive Analysis
Benign code that can be misclassified as unsafe if reviewed without context:
key "xfr-secondary" {
algorithm hmac-sha256;
secret "[redacted]";
};
acl "authorized-secondaries" {
192.0.2.53;
2001:db8::53;
};
zone "example.com" {
type primary;
file "/etc/bind/zones/example.com.signed";
allow-transfer { key "xfr-secondary"; authorized-secondaries; };
update-policy { grant ddns-updater zonesub ANY; };
};
Why this is a false positive:
Zone transfers and dynamic updates are not automatically findings. They are expected for secondary DNS, DNS provider migration, hidden-primary patterns, and controlled DDNS. The risk depends on evidence that transfers are restricted to authorized secondaries, protected with TSIG or equivalent provider IAM, and not reachable from arbitrary internet clients. A review that only greps allow-transfer or update-policy can over-report legitimate DNS operations.
Coverage Gaps
Missed variant 1: public AXFR exposes the full authoritative zone
zone "example.com" {
type primary;
file "/etc/bind/zones/example.com";
allow-transfer { any; };
};
Why it should be caught:
The skill references NIST SP 800-81 Rev 2 Section 6 for securing DNS infrastructure, including TSIG and ACLs for zone transfers, but the process does not include an explicit AXFR/IXFR review step. Public zone transfers can disclose internal hostnames, service names, stale subdomains, delegated environments, and security-relevant records even when DNSSEC, RPZ, and DoH/DoT are configured correctly.
Missed variant 2: authoritative server also allows open recursion
options {
recursion yes;
allow-recursion { any; };
};
Why it should be caught:
Open recursion exposes infrastructure to abuse, cache poisoning surface, and reflection/amplification. The current skill separates authoritative and recursive categories during discovery, but it does not require a check that public authoritative servers have recursion disabled or that recursive resolvers restrict clients to trusted networks.
Missed variant 3: DNS dynamic updates lack TSIG/provider-IAM guardrails
zone "example.com" {
type primary;
allow-update { any; };
};
Why it should be caught:
Unauthorized zone data modification is one of the DNS threat classes called out in the skill context. Dynamic update paths (allow-update, update-policy, RFC 2136 clients, Terraform/cloud DNS service accounts) should be reviewed for TSIG keys, source restrictions, scoped IAM, audit logs, and rotation. The current process focuses on DNSSEC validation and DNS filtering, but DNSSEC does not prevent an authorized-or-misconfigured control plane from publishing malicious records.
Edge Cases
- Hidden-primary architectures may intentionally expose AXFR only to provider-operated secondaries; the finding should require evidence from ACLs, TSIG, provider IAM, and external transfer tests before rating severity.
- Some managed DNS providers do not expose BIND-style
allow-transfer; reviewers should check provider-specific zone transfer settings, IAM, audit logs, and DNSSEC signing roles instead.
- Split-horizon DNS may have different transfer/update policies for internal and external views. Each view needs separate evidence.
- DNSSEC-signed zones can still be compromised through insecure dynamic update credentials or overbroad cloud DNS service accounts; signed malicious records will validate.
- Rate limiting (RRL or provider equivalent) should be evaluated separately from DNSSEC and RPZ because it addresses reflection/amplification and denial-of-service behavior.
Remediation Quality
Comparison to Other Tools
| Tool |
Catches this? |
Notes |
dig AXFR / delv |
Partial |
Can prove transfer exposure for a specific zone/server, but does not explain intended secondary topology or provider IAM. |
| Nmap DNS NSE scripts |
Partial |
Can flag open recursion, AXFR, and version.bind, but still needs configuration review to avoid false positives. |
| NIST SP 800-81 Rev 2 |
Yes |
Section 6 covers infrastructure hardening such as restricting zone transfers and DNS transaction security. |
| CIS Benchmarks / provider checks |
Partial |
Managed DNS providers expose equivalent settings through IAM, zone transfer toggles, audit logs, and DNSSEC controls. |
Overall Assessment
Strengths:
- Strong coverage of DNSSEC, DoH/DoT, RPZ/protective DNS, DNS tunneling indicators, and output formatting.
- Good separation between authoritative and recursive DNS during discovery.
- The common pitfalls already mention DS chain validation and TCP/53 visibility.
Needs improvement:
- Add an explicit NIST Section 6 infrastructure-hardening review step.
- Require AXFR/IXFR, recursion, and dynamic update evidence for every discovered DNS server or managed zone.
- Distinguish legitimate secondary DNS and DDNS from public transfer/update exposure.
- Add rate limiting and version disclosure checks as DNS infrastructure findings, not just DNSSEC/protective-DNS observations.
Priority recommendations:
- Add a new process step for authoritative/recursive infrastructure hardening:
allow-transfer, allow-recursion, allow-update, update-policy, TSIG keys, provider IAM, RRL, and version disclosure.
- Add severity guidance: public AXFR or unauthenticated dynamic update should be High/Critical depending on exposure; open recursion on internet-facing resolvers should be High; missing RRL/version hiding should be Medium/Low based on context.
- Extend the output template with per-server fields for transfer policy, recursion policy, update policy, TSIG/provider IAM, external reachability, and rate limiting.
Bounty Info
Skill Being Reviewed
Skill name:
dns-securitySkill path:
skills/network/dns-security/False Positive Analysis
Benign code that can be misclassified as unsafe if reviewed without context:
Why this is a false positive:
Zone transfers and dynamic updates are not automatically findings. They are expected for secondary DNS, DNS provider migration, hidden-primary patterns, and controlled DDNS. The risk depends on evidence that transfers are restricted to authorized secondaries, protected with TSIG or equivalent provider IAM, and not reachable from arbitrary internet clients. A review that only greps
allow-transferorupdate-policycan over-report legitimate DNS operations.Coverage Gaps
Missed variant 1: public AXFR exposes the full authoritative zone
Why it should be caught:
The skill references NIST SP 800-81 Rev 2 Section 6 for securing DNS infrastructure, including TSIG and ACLs for zone transfers, but the process does not include an explicit AXFR/IXFR review step. Public zone transfers can disclose internal hostnames, service names, stale subdomains, delegated environments, and security-relevant records even when DNSSEC, RPZ, and DoH/DoT are configured correctly.
Missed variant 2: authoritative server also allows open recursion
Why it should be caught:
Open recursion exposes infrastructure to abuse, cache poisoning surface, and reflection/amplification. The current skill separates authoritative and recursive categories during discovery, but it does not require a check that public authoritative servers have recursion disabled or that recursive resolvers restrict clients to trusted networks.
Missed variant 3: DNS dynamic updates lack TSIG/provider-IAM guardrails
Why it should be caught:
Unauthorized zone data modification is one of the DNS threat classes called out in the skill context. Dynamic update paths (
allow-update,update-policy, RFC 2136 clients, Terraform/cloud DNS service accounts) should be reviewed for TSIG keys, source restrictions, scoped IAM, audit logs, and rotation. The current process focuses on DNSSEC validation and DNS filtering, but DNSSEC does not prevent an authorized-or-misconfigured control plane from publishing malicious records.Edge Cases
allow-transfer; reviewers should check provider-specific zone transfer settings, IAM, audit logs, and DNSSEC signing roles instead.Remediation Quality
Comparison to Other Tools
dig AXFR/delvOverall Assessment
Strengths:
Needs improvement:
Priority recommendations:
allow-transfer,allow-recursion,allow-update,update-policy, TSIG keys, provider IAM, RRL, and version disclosure.Bounty Info