Subdomain Finder
How Tamperbox extracts DNS names from public Certificate Transparency observations and labels risky-looking names.
The tool page is tamperbox.dev/subdomain-finder. It opens with a deterministic local example; replace it to inspect your own target. This guide documents the actual input path, evidence contract, classifications and independent verification steps.
What the tool answers
Section titled “What the tool answers”The checker answers which names appear in a bounded Certificate Transparency result or pasted certificate-name set beneath a domain. Its conclusion is deliberately narrower than an ownership or security claim. A displayed provider, product, name or passing check means that the listed public evidence matched a documented rule at the observation time.
Every conclusion is paired with evidence. The opening verdict is a summary for orientation, while Findings contains the actionable interpretation and the later result sections retain the underlying records, addresses, fields or names. If a conclusion matters operationally, verify that evidence through an authoritative account or an independent standards-aware client before changing production.
Inputs
Section titled “Inputs”Accepted source
Section titled “Accepted source”Enter a bare domain for a live certificate-transparency search, or paste crt.sh JSON for local parsing. A JSON object is accepted as one row; arrays contain multiple rows. The parser reads name_value and common_name, and infers the most common final two-label suffix for pasted rows. That heuristic is not a public-suffix-aware ownership boundary. Plain text produces an informational result and can offer Heal it to retain extracted names without inventing dates or issuers.
Text files are read in the browser. The resulting input follows the same classification rules as the field; reading a file locally does not make a domain or public-IP lookup offline. Cleanup keeps an already accepted record intact and otherwise tries unwrapping a single-line address. Unusable text remains visible for correction.
When work runs
Section titled “When work runs”Domain input runs after a 600-millisecond typing pause. Enter runs it immediately; pasted records run immediately. Drops and page-wide paste use the same input loader. Leaving the field applies cleanup and reruns only when cleanup changes the text. Each edit aborts the previous request and increments a generation marker. A slower old response therefore cannot replace a newer result, and clearing the source immediately clears copyable output.
The opening input uses the same parser and processing path as a replacement. The reserved harbor-supply.example certificate rows are a local synthetic example and send no CT request.
Reading the result
Section titled “Reading the result”Verdict and privacy
Section titled “Verdict and privacy”The verdict states what the available evidence supports and uses pass, check, fail or informational status consistently. Pass means the bounded rule succeeded. Check means a human should confirm context. Fail means a concrete operational rule was violated. Info describes a limitation, absence or neutral fact and must not be promoted into success or failure by an automated reader.
Two privacy lines distinguish browser-only work from live lookup work. The Checked line names the cleaned input and source mode. Pending, error and empty states clear the previous evidence, so the report always belongs to the current completed lookup. The verdict leads directly into the findings; there is no separate whole-report export.
Findings and evidence
Section titled “Findings and evidence”Findings are ordered with failures first, then checks, informational notes and passes. Repeated passing details can fold into a disclosure so that exceptions remain visible. Each item states the observation and its consequence; any remediation is scoped to the evidence rather than presented as a universal configuration recipe.
Evidence sections follow Findings and precede History. They are the audit trail for the verdict. A provider label derived from a catalog remains an inference, while a literal record or response field remains an observation. This distinction matters when signatures are incomplete, white-labelled or stale.
History and handoffs
Section titled “History and handoffs”History records intentional input replacements, including Break it examples and their repairs. Revert restores the prior input and runs it again, including live requests when applicable; Reset input returns to the value at the beginning of the recorded sequence. History is not monitoring, persistence or an account log.
Check the rest opens related tools without carrying input. Take it further sends the first flagged name to the Website Hosting Checker, CDN and Proxy Detector or Website Technology Detector. No such links appear when there is no flagged name. These checks collect new evidence about that one name; they do not scan the entire certificate-name list. A receiving tool runs its own check; agreement is not guaranteed.
Result actions transfer their explicit derived values through temporary browser sessionStorage and, when needed, a same-origin browser channel. The URL fragment contains a random transfer token, not the input. Transfers are accepted for less than one minute, consumed once, and bound to the destination path. The destination removes the token from its address. Ordinary documentation links and direct visits do not restore a previous input; if transfer storage is unavailable, the link still opens the tool.
Method
Section titled “Method”Validation and collection
Section titled “Validation and collection”Before collection, the same domain validation runs in the browser and on the server boundary. Requests are restricted to supported public DNS names and HTTPS roots, redirects are bounded, response sizes are capped and abort signals are propagated. These limits make the observation reproducible and prevent an entered value from becoming an unrestricted network fetch.
Use the input modes above to determine which requests run. DNS evidence comes from a public recursive view and can reflect cache state. Local classification cannot add observations absent from the supplied evidence. A server lookup is a fresh observation, not confirmation that cached or pasted evidence is still current.
Classification rules
Section titled “Classification rules”Live mode requests a bounded CT-search representation and parses certificate name values. Pasted JSON uses the same shape; plain text is split locally. Names are lower-cased, wildcard prefixes are retained separately, invalid or unrelated names are discarded and exact duplicates are removed. RFC 9162 section 1 describes CT as a way to audit certificate issuance; it does not define a complete current inventory.
No confidence percentage is invented. When sources disagree, the disagreement is a finding. When a source is unavailable, the affected conclusion becomes informational or inconclusive rather than silently using a previous result. Catalog matches are exact bounded rules; unknown is a valid outcome.
Ordering and export
Section titled “Ordering and export”The renderer calculates all findings from the current observation before updating the verdict, chips, evidence and landing cards. Status priority is fail, check, info, pass. Stable secondary ordering keeps repeated runs readable without changing severity.
The Markdown mirror documents the tool’s method, findings and limitations in text form. It does not contain your entered input, live lookup results, browser state or expanded educational cards. Select the evidence you need from the current result when preparing a report. Agents should cite the observation time and limitation alongside any exported conclusion.
Standards and conformance
Section titled “Standards and conformance”Applied specifications
Section titled “Applied specifications”| Source | Rule used | Boundary |
|---|---|---|
| RFC 9162 section 1 | CT logs make certificate activity auditable | The tool consumes a search view, not every log directly |
| RFC 9162 section 2.1.1 | Logs accept certificate-chain submissions | Observed names can be historical |
| RFC 6125 section 6.4 | Wildcard identifiers have constrained matching semantics | Wildcards are displayed distinctly and never expanded into hosts |
| RFC 1034 section 4.3.2 | DNS existence is answered by current resolution | CT names are not resolved by this tool |
These references define the records and message semantics, not the provider catalogs. A catalog is product logic and can lag branding, acquisitions or custom deployments. Where a standard permits several valid configurations, the tool reports the observed form and avoids declaring one commercial pattern universally correct.
Where conformance stops
Section titled “Where conformance stops”The checker is an observer, not an authoritative DNS server, browser, certificate monitor, mail receiver or provider control plane. It does not claim protocol conformance for the target. It applies selected validation and interpretation rules to bounded evidence and exposes the boundary where a fuller protocol operation would begin.
The phrase “public” refers to the server’s Internet view. Private split-horizon answers, authenticated dashboards and regional routing can differ. Cached answers can remain until TTL expiry, and HTTP intermediaries can transform what the origin sent.
Finding reference
Section titled “Finding reference”Emitted findings
Section titled “Emitted findings”| Finding | Severity | Meaning | Repair or next check |
|---|---|---|---|
| Names found | Pass | Unique in-scope names were extracted | Resolve and verify a name before relying on it |
| Looks internal | Check | A label resembles admin, staging, dev, vpn or another sensitive role | Confirm exposure and certificate need with the owner |
| Wildcard observed | Info | A certificate identifier covers a label level | Do not assume every possible expanded name exists |
| Results truncated | Info | The configured limit was reached | Narrow the search or query logs independently |
| Broken JSON | Fail | Pasted structured input cannot be parsed | Export valid JSON or paste names as text |
| Expected crt.sh JSON | Info | Structured input had the wrong top-level shape | Supply an array containing name_value fields |
| No names found | Info | No usable in-scope name was extracted | Check the domain, source availability and other inventories |
Wording can include the observed name, count, provider or status. Automated consumers should use the supplied status and evidence rather than parsing the English title as a permanent identifier. A missing finding is not evidence that the corresponding external condition is absent when its source could not be collected.
Status handling
Section titled “Status handling”| Status | Consumer action | What not to infer |
|---|---|---|
| Pass | Preserve the evidence and continue normal review | Permanent correctness, ownership or availability |
| Check | Confirm intent and inspect the named evidence | Definite compromise or outage |
| Fail | Prioritise the concrete broken rule and verify independently | That every user sees the same failure |
| Info | Carry the limitation or neutral fact with the report | Success merely because no failure was emitted |
Verify independently
Section titled “Verify independently”Start with an authoritative or widely used command-line client. For DNS, use dig with the exact record type and compare every returned owner, target and TTL. Add +trace only when delegation matters; a trace and a recursive answer solve different questions. For HTTPS, use curl -I --location https://host/ and retain each hop and response field. For certificates, use an established TLS client and a CT monitor you trust.
Repeat from another network when geography or split routing could matter. Save the observation time and the original evidence before editing. After a DNS change, wait at least the prior TTL and then query both the intended authorities and independent recursive resolvers.
Repair safely
Section titled “Repair safely”Do not delete an unfamiliar record or reroute a public name merely because a catalog labels it. First identify the owning service, deployment repository or provider account. Confirm whether the item is current, a migration remnant, a failover path or a delegated responsibility. Make the smallest reversible change, keep the prior value, and have a rollback trigger.
Re-run this page after propagation, then verify the user-visible service. A clean public lookup cannot prove application health. Conversely, an informational unknown does not require a speculative change.
Diagnose conflicting evidence
Section titled “Diagnose conflicting evidence”When two signals disagree, ask whether they describe different layers: apex versus www, resolver cache versus authority, CDN edge versus origin, entered host versus redirected host, or certificate history versus current DNS. Compare literal evidence before comparing labels. The disagreement itself often reveals a migration or intermediary.
If a lookup fails, preserve the error and retry once. Repeated timeouts are not equivalent to empty data. Use the specialist tool linked by the finding for deeper parsing rather than converting an inconclusive aggregate result into a failure.
Break it and heal it
Section titled “Break it and heal it”The cards distinguish certificate rows from plain text or broken JSON. Names recovered from text have no inferred issuer or validity dates. A currently valid certificate in the supplied rows does not establish that the named service is online; wildcard coverage is not an enumeration of hosts.
The Break it controls create documented edge cases from the visitor’s own input or a reserved fixture. They are teaching states, not scans. Heal it restores a safe derived value when the repair is deterministic. Revert remains available when several changes have been made.
Use these cases to learn how invalid, missing, mixed or stale evidence appears before diagnosing production. The control never edits DNS, hosting, certificates or provider accounts.
Worked example
Section titled “Worked example”The opening fixture is harbor-supply.example, a reserved synthetic dataset. It always demonstrates ordinary, wildcard and internal-looking names without depending on a sometimes slow third-party CT search. Entering a real domain switches to the live lookup.
Read the example from verdict to Findings, then compare the literal evidence. Open one Break it case and use Heal it or Revert. Finally, replace the default with a domain you are authorised to assess. This sequence demonstrates both the successful path and the failure contract without implying that the named public domain endorses the tool.
For agents
Section titled “For agents”Agents can discover the subdomain_finder operation through Tamperbox MCP. The browser page id subdomain-finder is not the operation name. The server operation and browser renderer can expose different fields; inspect the operation schema before supplying arguments. Preserve the result’s distinction between observed evidence, catalog inference and limitation. State whether the run was live or pasted, include the cleaned target and observation time, and never turn “not found” into “does not exist” unless the method truly establishes that condition.
Choose a specialist operation when the task is narrow. Use this page’s report when its combined view or educational findings add value. Do not pass credentials, private hostnames or customer data into a public lookup. If a repair would change production, present the exact evidence, expected effect, propagation window and rollback before acting.
Machine readers should branch on status and structured fields where available, not English punctuation. Treat network and parse errors as inconclusive. Re-run after a meaningful interval rather than repeatedly polling a third-party source.
Limits
Section titled “Limits”CT records certificates, not present DNS or ownership. A name may be expired, revoked, transferred, private behind split DNS or never deployed. Not every certificate is necessarily visible through one search service, rate limits can interrupt live lookup, and wildcard entries cannot be enumerated into real hosts. No connection or port scan occurs.
All outputs are point-in-time observations. Resolver caching, negative caching, anycast, geo steering, redirects and intermittent upstream failures can change a later run. The service does not retain a monitoring history or notify on change. Local History is an interaction aid, not durable evidence.
No result grants permission to probe a target or modify it. Use authorised accounts and owner-approved procedures for deeper checks. Where business, security or legal decisions depend on attribution, obtain confirmation from the responsible provider or domain operator.
References
Section titled “References”- RFC 1034, Domain Names — Concepts and Facilities, especially section 4.3.2 for resolver behavior.
- RFC 1035, Domain Names — Implementation and Specification, especially section 3.2.1 for resource-record types and classes.
- RFC 9110, HTTP Semantics, especially section 3.7 for intermediaries and section 15 for status codes when HTTP evidence is collected.
- Tamperbox Subdomain Finder, the interactive tool and current Markdown mirror.