fingerprint-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/LICENSE +663 -0
  2. package/README.ar.md +767 -0
  3. package/README.bn.md +767 -0
  4. package/README.bs.md +767 -0
  5. package/README.da.md +767 -0
  6. package/README.de.md +770 -0
  7. package/README.el.md +767 -0
  8. package/README.es.md +769 -0
  9. package/README.fr.md +769 -0
  10. package/README.hi.md +767 -0
  11. package/README.it.md +767 -0
  12. package/README.ja.md +767 -0
  13. package/README.ko.md +772 -0
  14. package/README.md +767 -0
  15. package/README.no.md +767 -0
  16. package/README.pl.md +767 -0
  17. package/README.pt-BR.md +767 -0
  18. package/README.ru.md +767 -0
  19. package/README.th.md +767 -0
  20. package/README.tr.md +767 -0
  21. package/README.uk.md +767 -0
  22. package/README.vi.md +767 -0
  23. package/README.zh-TW.md +768 -0
  24. package/README.zh.md +768 -0
  25. package/dist/app/index.d.ts +3 -0
  26. package/dist/app/index.d.ts.map +1 -0
  27. package/dist/app/index.js +614 -0
  28. package/dist/app/index.js.map +1 -0
  29. package/dist/composite/analyze.d.ts +3 -0
  30. package/dist/composite/analyze.d.ts.map +1 -0
  31. package/dist/composite/analyze.js +59 -0
  32. package/dist/composite/analyze.js.map +1 -0
  33. package/dist/composite/correlate.d.ts +3 -0
  34. package/dist/composite/correlate.d.ts.map +1 -0
  35. package/dist/composite/correlate.js +184 -0
  36. package/dist/composite/correlate.js.map +1 -0
  37. package/dist/composite/enumerate.d.ts +3 -0
  38. package/dist/composite/enumerate.d.ts.map +1 -0
  39. package/dist/composite/enumerate.js +94 -0
  40. package/dist/composite/enumerate.js.map +1 -0
  41. package/dist/composite/helpers.d.ts +22 -0
  42. package/dist/composite/helpers.d.ts.map +1 -0
  43. package/dist/composite/helpers.js +111 -0
  44. package/dist/composite/helpers.js.map +1 -0
  45. package/dist/composite/index.d.ts +3 -0
  46. package/dist/composite/index.d.ts.map +1 -0
  47. package/dist/composite/index.js +29 -0
  48. package/dist/composite/index.js.map +1 -0
  49. package/dist/composite/meta.d.ts +3 -0
  50. package/dist/composite/meta.d.ts.map +1 -0
  51. package/dist/composite/meta.js +23 -0
  52. package/dist/composite/meta.js.map +1 -0
  53. package/dist/composite/osint.d.ts +3 -0
  54. package/dist/composite/osint.d.ts.map +1 -0
  55. package/dist/composite/osint.js +40 -0
  56. package/dist/composite/osint.js.map +1 -0
  57. package/dist/composite/recon.d.ts +3 -0
  58. package/dist/composite/recon.d.ts.map +1 -0
  59. package/dist/composite/recon.js +131 -0
  60. package/dist/composite/recon.js.map +1 -0
  61. package/dist/composite/scan-dns.d.ts +3 -0
  62. package/dist/composite/scan-dns.d.ts.map +1 -0
  63. package/dist/composite/scan-dns.js +44 -0
  64. package/dist/composite/scan-dns.js.map +1 -0
  65. package/dist/composite/scan-http.d.ts +3 -0
  66. package/dist/composite/scan-http.d.ts.map +1 -0
  67. package/dist/composite/scan-http.js +68 -0
  68. package/dist/composite/scan-http.js.map +1 -0
  69. package/dist/composite/scan-paths.d.ts +3 -0
  70. package/dist/composite/scan-paths.d.ts.map +1 -0
  71. package/dist/composite/scan-paths.js +32 -0
  72. package/dist/composite/scan-paths.js.map +1 -0
  73. package/dist/composite/scan-ports.d.ts +3 -0
  74. package/dist/composite/scan-ports.d.ts.map +1 -0
  75. package/dist/composite/scan-ports.js +79 -0
  76. package/dist/composite/scan-ports.js.map +1 -0
  77. package/dist/composite/scan-services.d.ts +3 -0
  78. package/dist/composite/scan-services.d.ts.map +1 -0
  79. package/dist/composite/scan-services.js +111 -0
  80. package/dist/composite/scan-services.js.map +1 -0
  81. package/dist/composite/scan-tls.d.ts +3 -0
  82. package/dist/composite/scan-tls.d.ts.map +1 -0
  83. package/dist/composite/scan-tls.js +32 -0
  84. package/dist/composite/scan-tls.js.map +1 -0
  85. package/dist/composite/scan-waf.d.ts +3 -0
  86. package/dist/composite/scan-waf.d.ts.map +1 -0
  87. package/dist/composite/scan-waf.js +35 -0
  88. package/dist/composite/scan-waf.js.map +1 -0
  89. package/dist/correlation/index.d.ts +3 -0
  90. package/dist/correlation/index.d.ts.map +1 -0
  91. package/dist/correlation/index.js +1044 -0
  92. package/dist/correlation/index.js.map +1 -0
  93. package/dist/data/analytics-patterns.d.ts +21 -0
  94. package/dist/data/analytics-patterns.d.ts.map +1 -0
  95. package/dist/data/analytics-patterns.js +449 -0
  96. package/dist/data/analytics-patterns.js.map +1 -0
  97. package/dist/data/app-signatures.d.ts +52 -0
  98. package/dist/data/app-signatures.d.ts.map +1 -0
  99. package/dist/data/app-signatures.js +1143 -0
  100. package/dist/data/app-signatures.js.map +1 -0
  101. package/dist/data/c2-signatures.d.ts +54 -0
  102. package/dist/data/c2-signatures.d.ts.map +1 -0
  103. package/dist/data/c2-signatures.js +256 -0
  104. package/dist/data/c2-signatures.js.map +1 -0
  105. package/dist/data/cloud-ranges.d.ts +34 -0
  106. package/dist/data/cloud-ranges.d.ts.map +1 -0
  107. package/dist/data/cloud-ranges.js +628 -0
  108. package/dist/data/cloud-ranges.js.map +1 -0
  109. package/dist/data/cookie-patterns.d.ts +28 -0
  110. package/dist/data/cookie-patterns.d.ts.map +1 -0
  111. package/dist/data/cookie-patterns.js +225 -0
  112. package/dist/data/cookie-patterns.js.map +1 -0
  113. package/dist/data/error-signatures.d.ts +19 -0
  114. package/dist/data/error-signatures.d.ts.map +1 -0
  115. package/dist/data/error-signatures.js +321 -0
  116. package/dist/data/error-signatures.js.map +1 -0
  117. package/dist/data/favicon-hashes.d.ts +25 -0
  118. package/dist/data/favicon-hashes.d.ts.map +1 -0
  119. package/dist/data/favicon-hashes.js +249 -0
  120. package/dist/data/favicon-hashes.js.map +1 -0
  121. package/dist/data/h2-signatures.d.ts +50 -0
  122. package/dist/data/h2-signatures.d.ts.map +1 -0
  123. package/dist/data/h2-signatures.js +211 -0
  124. package/dist/data/h2-signatures.js.map +1 -0
  125. package/dist/data/header-order.d.ts +38 -0
  126. package/dist/data/header-order.d.ts.map +1 -0
  127. package/dist/data/header-order.js +185 -0
  128. package/dist/data/header-order.js.map +1 -0
  129. package/dist/data/jarm-signatures.d.ts +25 -0
  130. package/dist/data/jarm-signatures.d.ts.map +1 -0
  131. package/dist/data/jarm-signatures.js +213 -0
  132. package/dist/data/jarm-signatures.js.map +1 -0
  133. package/dist/data/saas-patterns.d.ts +23 -0
  134. package/dist/data/saas-patterns.d.ts.map +1 -0
  135. package/dist/data/saas-patterns.js +139 -0
  136. package/dist/data/saas-patterns.js.map +1 -0
  137. package/dist/data/sensitive-paths.d.ts +12 -0
  138. package/dist/data/sensitive-paths.d.ts.map +1 -0
  139. package/dist/data/sensitive-paths.js +1539 -0
  140. package/dist/data/sensitive-paths.js.map +1 -0
  141. package/dist/data/service-banners.d.ts +59 -0
  142. package/dist/data/service-banners.d.ts.map +1 -0
  143. package/dist/data/service-banners.js +323 -0
  144. package/dist/data/service-banners.js.map +1 -0
  145. package/dist/data/smtp-signatures.d.ts +12 -0
  146. package/dist/data/smtp-signatures.d.ts.map +1 -0
  147. package/dist/data/smtp-signatures.js +350 -0
  148. package/dist/data/smtp-signatures.js.map +1 -0
  149. package/dist/data/takeover-patterns.d.ts +37 -0
  150. package/dist/data/takeover-patterns.d.ts.map +1 -0
  151. package/dist/data/takeover-patterns.js +249 -0
  152. package/dist/data/takeover-patterns.js.map +1 -0
  153. package/dist/data/tech-patterns.d.ts +44 -0
  154. package/dist/data/tech-patterns.d.ts.map +1 -0
  155. package/dist/data/tech-patterns.js +690 -0
  156. package/dist/data/tech-patterns.js.map +1 -0
  157. package/dist/data/waf-signatures.d.ts +21 -0
  158. package/dist/data/waf-signatures.d.ts.map +1 -0
  159. package/dist/data/waf-signatures.js +318 -0
  160. package/dist/data/waf-signatures.js.map +1 -0
  161. package/dist/dns/index.d.ts +3 -0
  162. package/dist/dns/index.d.ts.map +1 -0
  163. package/dist/dns/index.js +1067 -0
  164. package/dist/dns/index.js.map +1 -0
  165. package/dist/enum/index.d.ts +3 -0
  166. package/dist/enum/index.d.ts.map +1 -0
  167. package/dist/enum/index.js +818 -0
  168. package/dist/enum/index.js.map +1 -0
  169. package/dist/h2/index.d.ts +3 -0
  170. package/dist/h2/index.d.ts.map +1 -0
  171. package/dist/h2/index.js +414 -0
  172. package/dist/h2/index.js.map +1 -0
  173. package/dist/http/index.d.ts +3 -0
  174. package/dist/http/index.d.ts.map +1 -0
  175. package/dist/http/index.js +2444 -0
  176. package/dist/http/index.js.map +1 -0
  177. package/dist/identify/index.d.ts +3 -0
  178. package/dist/identify/index.d.ts.map +1 -0
  179. package/dist/identify/index.js +447 -0
  180. package/dist/identify/index.js.map +1 -0
  181. package/dist/index.d.ts +3 -0
  182. package/dist/index.d.ts.map +1 -0
  183. package/dist/index.js +165 -0
  184. package/dist/index.js.map +1 -0
  185. package/dist/infra/index.d.ts +3 -0
  186. package/dist/infra/index.d.ts.map +1 -0
  187. package/dist/infra/index.js +989 -0
  188. package/dist/infra/index.js.map +1 -0
  189. package/dist/iot/index.d.ts +3 -0
  190. package/dist/iot/index.d.ts.map +1 -0
  191. package/dist/iot/index.js +610 -0
  192. package/dist/iot/index.js.map +1 -0
  193. package/dist/meta/index.d.ts +3 -0
  194. package/dist/meta/index.d.ts.map +1 -0
  195. package/dist/meta/index.js +442 -0
  196. package/dist/meta/index.js.map +1 -0
  197. package/dist/osint/index.d.ts +3 -0
  198. package/dist/osint/index.d.ts.map +1 -0
  199. package/dist/osint/index.js +687 -0
  200. package/dist/osint/index.js.map +1 -0
  201. package/dist/passive/index.d.ts +3 -0
  202. package/dist/passive/index.d.ts.map +1 -0
  203. package/dist/passive/index.js +944 -0
  204. package/dist/passive/index.js.map +1 -0
  205. package/dist/path/index.d.ts +3 -0
  206. package/dist/path/index.d.ts.map +1 -0
  207. package/dist/path/index.js +878 -0
  208. package/dist/path/index.js.map +1 -0
  209. package/dist/protocol/mcp-server.d.ts +4 -0
  210. package/dist/protocol/mcp-server.d.ts.map +1 -0
  211. package/dist/protocol/mcp-server.js +32 -0
  212. package/dist/protocol/mcp-server.js.map +1 -0
  213. package/dist/protocol/tools.d.ts +3 -0
  214. package/dist/protocol/tools.d.ts.map +1 -0
  215. package/dist/protocol/tools.js +5 -0
  216. package/dist/protocol/tools.js.map +1 -0
  217. package/dist/service/index.d.ts +3 -0
  218. package/dist/service/index.d.ts.map +1 -0
  219. package/dist/service/index.js +1053 -0
  220. package/dist/service/index.js.map +1 -0
  221. package/dist/smtp/index.d.ts +3 -0
  222. package/dist/smtp/index.d.ts.map +1 -0
  223. package/dist/smtp/index.js +437 -0
  224. package/dist/smtp/index.js.map +1 -0
  225. package/dist/ssh/index.d.ts +3 -0
  226. package/dist/ssh/index.d.ts.map +1 -0
  227. package/dist/ssh/index.js +676 -0
  228. package/dist/ssh/index.js.map +1 -0
  229. package/dist/tcp/index.d.ts +3 -0
  230. package/dist/tcp/index.d.ts.map +1 -0
  231. package/dist/tcp/index.js +369 -0
  232. package/dist/tcp/index.js.map +1 -0
  233. package/dist/timing/index.d.ts +3 -0
  234. package/dist/timing/index.d.ts.map +1 -0
  235. package/dist/timing/index.js +425 -0
  236. package/dist/timing/index.js.map +1 -0
  237. package/dist/tls/index.d.ts +3 -0
  238. package/dist/tls/index.d.ts.map +1 -0
  239. package/dist/tls/index.js +1332 -0
  240. package/dist/tls/index.js.map +1 -0
  241. package/dist/types/index.d.ts +26 -0
  242. package/dist/types/index.d.ts.map +1 -0
  243. package/dist/types/index.js +8 -0
  244. package/dist/types/index.js.map +1 -0
  245. package/dist/utils/cache.d.ts +11 -0
  246. package/dist/utils/cache.d.ts.map +1 -0
  247. package/dist/utils/cache.js +35 -0
  248. package/dist/utils/cache.js.map +1 -0
  249. package/dist/utils/murmurhash3.d.ts +3 -0
  250. package/dist/utils/murmurhash3.d.ts.map +1 -0
  251. package/dist/utils/murmurhash3.js +57 -0
  252. package/dist/utils/murmurhash3.js.map +1 -0
  253. package/dist/utils/rate-limiter.d.ts +10 -0
  254. package/dist/utils/rate-limiter.d.ts.map +1 -0
  255. package/dist/utils/rate-limiter.js +35 -0
  256. package/dist/utils/rate-limiter.js.map +1 -0
  257. package/dist/utils/require-key.d.ts +2 -0
  258. package/dist/utils/require-key.d.ts.map +1 -0
  259. package/dist/utils/require-key.js +8 -0
  260. package/dist/utils/require-key.js.map +1 -0
  261. package/dist/waf/index.d.ts +3 -0
  262. package/dist/waf/index.d.ts.map +1 -0
  263. package/dist/waf/index.js +767 -0
  264. package/dist/waf/index.js.map +1 -0
  265. package/dist/web/index.d.ts +3 -0
  266. package/dist/web/index.d.ts.map +1 -0
  267. package/dist/web/index.js +1366 -0
  268. package/dist/web/index.js.map +1 -0
  269. package/package.json +66 -0
