Skip to content

Add comprehensive DNS record enumeration and pivot enrichment - #943

Merged
adulau merged 2 commits into
mainfrom
codex/dns-record-enumeration
Oct 17, 2026
Merged

adulau merged 2 commits into
mainfrom
codex/dns-record-enumeration

Conversation

@adulau

@adulau adulau commented Oct 17, 2026

Copy link
Copy Markdown
Member

Add dns_query, a separate expansion module for collecting DNS pivots beyond the existing A/AAAA resolver. It explicitly queries all dnspython-known data types (74 with dnspython 2.8.0), including SOA, TXT, MX, NS, SRV, CAA, service bindings and DNSSEC, with optional type selection and private TYPE codes.

Accept domains, hostnames, URLs, emails, supported composites and IPv4/IPv6 inputs (reverse names). Preserve complete RDATA, actual owner, class, TTL and response sections in linked dns-resource-record objects. Keep aliases, negative-answer SOA records and additional glue with their own owners. Extract domain/IP/email/URL pivots, SOA mailbox and timings, SPF networks, and service parameters. Preserve the source attribute UUID and metadata; generated attributes use to_ids=false.

Eight workers share a configurable total DNS budget. Mail-policy TXT queries and one bounded A/AAAA follow-up stage collect further pivots; result and follow-up limits prevent unbounded expansion. Partial failures retain records with diagnostic comments. This enumerates types at known names, not every owner in a DNS zone; it excludes ANY, transfers, meta/authentication types and recursive crawling.

The new generic object template is proposed in MISP/misp-objects#549 and bundled identically here for PyMISP compatibility. MISP administrators must import/update that template server-side. README and JSON documentation cover configuration, deployment and limitations.

Validation: 156 tests passed across tests/test_dns_query.py, tests/test_dns.py and tests/test_url_dns.py (82 new module tests). Includes a local UDP DNS server exercising real dnspython Answer/RRset parsing and EDNS DNSSEC OK. Strict PyMISP validation, upstream object schema, module discovery, Black, isort, flake8 and wheel build/content checks passed. Public DNS and deployment into a running MISP instance have not been tested.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-17T07:24:14.927329Z 534a9c1 PR opened
🔒 Security Review ✅ Completed 2026-10-17T07:28:14.541511Z 534a9c1 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@adulau
adulau merged commit 2f6329c into main Oct 17, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant