Skip to main content
Glama

Exposed Admin Page Check

exposure_map
Read-onlyIdempotent

Discover what an organisation exposes to the internet beyond its home page: subdomains, admin screens, VPN logins, staging servers. Use to assess attack surface or after a sector breach.

Instructions

Map what an organisation exposes to the internet beyond its home page: subdomains from Certificate Transparency logs (plus hosts DechoNet has already observed), each opened once from outside and sorted into developer/ops tools, directory listings, admin screens, VPN/remote-access logins, staging servers, default install pages, login pages and so on — the forgotten assets AI-driven attack tools look for first. Use this when a user wants to know their attack surface or after a breach in their sector. Returns counts per category, a verdict (bad/warn/ok) and what to do. Public view only: the per-host list and a sensitive-file check are shown to the verified domain owner on the web report (DNS TXT), never through this tool. Read-only and passive beyond a single first-page request per host; no logins or path guessing; requires no API key; rate-limited (heavier than other tools — up to ~1 minute).

Input Schema

NameRequiredDescriptionDefault
domainYesThe organisation's domain (e.g., 'example.co.kr'). Scheme, path and a leading www. are stripped.

Output Schema

NameRequiredDescriptionDefault
foundYes
countsYeshosts per category (devtool, api_docs, listing, admin, remote, staging, default_page, login, api, mail, web, …)
issuesYes
probedYes
statusYesbad | warn | ok | info
receiptsNoSigned observation receipts behind this result, one per lookup: when, from where and under which rules version DechoNet observed it. Each url shows the record and checks its Ed25519 signature.
reportUrlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.5.14
    • changedOutput schema / properties / counts / description
      Previous value: -"hosts per category (devtool, listing, admin, remote, staging, default_page, login, api, mail, web, …)"New value: +"hosts per category (devtool, api_docs, listing, admin, remote, staging, default_page, login, api, mail, web, …)"
    • addedOutput schema / properties / receipts
      Added value: +{
      +  "description": "Signed observation receipts behind this result, one per lookup: when, from where and under which rules version DechoNet observed it. Each url shows the record and checks its Ed25519 signature.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": "string"
      +      },
      +      "tool": {
      +        "type": "string"
      +      },
      +      "url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "tool",
      +      "id",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. Addedv1.3.1

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/openWorld/idempotent/non-destructive, and the description adds substantial non-obvious context: public view only, the per-host list and sensitive-file check gated behind DNS TXT ownership verification, passive behavior beyond one first-page request per host, no logins or path guessing, no API key, and a heavy rate limit (~1 minute). That is exactly the behavioral layer structured fields cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with the core action and scope, and dense with useful traits rather than filler. The single long sentence-plus-clause structure is heavy to parse, and a couple of framing phrases ('the forgotten assets AI-driven attack tools look for first') are color rather than load-bearing, but nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no elaboration, yet the description still orients the agent ('counts per category, a verdict, and what to do'). Combined with the verification gating, rate limit, and no-API-key notes, an agent has everything required to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage, and the schema already explains the domain format including the stripping of scheme/path/leading www. The description adds no syntax, format, or constraint information beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb (map), a specific resource (externally exposed assets beyond the home page), and an enumerated scope (subdomains from CT logs, categorized into dev/ops tools, admin screens, VPN logins, staging, etc.). It is clearly distinguishable from siblings like subdomain_discovery or impersonation_exposure by its categorization-and-verdict framing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states explicit trigger conditions: 'when a user wants to know their attack surface or after a breach in their sector.' That is clear when-to-use guidance, but it never names a sibling (e.g., subdomain_discovery, impersonation_exposure) as the alternative for narrower cases, so it stops short of full when/when-not routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.