@@ -0,0 +1,442 @@
1
+ import { z } from "zod";
2
+ import { json } from "../types/index.js";
3
+ const PROVIDER_CATALOG = [
4
+ {
5
+ name: "tcp",
6
+ description: "TCP connection fingerprinting: port probing, SYN-ACK latency measurement, and banner grabbing with protocol auto-detection.",
7
+ prefix: "tcp_",
8
+ toolCount: 2,
9
+ tools: [
10
+ { name: "tcp_probe", description: "Connect to target port(s), measure latency, detect load balancing" },
11
+ { name: "tcp_banner", description: "Banner grab on arbitrary TCP port with protocol auto-detection" },
12
+ ],
13
+ requiresApiKey: false,
14
+ makesNetworkCalls: true,
15
+ category: "active",
16
+ },
17
+ {
18
+ name: "tls",
19
+ description: "TLS/SSL fingerprinting: JARM hashing, JA4X extraction, certificate analysis, cipher enumeration, CT log queries, and SNI probing.",
20
+ prefix: "tls_",
21
+ toolCount: 8,
22
+ tools: [
23
+ { name: "tls_probe", description: "Full TLS handshake analysis with version and cipher details" },
24
+ { name: "tls_jarm", description: "JARM fingerprint generation for TLS server identification" },
25
+ { name: "tls_cert", description: "Certificate chain extraction and analysis" },
26
+ { name: "tls_ja4x", description: "JA4X fingerprint extraction from TLS handshake" },
27
+ { name: "tls_cert_cross_ref", description: "Cross-reference certificate across CT logs and search engines" },
28
+ { name: "tls_ct_subdomains", description: "Subdomain discovery via Certificate Transparency logs" },
29
+ { name: "tls_ciphers", description: "Enumerate supported cipher suites and detect weak configurations" },
30
+ { name: "tls_sni", description: "SNI-based virtual host detection" },
31
+ ],
32
+ requiresApiKey: false,
33
+ makesNetworkCalls: true,
34
+ category: "active",
35
+ },
36
+ {
37
+ name: "ssh",
38
+ description: "SSH fingerprinting: banner extraction, host key lookup, HASSH computation, and algorithm audit.",
39
+ prefix: "ssh_",
40
+ toolCount: 3,
41
+ tools: [
42
+ { name: "ssh_probe", description: "SSH banner grab, HASSH fingerprint, and algorithm enumeration" },
43
+ { name: "ssh_hostkey_lookup", description: "Look up SSH host key fingerprint in known databases" },
44
+ { name: "ssh_audit", description: "Audit SSH configuration for security issues" },
45
+ ],
46
+ requiresApiKey: false,
47
+ makesNetworkCalls: true,
48
+ category: "active",
49
+ },
50
+ {
51
+ name: "http",
52
+ description: "HTTP fingerprinting: headers, favicon hash, ETag analysis, error pages, cookies, methods, CORS, compression, caching, security headers, timing, and more.",
53
+ prefix: "http",
54
+ toolCount: 17,
55
+ tools: [
56
+ { name: "httpHeaders", description: "Fetch and analyze HTTP response headers" },
57
+ { name: "httpMultiFingerprint", description: "Multi-signal HTTP fingerprinting in a single request" },
58
+ { name: "httpFavicon", description: "Fetch favicon and compute MurmurHash3 for Shodan lookups" },
59
+ { name: "httpEtag", description: "ETag header analysis for backend identification" },
60
+ { name: "httpErrors", description: "Trigger error pages to identify backend frameworks" },
61
+ { name: "httpCookies", description: "Analyze cookies for technology and session management detection" },
62
+ { name: "httpMethods", description: "Enumerate allowed HTTP methods" },
63
+ { name: "httpCors", description: "Test CORS configuration and detect misconfigurations" },
64
+ { name: "httpCompression", description: "Detect supported compression algorithms" },
65
+ { name: "httpCache", description: "Analyze caching headers and CDN behavior" },
66
+ { name: "httpSecurity", description: "Evaluate security headers (CSP, HSTS, X-Frame-Options, etc.)" },
67
+ { name: "httpTiming", description: "Measure HTTP response timing for server profiling" },
68
+ { name: "httpServerTiming", description: "Parse Server-Timing header for backend performance data" },
69
+ { name: "httpResourceHints", description: "Extract preload/prefetch/preconnect resource hints" },
70
+ { name: "httpKeepalive", description: "Test HTTP keep-alive behavior and connection reuse" },
71
+ { name: "httpNel", description: "Parse Network Error Logging (NEL) configuration" },
72
+ { name: "httpRedirect", description: "Follow and analyze HTTP redirect chains" },
73
+ ],
74
+ requiresApiKey: false,
75
+ makesNetworkCalls: true,
76
+ category: "active",
77
+ },
78
+ {
79
+ name: "web",
80
+ description: "Web technology fingerprinting: tech stack detection, source map analysis, WebSocket probing, API discovery, GraphQL introspection, vhost enumeration, analytics IDs, and SRI checks.",
81
+ prefix: "web_",
82
+ toolCount: 9,
83
+ tools: [
84
+ { name: "web_tech", description: "Detect web technologies from HTML, headers, and scripts" },
85
+ { name: "web_sourcemaps", description: "Find and analyze JavaScript source maps" },
86
+ { name: "web_websocket", description: "Detect and probe WebSocket endpoints" },
87
+ { name: "web_api_discovery", description: "Discover API endpoints from HTML, JS, and common paths" },
88
+ { name: "web_graphql", description: "Detect GraphQL endpoints and attempt introspection" },
89
+ { name: "web_vhost", description: "Virtual host enumeration via Host header manipulation" },
90
+ { name: "web_sourcemap_paths", description: "Extract file paths from source maps for recon" },
91
+ { name: "web_analytics", description: "Extract analytics and tracking IDs (GA, GTM, FB Pixel)" },
92
+ { name: "web_sri", description: "Check Subresource Integrity (SRI) on external resources" },
93
+ ],
94
+ requiresApiKey: false,
95
+ makesNetworkCalls: true,
96
+ category: "active",
97
+ },
98
+ {
99
+ name: "path",
100
+ description: "Path-based reconnaissance: sensitive file discovery, robots.txt parsing, Git leak detection, debug endpoint probing, and API version enumeration.",
101
+ prefix: "path_",
102
+ toolCount: 5,
103
+ tools: [
104
+ { name: "path_sensitive", description: "Probe for sensitive files and directories" },
105
+ { name: "path_robots", description: "Parse robots.txt for hidden paths and disallowed routes" },
106
+ { name: "path_git_leak", description: "Detect exposed .git directories and extract metadata" },
107
+ { name: "path_debug", description: "Probe for debug endpoints (phpinfo, server-status, etc.)" },
108
+ { name: "path_api_version", description: "Enumerate API versions from URL patterns" },
109
+ ],
110
+ requiresApiKey: false,
111
+ makesNetworkCalls: true,
112
+ category: "active",
113
+ },
114
+ {
115
+ name: "dns",
116
+ description: "DNS fingerprinting: email security records (SPF/DKIM/DMARC), SaaS detection, subdomain takeover checks, DNS server fingerprinting, reverse DNS, and MTA-STS.",
117
+ prefix: "dns_",
118
+ toolCount: 7,
119
+ tools: [
120
+ { name: "dns_email", description: "Analyze SPF, DKIM, and DMARC records for email security posture" },
121
+ { name: "dns_saas", description: "Detect SaaS services from CNAME and TXT records" },
122
+ { name: "dns_takeover", description: "Check for dangling CNAMEs vulnerable to subdomain takeover" },
123
+ { name: "dns_server_fp", description: "Fingerprint DNS server software and version" },
124
+ { name: "dns_records", description: "Comprehensive DNS record enumeration (A, AAAA, MX, NS, TXT, etc.)" },
125
+ { name: "dns_reverse", description: "Reverse DNS lookup for IP addresses" },
126
+ { name: "dns_mta_sts", description: "Check MTA-STS policy for email transport security" },
127
+ ],
128
+ requiresApiKey: false,
129
+ makesNetworkCalls: true,
130
+ category: "active",
131
+ },
132
+ {
133
+ name: "waf",
134
+ description: "WAF and CDN detection: WAF vendor identification, CDN detection, origin IP discovery behind CDN/WAF, and WAF rule fingerprinting.",
135
+ prefix: "waf_",
136
+ toolCount: 4,
137
+ tools: [
138
+ { name: "waf_detect", description: "Detect WAF vendor from response headers and behavior" },
139
+ { name: "waf_cdn_detect", description: "Identify CDN provider from headers, IPs, and DNS" },
140
+ { name: "waf_origin", description: "Attempt to discover origin IP behind CDN/WAF" },
141
+ { name: "waf_fingerprint", description: "Fingerprint WAF rules and evasion characteristics" },
142
+ ],
143
+ requiresApiKey: false,
144
+ makesNetworkCalls: true,
145
+ category: "active",
146
+ },
147
+ {
148
+ name: "timing",
149
+ description: "Timing-based fingerprinting: baseline latency measurement and timing-based authentication detection.",
150
+ prefix: "timing_",
151
+ toolCount: 2,
152
+ tools: [
153
+ { name: "timing_baseline", description: "Measure baseline response timing across multiple requests" },
154
+ { name: "timing_auth", description: "Detect authentication mechanisms via timing differences" },
155
+ ],
156
+ requiresApiKey: false,
157
+ makesNetworkCalls: true,
158
+ category: "active",
159
+ },
160
+ {
161
+ name: "h2",
162
+ description: "HTTP/2 fingerprinting: server fingerprinting via HTTP/2 settings, HTTP/2 support detection, and GOAWAY frame analysis.",
163
+ prefix: "h2_",
164
+ toolCount: 3,
165
+ tools: [
166
+ { name: "h2_server_fp", description: "Fingerprint server via HTTP/2 SETTINGS and WINDOW_UPDATE frames" },
167
+ { name: "h2_detect", description: "Detect HTTP/2 and HTTP/3 support via ALPN" },
168
+ { name: "h2_goaway", description: "Analyze HTTP/2 GOAWAY frames for server behavior profiling" },
169
+ ],
170
+ requiresApiKey: false,
171
+ makesNetworkCalls: true,
172
+ category: "active",
173
+ },
174
+ {
175
+ name: "smtp",
176
+ description: "SMTP fingerprinting: mail server banner grab and STARTTLS analysis.",
177
+ prefix: "smtp_",
178
+ toolCount: 2,
179
+ tools: [
180
+ { name: "smtp_probe", description: "SMTP banner grab with EHLO capability enumeration" },
181
+ { name: "smtp_tls", description: "Test STARTTLS support and certificate on mail servers" },
182
+ ],
183
+ requiresApiKey: false,
184
+ makesNetworkCalls: true,
185
+ category: "active",
186
+ },
187
+ {
188
+ name: "iot",
189
+ description: "IoT device fingerprinting: common IoT protocol probing and MAC address OUI vendor lookup.",
190
+ prefix: "iot_",
191
+ toolCount: 2,
192
+ tools: [
193
+ { name: "iot_probe", description: "Probe common IoT protocols (UPnP, mDNS, MQTT, CoAP)" },
194
+ { name: "iot_mac_lookup", description: "MAC address OUI vendor lookup" },
195
+ ],
196
+ requiresApiKey: false,
197
+ makesNetworkCalls: true,
198
+ category: "active",
199
+ },
200
+ {
201
+ name: "app",
202
+ description: "Application-layer fingerprinting: CMS detection, e-commerce platform identification, and web framework detection.",
203
+ prefix: "app_",
204
+ toolCount: 3,
205
+ tools: [
206
+ { name: "app_cms", description: "Detect CMS (WordPress, Drupal, Joomla, etc.) with version" },
207
+ { name: "app_ecommerce", description: "Identify e-commerce platforms (Shopify, Magento, WooCommerce)" },
208
+ { name: "app_framework", description: "Detect web frameworks (Laravel, Django, Rails, Spring, etc.)" },
209
+ ],
210
+ requiresApiKey: false,
211
+ makesNetworkCalls: true,
212
+ category: "active",
213
+ },
214
+ {
215
+ name: "service",
216
+ description: "Service-specific probes: MySQL, PostgreSQL, Redis, FTP, and VNC/RDP detection and banner analysis.",
217
+ prefix: "svc_",
218
+ toolCount: 5,
219
+ tools: [
220
+ { name: "svc_mysql_probe", description: "MySQL server greeting analysis and version detection" },
221
+ { name: "svc_postgres_probe", description: "PostgreSQL server version and authentication detection" },
222
+ { name: "svc_redis_probe", description: "Redis server info extraction and configuration analysis" },
223
+ { name: "svc_ftp_probe", description: "FTP banner grab and feature enumeration" },
224
+ { name: "svc_vnc_rdp_detect", description: "Detect VNC and RDP services with version info" },
225
+ ],
226
+ requiresApiKey: false,
227
+ makesNetworkCalls: true,
228
+ category: "active",
229
+ },
230
+ {
231
+ name: "correlation",
232
+ description: "Cross-layer correlation and analysis: consistency validation, honeypot detection, spoofing detection, profile comparison, and infrastructure topology mapping.",
233
+ prefix: "fp_",
234
+ toolCount: 5,
235
+ tools: [
236
+ { name: "fp_correlate", description: "Cross-layer consistency validation across fingerprint signals" },
237
+ { name: "fp_honeypot", description: "Honeypot probability scoring from service scan results" },
238
+ { name: "fp_spoofing", description: "Detect server identity spoofing via cross-signal analysis" },
239
+ { name: "fp_compare", description: "Compare two fingerprint profiles and report differences" },
240
+ { name: "fp_topology", description: "Reconstruct infrastructure topology from collected data" },
241
+ ],
242
+ requiresApiKey: false,
243
+ makesNetworkCalls: false,
244
+ category: "analysis",
245
+ },
246
+ {
247
+ name: "identify",
248
+ description: "Fingerprint identification: hash lookup in signature databases (JARM, favicon, HASSH, header order), C2 framework detection, and signature listing.",
249
+ prefix: "fp_",
250
+ toolCount: 3,
251
+ tools: [
252
+ { name: "fp_identify", description: "Look up any fingerprint hash in known signatures database" },
253
+ { name: "fp_c2_detect", description: "Detect C2 frameworks from JARM, certificate, and timing data" },
254
+ { name: "fp_list_signatures", description: "List all known signatures by category" },
255
+ ],
256
+ requiresApiKey: false,
257
+ makesNetworkCalls: false,
258
+ category: "analysis",
259
+ },
260
+ {
261
+ name: "passive",
262
+ description: "Passive analysis: extract fingerprint data from previously collected headers, HTML, and banners without making any network calls.",
263
+ prefix: "fp_analyze_",
264
+ toolCount: 3,
265
+ tools: [
266
+ { name: "fp_analyze_headers", description: "Extract fingerprint signals from HTTP response headers" },
267
+ { name: "fp_analyze_html", description: "Extract technology signals from HTML source" },
268
+ { name: "fp_analyze_banner", description: "Parse and identify service from a raw banner string" },
269
+ ],
270
+ requiresApiKey: false,
271
+ makesNetworkCalls: false,
272
+ category: "passive",
273
+ },
274
+ {
275
+ name: "osint",
276
+ description: "OSINT integrations: Shodan, Censys, reverse IP, WHOIS, Wayback Machine, and VirusTotal lookups.",
277
+ prefix: "osint_",
278
+ toolCount: 6,
279
+ tools: [
280
+ { name: "osint_shodan", description: "Query Shodan for host intelligence and open ports" },
281
+ { name: "osint_censys", description: "Query Censys for host and certificate data" },
282
+ { name: "osint_reverse_ip", description: "Reverse IP lookup to find co-hosted domains" },
283
+ { name: "osint_whois", description: "WHOIS lookup for domain registration details" },
284
+ { name: "osint_web_archive", description: "Query Wayback Machine for historical snapshots" },
285
+ { name: "osint_virustotal", description: "VirusTotal lookup for domain/IP reputation" },
286
+ ],
287
+ requiresApiKey: true,
288
+ makesNetworkCalls: true,
289
+ category: "osint",
290
+ },
291
+ {
292
+ name: "enum",
293
+ description: "Enumeration: subdomain discovery, ASN neighbor mapping, passive DNS, TLD expansion, related domain finding, wildcard detection, and scope summary.",
294
+ prefix: "enum_",
295
+ toolCount: 7,
296
+ tools: [
297
+ { name: "enum_subdomains", description: "Passive subdomain enumeration from multiple sources" },
298
+ { name: "enum_asn_neighbors", description: "Find neighboring IPs and domains in the same ASN" },
299
+ { name: "enum_passive_dns", description: "Historical passive DNS record lookup" },
300
+ { name: "enum_tld_expansion", description: "Check target domain across multiple TLDs" },
301
+ { name: "enum_related_domains", description: "Find related domains via shared infrastructure" },
302
+ { name: "enum_wildcard_detect", description: "Detect wildcard DNS responses" },
303
+ { name: "enum_scope_summary", description: "Summarize enumeration results into a scoped target list" },
304
+ ],
305
+ requiresApiKey: true,
306
+ makesNetworkCalls: true,
307
+ category: "enum",
308
+ },
309
+ {
310
+ name: "infra",
311
+ description: "Infrastructure detection: cloud provider identification, ASN lookup, CDN identification, reverse proxy detection, and load balancer detection.",
312
+ prefix: "infra_",
313
+ toolCount: 5,
314
+ tools: [
315
+ { name: "infra_cloud_detect", description: "Identify cloud provider (AWS, GCP, Azure, etc.) from IP ranges" },
316
+ { name: "infra_asn_lookup", description: "ASN information lookup for an IP address" },
317
+ { name: "infra_cdn_identify", description: "Identify CDN provider from headers and IP ranges" },
318
+ { name: "infra_reverse_proxy_detect", description: "Detect reverse proxy presence and identify software" },
319
+ { name: "infra_lb_detect", description: "Detect load balancer via response analysis" },
320
+ ],
321
+ requiresApiKey: false,
322
+ makesNetworkCalls: true,
323
+ category: "active",
324
+ },
325
+ {
326
+ name: "meta",
327
+ description: "Meta/utility tools: list all available providers and tools, show server configuration summary.",
328
+ prefix: "fp_",
329
+ toolCount: 2,
330
+ tools: [
331
+ { name: "fp_list_sources", description: "List all providers, tools, and categories" },
332
+ { name: "fp_server_config", description: "Server configuration and runtime summary" },
333
+ ],
334
+ requiresApiKey: false,
335
+ makesNetworkCalls: false,
336
+ category: "meta",
337
+ },
338
+ ];
339
+ // ─── Tool 1: fp_list_sources ───
340
+ const fpListSources = {
341
+ name: "fp_list_sources",
342
+ description: "List all available providers and their tools with categorization. Helps AI agents discover what " +
343
+ "fingerprinting tools exist, plan analysis workflows, and understand which tools require API keys or " +
344
+ "make network calls. Filter by category: active, passive, osint, enum, analysis, meta, or all.",
345
+ schema: {
346
+ category: z
347
+ .string()
348
+ .optional()
349
+ .describe("Filter by category: 'active', 'passive', 'osint', 'enum', 'analysis', 'meta', or 'all' (default: all)"),
350
+ },
351
+ async execute(args) {
352
+ const category = args.category ?? "all";
353
+ const categoryLower = category.toLowerCase();
354
+ const filtered = categoryLower === "all"
355
+ ? PROVIDER_CATALOG
356
+ : PROVIDER_CATALOG.filter((p) => p.category === categoryLower);
357
+ // Build category summary
358
+ const categorySummary = {};
359
+ for (const provider of PROVIDER_CATALOG) {
360
+ if (!categorySummary[provider.category]) {
361
+ categorySummary[provider.category] = { providerCount: 0, toolCount: 0 };
362
+ }
363
+ categorySummary[provider.category].providerCount++;
364
+ categorySummary[provider.category].toolCount += provider.toolCount;
365
+ }
366
+ const totalToolCount = PROVIDER_CATALOG.reduce((sum, p) => sum + p.toolCount, 0);
367
+ const result = {
368
+ filter: category,
369
+ totalProviders: filtered.length,
370
+ totalTools: filtered.reduce((sum, p) => sum + p.toolCount, 0),
371
+ providers: filtered.map((p) => ({
372
+ name: p.name,
373
+ description: p.description,
374
+ category: p.category,
375
+ toolCount: p.toolCount,
376
+ requiresApiKey: p.requiresApiKey,
377
+ makesNetworkCalls: p.makesNetworkCalls,
378
+ tools: p.tools,
379
+ })),
380
+ categorySummary,
381
+ allToolCount: totalToolCount,
382
+ };
383
+ return json(result);
384
+ },
385
+ };
386
+ // ─── Tool 2: fp_server_config ───
387
+ const fpServerConfig = {
388
+ name: "fp_server_config",
389
+ description: "Returns server configuration summary: version, available API keys (masked), total tools loaded, " +
390
+ "runtime info (Node.js version, platform, architecture), and provider listing with tool counts.",
391
+ schema: {},
392
+ async execute(_args, ctx) {
393
+ const version = "0.1.0";
394
+ // Check configured API keys and mask them
395
+ const apiKeys = {};
396
+ const keyMap = {
397
+ shodanApiKey: "Shodan",
398
+ censysApiId: "Censys (ID)",
399
+ censysApiSecret: "Censys (Secret)",
400
+ securitytrailsApiKey: "SecurityTrails",
401
+ virustotalApiKey: "VirusTotal",
402
+ };
403
+ for (const [key, label] of Object.entries(keyMap)) {
404
+ const value = ctx.config[key];
405
+ if (value && value.length > 0) {
406
+ const masked = value.slice(0, 4) + "****";
407
+ apiKeys[label] = masked;
408
+ }
409
+ else {
410
+ apiKeys[label] = "(not configured)";
411
+ }
412
+ }
413
+ // Count total tools from catalog
414
+ const totalTools = PROVIDER_CATALOG.reduce((sum, p) => sum + p.toolCount, 0);
415
+ // Provider summary
416
+ const providers = PROVIDER_CATALOG.map((p) => ({
417
+ name: p.name,
418
+ toolCount: p.toolCount,
419
+ category: p.category,
420
+ }));
421
+ const result = {
422
+ server: "fingerprint-mcp",
423
+ version,
424
+ runtime: {
425
+ nodeVersion: process.version,
426
+ platform: process.platform,
427
+ arch: process.arch,
428
+ },
429
+ totalTools,
430
+ totalProviders: PROVIDER_CATALOG.length,
431
+ apiKeys,
432
+ providers,
433
+ };
434
+ return json(result);
435
+ },
436
+ };
437
+ // ─── Export All Meta Tools ───
438
+ export const metaTools = [
439
+ fpListSources,
440
+ fpServerConfig,
441
+ ];
442
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/meta/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAezC,MAAM,gBAAgB,GAAoB;IACxC;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,6HAA6H;QAC1I,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,mEAAmE,EAAE;YACvG,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,gEAAgE,EAAE;SACtG;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,mIAAmI;QAChJ,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,6DAA6D,EAAE;YACjG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,2DAA2D,EAAE;YAC9F,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,2CAA2C,EAAE;YAC9E,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,gDAAgD,EAAE;YACnF,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,+DAA+D,EAAE;YAC5G,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,uDAAuD,EAAE;YACnG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,kEAAkE,EAAE;YACxG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;SACrE;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,iGAAiG;QAC9G,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,+DAA+D,EAAE;YACnG,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,qDAAqD,EAAE;YAClG,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,6CAA6C,EAAE;SAClF;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,2JAA2J;QACxK,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,EAAE;QACb,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,yCAAyC,EAAE;YAC/E,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,sDAAsD,EAAE;YACrG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,0DAA0D,EAAE;YAChG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iDAAiD,EAAE;YACpF,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,oDAAoD,EAAE;YACzF,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,iEAAiE,EAAE;YACvG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,gCAAgC,EAAE;YACtE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,sDAAsD,EAAE;YACzF,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,yCAAyC,EAAE;YACnF,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,0CAA0C,EAAE;YAC9E,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,8DAA8D,EAAE;YACrG,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mDAAmD,EAAE;YACxF,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,yDAAyD,EAAE;YACpG,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,oDAAoD,EAAE;YAChG,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,oDAAoD,EAAE;YAC5F,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,iDAAiD,EAAE;YACnF,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,yCAAyC,EAAE;SACjF;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,sLAAsL;QACnM,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,yDAAyD,EAAE;YAC5F,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,yCAAyC,EAAE;YAClF,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,sCAAsC,EAAE;YAC9E,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,wDAAwD,EAAE;YACpG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,oDAAoD,EAAE;YAC1F,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,uDAAuD,EAAE;YAC3F,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,+CAA+C,EAAE;YAC7F,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,wDAAwD,EAAE;YAChG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yDAAyD,EAAE;SAC5F;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mJAAmJ;QAChK,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,2CAA2C,EAAE;YACpF,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,yDAAyD,EAAE;YAC/F,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,sDAAsD,EAAE;YAC9F,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,0DAA0D,EAAE;YAC/F,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,0CAA0C,EAAE;SACtF;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,8JAA8J;QAC3K,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,iEAAiE,EAAE;YACrG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iDAAiD,EAAE;YACpF,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,4DAA4D,EAAE;YACnG,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,6CAA6C,EAAE;YACrF,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,mEAAmE,EAAE;YACzG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,qCAAqC,EAAE;YAC3E,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,mDAAmD,EAAE;SAC1F;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,mIAAmI;QAChJ,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,sDAAsD,EAAE;YAC3F,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,kDAAkD,EAAE;YAC3F,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,8CAA8C,EAAE;YACnF,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,mDAAmD,EAAE;SAC9F;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,sGAAsG;QACnH,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,2DAA2D,EAAE;YACrG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,yDAAyD,EAAE;SAChG;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,wHAAwH;QACrI,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,iEAAiE,EAAE;YACxG,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,2CAA2C,EAAE;YAC/E,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,4DAA4D,EAAE;SACjG;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,qEAAqE;QAClF,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mDAAmD,EAAE;YACxF,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,uDAAuD,EAAE;SAC3F;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,2FAA2F;QACxG,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,qDAAqD,EAAE;YACzF,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,+BAA+B,EAAE;SACzE;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,mHAAmH;QAChI,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,2DAA2D,EAAE;YAC7F,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,+DAA+D,EAAE;YACvG,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,8DAA8D,EAAE;SACvG;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,oGAAoG;QACjH,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,sDAAsD,EAAE;YAChG,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,wDAAwD,EAAE;YACrG,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,yDAAyD,EAAE;YACnG,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,yCAAyC,EAAE;YACjF,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,+CAA+C,EAAE;SAC7F;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,gKAAgK;QAC7K,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,+DAA+D,EAAE;YACtG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,wDAAwD,EAAE;YAC9F,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,2DAA2D,EAAE;YACjG,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,yDAAyD,EAAE;YAC9F,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,yDAAyD,EAAE;SAChG;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,qJAAqJ;QAClK,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,2DAA2D,EAAE;YACjG,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,8DAA8D,EAAE;YACrG,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,uCAAuC,EAAE;SACrF;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,mIAAmI;QAChJ,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,wDAAwD,EAAE;YACrG,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,6CAA6C,EAAE;YACvF,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,qDAAqD,EAAE;SAClG;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,iGAAiG;QAC9G,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,mDAAmD,EAAE;YAC1F,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,4CAA4C,EAAE;YACnF,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,6CAA6C,EAAE;YACxF,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,8CAA8C,EAAE;YACpF,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,gDAAgD,EAAE;YAC5F,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,4CAA4C,EAAE;SACxF;QACD,cAAc,EAAE,IAAI;QACpB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,OAAO;KAClB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,oJAAoJ;QACjK,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,qDAAqD,EAAE;YAC/F,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,kDAAkD,EAAE;YAC/F,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,sCAAsC,EAAE;YACjF,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,0CAA0C,EAAE;YACvF,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,gDAAgD,EAAE;YAC/F,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,+BAA+B,EAAE;YAC9E,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,yDAAyD,EAAE;SACvG;QACD,cAAc,EAAE,IAAI;QACpB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,gJAAgJ;QAC7J,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,gEAAgE,EAAE;YAC7G,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,0CAA0C,EAAE;YACrF,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,kDAAkD,EAAE;YAC/F,EAAE,IAAI,EAAE,4BAA4B,EAAE,WAAW,EAAE,qDAAqD,EAAE;YAC1G,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,4CAA4C,EAAE;SACvF;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,gGAAgG;QAC7G,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,2CAA2C,EAAE;YACrF,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,0CAA0C,EAAE;SACtF;QACD,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,QAAQ,EAAE,MAAM;KACjB;CACF,CAAC;AAEF,kCAAkC;AAElC,MAAM,aAAa,GAAY;IAC7B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,kGAAkG;QAClG,sGAAsG;QACtG,+FAA+F;IACjG,MAAM,EAAE;QACN,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,uGAAuG,CAAC;KACrH;IACD,KAAK,CAAC,OAAO,CAAC,IAA6B;QACzC,MAAM,QAAQ,GAAI,IAAI,CAAC,QAA+B,IAAI,KAAK,CAAC;QAChE,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE7C,MAAM,QAAQ,GACZ,aAAa,KAAK,KAAK;YACrB,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC;QAEnE,yBAAyB;QACzB,MAAM,eAAe,GAAiE,EAAE,CAAC;QACzF,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YAC1E,CAAC;YACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAC;YACnD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;QACrE,CAAC;QAED,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAEjF,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,QAAQ;YAChB,cAAc,EAAE,QAAQ,CAAC,MAAM;YAC/B,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAC7D,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;gBACtC,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC;YACH,eAAe;YACf,YAAY,EAAE,cAAc;SAC7B,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;CACF,CAAC;AAEF,mCAAmC;AAEnC,MAAM,cAAc,GAAY;IAC9B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,kGAAkG;QAClG,gGAAgG;IAClG,MAAM,EAAE,EAAE;IACV,KAAK,CAAC,OAAO,CAAC,KAA8B,EAAE,GAAgB;QAC5D,MAAM,OAAO,GAAG,OAAO,CAAC;QAExB,0CAA0C;QAC1C,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,MAAM,MAAM,GAA2B;YACrC,YAAY,EAAE,QAAQ;YACtB,WAAW,EAAE,aAAa;YAC1B,eAAe,EAAE,iBAAiB;YAClC,oBAAoB,EAAE,gBAAgB;YACtC,gBAAgB,EAAE,YAAY;SAC/B,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAA8B,CAAuB,CAAC;YAC/E,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC;YACtC,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAE7E,mBAAmB;QACnB,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC,CAAC;QAEJ,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,iBAAiB;YACzB,OAAO;YACP,OAAO,EAAE;gBACP,WAAW,EAAE,OAAO,CAAC,OAAO;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB;YACD,UAAU;YACV,cAAc,EAAE,gBAAgB,CAAC,MAAM;YACvC,OAAO;YACP,SAAS;SACV,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;CACF,CAAC;AAEF,gCAAgC;AAEhC,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC,aAAa;IACb,cAAc;CACf,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ToolDef } from "../types/index.js";
2
+ export declare const osintTools: ToolDef[];
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/osint/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,mBAAmB,CAAC;AAmtB9D,eAAO,MAAM,UAAU,EAAE,OAAO,EAuE/B,CAAC"}