Passive external attack-surface mapping: CT subdomains, DNS, TLS, HTTP posture, RDAP/WHOIS, Shodan via MCP. STDIO or Streamable HTTP.
Drift inferred · capture-to-capture
tool count over time
06-13 18:40 now
10t
10t
transport stdio · streamable-http · http
verified
reported
listed in the official MCP registry counts 8 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
attacksurface_enumerate_subdomains
-
attacksurface_inspect_tls
-
attacksurface_lookup_host
-
attacksurface_lookup_registration
-
attacksurface_map_domain
-
attacksurface_probe_http
-
attacksurface_recon_guidance
-
attacksurface_resolve_dns
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 8b852d5 · analyzer v33 · 9h ago
skills & prompt files 34
- agent-rules cyanheads-attack-surface-mcp-server-8b852d5/AGENTS.md
- agent-rules cyanheads-attack-surface-mcp-server-8b852d5/CLAUDE.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/add-app-tool/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/add-prompt/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/add-resource/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/add-service/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/add-test/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/add-tool/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/api-auth/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/api-canvas/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/api-config/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/api-context/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/api-errors/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/api-linter/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/api-mirror/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/api-services/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/api-telemetry/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/api-testing/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/api-utils/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/api-workers/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/code-simplifier/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/design-mcp-server/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/field-test/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/git-wrapup/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/maintenance/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/orchestrations/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/polish-docs-meta/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/release-and-publish/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/report-issue-framework/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/report-issue-local/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/security-pass/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/setup/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/techniques/SKILL.md
- skill cyanheads-attack-surface-mcp-server-8b852d5/skills/tool-defs-analysis/SKILL.md
danger signals2
- suspicious endpoint 169.254.169.254 (cloud metadata) cyanheads-attack-surface-mcp-server-8b852d5/src/utils/ssrf-guard.test.ts :116
await expect(assertSafeUrl('http://169.254.169.254/latest/meta-data')).rejects.toThrow( - suspicious endpoint 8.8.8.8 cyanheads-attack-surface-mcp-server-8b852d5/src/utils/ssrf-guard.test.ts :122
await expect(assertSafeUrl('https://8.8.8.8/')).resolves.toBeUndefined();
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 71
filesystem 15
- fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/build-changelog.ts :32
import { existsSync, readdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/build.ts :17
import { readFileSync } from 'node:fs'; - fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/check-dependency-specifiers.ts :38
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/check-docs-sync.ts :22
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/check-framework-antipatterns.ts :39
import { existsSync } from 'node:fs'; - fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/check-skill-versions.ts :33
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/check-skills-sync.ts :37
import { existsSync, readdirSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/clean-mcpb.ts :29
import { existsSync, statSync } from 'node:fs'; - fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/clean.ts :15
import { readdir, rm } from 'node:fs/promises'; - fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/devcheck.ts :3
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/lint-mcp.ts :19
import { existsSync, readdirSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/lint-packaging.ts :52
import { existsSync, readdirSync, readFileSync } from 'node:fs';
show 3 more
- fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/list-skills.ts :21
import { existsSync } from 'node:fs'; - fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/release-github.ts :33
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/tree.ts :24
import type { Dirent } from 'node:fs';
shell / exec 7
- shell (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/build.ts :16
import { execFile } from 'node:child_process'; - shell (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/check-framework-antipatterns.ts :38
import { spawnSync } from 'node:child_process'; - shell (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/check-skill-versions.ts :32
import { spawnSync } from 'node:child_process'; - shell (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/clean-mcpb.ts :28
import { execFileSync } from 'node:child_process'; - shell (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/devcheck.ts :2
import { type ChildProcess, spawn, spawnSync } from 'node:child_process'; - shell (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/lint-packaging.ts :51
import { execFileSync } from 'node:child_process'; - shell (weak) cyanheads-attack-surface-mcp-server-8b852d5/scripts/release-github.ts :32
import { spawnSync } from 'node:child_process';
network 3
- net cyanheads-attack-surface-mcp-server-8b852d5/src/services/http/http-service.ts :128
response = await fetch(currentUrl, { - net cyanheads-attack-surface-mcp-server-8b852d5/src/services/registration/registration-service.ts :12
import * as net from 'node:net'; - net cyanheads-attack-surface-mcp-server-8b852d5/src/utils/validation.ts :8
import { isIP } from 'node:net';
tool registrations 8
- attacksurface_enumerate_subdomains cyanheads-attack-surface-mcp-server-8b852d5/src/mcp-server/tools/definitions/enumerate-subdomains.tool.ts :61
- attacksurface_inspect_tls cyanheads-attack-surface-mcp-server-8b852d5/src/mcp-server/tools/definitions/inspect-tls.tool.ts :62
- attacksurface_lookup_host cyanheads-attack-surface-mcp-server-8b852d5/src/mcp-server/tools/definitions/lookup-host.tool.ts :63
- attacksurface_lookup_registration cyanheads-attack-surface-mcp-server-8b852d5/src/mcp-server/tools/definitions/lookup-registration.tool.ts :55
- attacksurface_map_domain cyanheads-attack-surface-mcp-server-8b852d5/src/mcp-server/tools/definitions/map-domain.tool.ts :87
- attacksurface_probe_http cyanheads-attack-surface-mcp-server-8b852d5/src/mcp-server/tools/definitions/probe-http.tool.ts :62
- attacksurface_recon_guidance cyanheads-attack-surface-mcp-server-8b852d5/src/mcp-server/tools/definitions/recon-guidance.tool.ts :56
- attacksurface_resolve_dns cyanheads-attack-surface-mcp-server-8b852d5/src/mcp-server/tools/definitions/resolve-dns.tool.ts :61
declared dependencies 13
- @cyanheads/mcp-ts-core@^0.12.3
- pino-pretty@^13.1.3
- zod@^4.4.3
- @biomejs/biome@2.5.11
- @socketsecurity/bun-security-scanner@^1.1.2
- @types/node@^26.4.0
- @vitest/coverage-istanbul@4.1.11
- depcheck@^1.4.7
- fast-check@^4.9.0
- ignore@^7.0.6
- tsc-alias@^1.9.2
- typescript@^7.0.2
show 1 more
- vitest@^4.1.11