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,628 @@
1
+ /**
2
+ * Cloud provider identification patterns.
3
+ *
4
+ * Maps ASN numbers, reverse-DNS naming conventions, HTTP response headers,
5
+ * and error page content to specific cloud providers and their services.
6
+ * Used for infrastructure attribution — determining which cloud platform
7
+ * hosts a given IP or service without relying on IP range databases.
8
+ *
9
+ * References:
10
+ * - https://bgp.he.net/
11
+ * - https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html
12
+ * - https://www.microsoft.com/en-us/download/details.aspx?id=56519
13
+ * - https://cloud.google.com/compute/docs/faq#find_ip_range
14
+ */
15
+ export const CLOUD_PATTERNS = [
16
+ // ──────────────────────────────────────────────────
17
+ // Amazon Web Services
18
+ // ──────────────────────────────────────────────────
19
+ {
20
+ provider: "Amazon Web Services (AWS)",
21
+ asn: ["AS16509", "AS14618", "AS8987"],
22
+ rdnsPatterns: [
23
+ "\\.compute\\.amazonaws\\.com$",
24
+ "\\.compute\\.internal$",
25
+ "\\.elb\\.amazonaws\\.com$",
26
+ "\\.cloudfront\\.net$",
27
+ "\\.elasticbeanstalk\\.com$",
28
+ "\\.s3\\.amazonaws\\.com$",
29
+ "\\.s3-website[-.].+\\.amazonaws\\.com$",
30
+ "\\.execute-api\\..+\\.amazonaws\\.com$",
31
+ ],
32
+ headerPatterns: {
33
+ "x-amz-cf-id": ".",
34
+ "x-amz-cf-pop": "^[A-Z]{3}\\d+-[CP]\\d+$",
35
+ "x-amz-request-id": "^[A-Z0-9]{16}$",
36
+ "x-amzn-requestid": "^[0-9a-f-]{36}$",
37
+ "x-amzn-trace-id": "^Root=",
38
+ "x-amz-apigw-id": ".",
39
+ "x-amz-id-2": ".",
40
+ },
41
+ errorPatterns: [
42
+ "<Code>NoSuchBucket</Code>",
43
+ "<Code>AccessDenied</Code>",
44
+ "The specified bucket does not exist",
45
+ "<!DOCTYPE html PUBLIC.*AmazonS3",
46
+ "502 Bad Gateway.*cloudfront",
47
+ ],
48
+ serviceIdentifiers: [
49
+ { service: "CloudFront", pattern: "x-amz-cf-id" },
50
+ { service: "S3", pattern: "\\.s3[.-].*\\.amazonaws\\.com" },
51
+ { service: "ALB/ELB", pattern: "\\.elb\\.amazonaws\\.com" },
52
+ { service: "API Gateway", pattern: "\\.execute-api\\." },
53
+ { service: "Lambda@Edge", pattern: "x-amz-cf-pop" },
54
+ { service: "EC2", pattern: "ec2.*\\.compute\\.amazonaws\\.com" },
55
+ { service: "Elastic Beanstalk", pattern: "\\.elasticbeanstalk\\.com" },
56
+ ],
57
+ },
58
+ // ──────────────────────────────────────────────────
59
+ // Microsoft Azure
60
+ // ──────────────────────────────────────────────────
61
+ {
62
+ provider: "Microsoft Azure",
63
+ asn: ["AS8075", "AS8068", "AS12076"],
64
+ rdnsPatterns: [
65
+ "\\.cloudapp\\.azure\\.com$",
66
+ "\\.azurewebsites\\.net$",
67
+ "\\.azure-api\\.net$",
68
+ "\\.azurefd\\.net$",
69
+ "\\.azureedge\\.net$",
70
+ "\\.blob\\.core\\.windows\\.net$",
71
+ "\\.database\\.windows\\.net$",
72
+ "\\.trafficmanager\\.net$",
73
+ "\\.azurecontainer\\.io$",
74
+ ],
75
+ headerPatterns: {
76
+ "x-ms-request-id": "^[0-9a-f-]{36}$",
77
+ "x-azure-ref": ".",
78
+ "x-ms-version": "^\\d{4}-\\d{2}-\\d{2}$",
79
+ "x-aspnet-version": ".",
80
+ "x-powered-by": "^ASP\\.NET$",
81
+ "x-ms-blob-type": ".",
82
+ },
83
+ errorPatterns: [
84
+ "Web App - Pair Not Found",
85
+ "404 Web Site not found",
86
+ "The resource you are looking for has been removed",
87
+ "<Error><Code>BlobNotFound</Code>",
88
+ "The specified resource does not exist",
89
+ ],
90
+ serviceIdentifiers: [
91
+ { service: "App Service", pattern: "\\.azurewebsites\\.net" },
92
+ { service: "Front Door", pattern: "\\.azurefd\\.net" },
93
+ { service: "CDN", pattern: "\\.azureedge\\.net" },
94
+ { service: "Blob Storage", pattern: "\\.blob\\.core\\.windows\\.net" },
95
+ { service: "API Management", pattern: "\\.azure-api\\.net" },
96
+ { service: "Container Instances", pattern: "\\.azurecontainer\\.io" },
97
+ ],
98
+ },
99
+ // ──────────────────────────────────────────────────
100
+ // Google Cloud Platform
101
+ // ──────────────────────────────────────────────────
102
+ {
103
+ provider: "Google Cloud Platform (GCP)",
104
+ asn: ["AS15169", "AS396982"],
105
+ rdnsPatterns: [
106
+ "\\.bc\\.googleusercontent\\.com$",
107
+ "\\.run\\.app$",
108
+ "\\.appspot\\.com$",
109
+ "\\.cloudfunctions\\.net$",
110
+ "\\.web\\.app$",
111
+ "\\.firebaseapp\\.com$",
112
+ "\\.storage\\.googleapis\\.com$",
113
+ "\\.googleusercontent\\.com$",
114
+ ],
115
+ headerPatterns: {
116
+ "x-cloud-trace-context": "^[0-9a-f]{32}/\\d+",
117
+ "x-goog-generation": "^\\d+$",
118
+ "x-goog-hash": ".",
119
+ "x-goog-metageneration": "^\\d+$",
120
+ "x-guploader-uploadid": ".",
121
+ "x-gfe-ssl": ".",
122
+ },
123
+ errorPatterns: [
124
+ "The requested URL was not found on this server.*Google",
125
+ "Error: Page not found.*Google Cloud",
126
+ "Your client does not have access to get URL",
127
+ "<Error><Code>NoSuchKey</Code>",
128
+ ],
129
+ serviceIdentifiers: [
130
+ { service: "Cloud Run", pattern: "\\.run\\.app" },
131
+ { service: "App Engine", pattern: "\\.appspot\\.com" },
132
+ { service: "Cloud Functions", pattern: "\\.cloudfunctions\\.net" },
133
+ { service: "Firebase Hosting", pattern: "\\.web\\.app|\\.firebaseapp\\.com" },
134
+ { service: "Cloud Storage", pattern: "\\.storage\\.googleapis\\.com" },
135
+ { service: "Compute Engine", pattern: "\\.bc\\.googleusercontent\\.com" },
136
+ ],
137
+ },
138
+ // ──────────────────────────────────────────────────
139
+ // DigitalOcean
140
+ // ──────────────────────────────────────────────────
141
+ {
142
+ provider: "DigitalOcean",
143
+ asn: ["AS14061"],
144
+ rdnsPatterns: [
145
+ "\\.digitaloceanspaces\\.com$",
146
+ "\\.ondigitalocean\\.app$",
147
+ "\\.digitalocean\\.com$",
148
+ ],
149
+ headerPatterns: {
150
+ "x-do-app-origin": ".",
151
+ "x-do-orig-status": "^\\d{3}$",
152
+ },
153
+ errorPatterns: [
154
+ "DigitalOcean App Platform",
155
+ "Droplet not found",
156
+ ],
157
+ serviceIdentifiers: [
158
+ { service: "Spaces (S3-compatible)", pattern: "\\.digitaloceanspaces\\.com" },
159
+ { service: "App Platform", pattern: "\\.ondigitalocean\\.app" },
160
+ ],
161
+ },
162
+ // ──────────────────────────────────────────────────
163
+ // Cloudflare
164
+ // ──────────────────────────────────────────────────
165
+ {
166
+ provider: "Cloudflare",
167
+ asn: ["AS13335", "AS209242"],
168
+ rdnsPatterns: [
169
+ "\\.cdn\\.cloudflare\\.net$",
170
+ "\\.cloudflare-dns\\.com$",
171
+ "\\.pages\\.dev$",
172
+ "\\.workers\\.dev$",
173
+ ],
174
+ headerPatterns: {
175
+ "cf-ray": "^[0-9a-f]+-[A-Z]{3}$",
176
+ "cf-cache-status": "^(HIT|MISS|EXPIRED|STALE|BYPASS|DYNAMIC|REVALIDATED)$",
177
+ server: "^cloudflare$",
178
+ "cf-request-id": ".",
179
+ },
180
+ errorPatterns: [
181
+ "Attention Required! | Cloudflare",
182
+ "Error 1000.*DNS points to prohibited IP",
183
+ "Error 1001.*DNS resolution error",
184
+ "Cloudflare Ray ID:",
185
+ ],
186
+ serviceIdentifiers: [
187
+ { service: "CDN/Proxy", pattern: "cf-ray" },
188
+ { service: "Pages", pattern: "\\.pages\\.dev" },
189
+ { service: "Workers", pattern: "\\.workers\\.dev" },
190
+ { service: "R2 Storage", pattern: "\\.r2\\.dev" },
191
+ ],
192
+ },
193
+ // ──────────────────────────────────────────────────
194
+ // Linode / Akamai Connected Cloud
195
+ // ──────────────────────────────────────────────────
196
+ {
197
+ provider: "Linode (Akamai)",
198
+ asn: ["AS63949", "AS63950"],
199
+ rdnsPatterns: [
200
+ "\\.ip\\.linodeusercontent\\.com$",
201
+ "\\.members\\.linode\\.com$",
202
+ "\\.nodebalancer\\.linode\\.com$",
203
+ ],
204
+ headerPatterns: {},
205
+ errorPatterns: [],
206
+ serviceIdentifiers: [
207
+ { service: "Linode Compute", pattern: "\\.ip\\.linodeusercontent\\.com" },
208
+ { service: "NodeBalancer", pattern: "\\.nodebalancer\\.linode\\.com" },
209
+ ],
210
+ },
211
+ // ──────────────────────────────────────────────────
212
+ // Akamai CDN
213
+ // ──────────────────────────────────────────────────
214
+ {
215
+ provider: "Akamai CDN",
216
+ asn: ["AS20940", "AS16625"],
217
+ rdnsPatterns: [
218
+ "\\.akamaiedge\\.net$",
219
+ "\\.akamaized\\.net$",
220
+ "\\.edgekey\\.net$",
221
+ "\\.edgesuite\\.net$",
222
+ "\\.akadns\\.net$",
223
+ ],
224
+ headerPatterns: {
225
+ "x-akamai-transformed": ".",
226
+ "x-akamai-request-id": ".",
227
+ server: "^AkamaiGHost$",
228
+ "x-cache": ".*from\\s+a]?[0-9]+\\.deploy\\.akamaitechnologies\\.com",
229
+ },
230
+ errorPatterns: [
231
+ "Reference&#32;&#35;\\d+\\.\\w+",
232
+ "Access Denied.*Akamai",
233
+ ],
234
+ serviceIdentifiers: [
235
+ { service: "Edge CDN", pattern: "\\.akamaiedge\\.net|\\.akamaized\\.net" },
236
+ { service: "Ion/DSA", pattern: "\\.edgekey\\.net" },
237
+ ],
238
+ },
239
+ // ──────────────────────────────────────────────────
240
+ // Fastly CDN
241
+ // ──────────────────────────────────────────────────
242
+ {
243
+ provider: "Fastly",
244
+ asn: ["AS54113"],
245
+ rdnsPatterns: [
246
+ "\\.fastly\\.net$",
247
+ "\\.fastlylb\\.net$",
248
+ "\\.global\\.prod\\.fastly\\.net$",
249
+ ],
250
+ headerPatterns: {
251
+ "x-served-by": "^cache-",
252
+ "x-cache": "^(HIT|MISS)",
253
+ "x-cache-hits": "^\\d+$",
254
+ "x-timer": "^S\\d+\\.\\d+,",
255
+ "fastly-debug-digest": ".",
256
+ },
257
+ errorPatterns: [
258
+ "Fastly error: unknown domain",
259
+ "Fastly error: connection timeout",
260
+ ],
261
+ serviceIdentifiers: [
262
+ { service: "CDN Edge", pattern: "x-served-by.*cache-" },
263
+ ],
264
+ },
265
+ // ──────────────────────────────────────────────────
266
+ // OVHcloud
267
+ // ──────────────────────────────────────────────────
268
+ {
269
+ provider: "OVHcloud",
270
+ asn: ["AS16276"],
271
+ rdnsPatterns: [
272
+ "\\.ovh\\.net$",
273
+ "\\.ovh\\.com$",
274
+ "\\.ovh\\.ca$",
275
+ "\\.kimsufi\\.com$",
276
+ "\\.soyoustart\\.com$",
277
+ ],
278
+ headerPatterns: {
279
+ "x-ovh-id": ".",
280
+ "x-iplb-request-id": ".",
281
+ },
282
+ errorPatterns: [],
283
+ serviceIdentifiers: [
284
+ { service: "Public Cloud", pattern: "\\.ovh\\.net" },
285
+ ],
286
+ },
287
+ // ──────────────────────────────────────────────────
288
+ // Hetzner Cloud
289
+ // ──────────────────────────────────────────────────
290
+ {
291
+ provider: "Hetzner",
292
+ asn: ["AS24940", "AS213230"],
293
+ rdnsPatterns: [
294
+ "\\.your-server\\.de$",
295
+ "\\.hetzner\\.com$",
296
+ "\\.host\\.hetzner\\.com$",
297
+ "static\\..+\\.clients\\.your-server\\.de$",
298
+ ],
299
+ headerPatterns: {},
300
+ errorPatterns: [],
301
+ serviceIdentifiers: [
302
+ { service: "Dedicated", pattern: "\\.your-server\\.de" },
303
+ { service: "Cloud", pattern: "\\.hetzner\\.com" },
304
+ ],
305
+ },
306
+ // ──────────────────────────────────────────────────
307
+ // Vultr
308
+ // ──────────────────────────────────────────────────
309
+ {
310
+ provider: "Vultr",
311
+ asn: ["AS20473", "AS64515"],
312
+ rdnsPatterns: [
313
+ "\\.vultr\\.com$",
314
+ "\\.vultrusercontent\\.com$",
315
+ ],
316
+ headerPatterns: {},
317
+ errorPatterns: [],
318
+ serviceIdentifiers: [
319
+ { service: "Compute", pattern: "\\.vultr\\.com" },
320
+ ],
321
+ },
322
+ // ──────────────────────────────────────────────────
323
+ // Oracle Cloud Infrastructure
324
+ // ──────────────────────────────────────────────────
325
+ {
326
+ provider: "Oracle Cloud Infrastructure (OCI)",
327
+ asn: ["AS31898", "AS7160"],
328
+ rdnsPatterns: [
329
+ "\\.oraclecloud\\.com$",
330
+ "\\.oraclevcn\\.com$",
331
+ "\\.oci\\.oraclecloud\\.com$",
332
+ ],
333
+ headerPatterns: {
334
+ "opc-request-id": "^[a-zA-Z0-9/+]+$",
335
+ },
336
+ errorPatterns: [
337
+ "Oracle Cloud Infrastructure",
338
+ ],
339
+ serviceIdentifiers: [
340
+ { service: "Compute", pattern: "\\.oraclecloud\\.com" },
341
+ { service: "VCN", pattern: "\\.oraclevcn\\.com" },
342
+ ],
343
+ },
344
+ // ──────────────────────────────────────────────────
345
+ // Alibaba Cloud
346
+ // ──────────────────────────────────────────────────
347
+ {
348
+ provider: "Alibaba Cloud",
349
+ asn: ["AS45102", "AS37963"],
350
+ rdnsPatterns: [
351
+ "\\.alicloudccp\\.com$",
352
+ "\\.aliyuncs\\.com$",
353
+ "\\.alicdn\\.com$",
354
+ ],
355
+ headerPatterns: {
356
+ "x-oss-request-id": ".",
357
+ eagleid: ".",
358
+ server: "^Tengine$",
359
+ },
360
+ errorPatterns: [
361
+ "<Code>NoSuchBucket</Code>.*Chinese",
362
+ "Chinese.*alibaba",
363
+ ],
364
+ serviceIdentifiers: [
365
+ { service: "OSS (Object Storage)", pattern: "\\.aliyuncs\\.com" },
366
+ { service: "CDN", pattern: "\\.alicdn\\.com" },
367
+ ],
368
+ },
369
+ // ──────────────────────────────────────────────────
370
+ // Tencent Cloud
371
+ // ──────────────────────────────────────────────────
372
+ {
373
+ provider: "Tencent Cloud",
374
+ asn: ["AS45090", "AS132203"],
375
+ rdnsPatterns: [
376
+ "\\.myqcloud\\.com$",
377
+ "\\.tencentcloudapi\\.com$",
378
+ "\\.tcloudbaseapp\\.com$",
379
+ ],
380
+ headerPatterns: {
381
+ "x-cos-request-id": ".",
382
+ },
383
+ errorPatterns: [],
384
+ serviceIdentifiers: [
385
+ { service: "CVM (Compute)", pattern: "\\.myqcloud\\.com" },
386
+ { service: "COS (Object Storage)", pattern: "x-cos-request-id" },
387
+ ],
388
+ },
389
+ // ──────────────────────────────────────────────────
390
+ // Vercel
391
+ // ──────────────────────────────────────────────────
392
+ {
393
+ provider: "Vercel",
394
+ asn: ["AS209242"],
395
+ rdnsPatterns: [
396
+ "\\.vercel\\.app$",
397
+ "\\.vercel-dns\\.com$",
398
+ "\\.now\\.sh$",
399
+ ],
400
+ headerPatterns: {
401
+ "x-vercel-id": "^[a-z]{3}1::",
402
+ "x-vercel-cache": "^(HIT|MISS|STALE|PRERENDER|REVALIDATED)$",
403
+ server: "^Vercel$",
404
+ },
405
+ errorPatterns: [
406
+ "DEPLOYMENT_NOT_FOUND",
407
+ "The deployment could not be found",
408
+ ],
409
+ serviceIdentifiers: [
410
+ { service: "Edge Network", pattern: "x-vercel-id" },
411
+ ],
412
+ },
413
+ // ──────────────────────────────────────────────────
414
+ // Netlify
415
+ // ──────────────────────────────────────────────────
416
+ {
417
+ provider: "Netlify",
418
+ asn: [],
419
+ rdnsPatterns: [
420
+ "\\.netlify\\.app$",
421
+ "\\.netlify\\.com$",
422
+ "\\.bitballoon\\.com$",
423
+ ],
424
+ headerPatterns: {
425
+ "x-nf-request-id": "^[0-9a-f-]{36}$",
426
+ server: "^Netlify$",
427
+ },
428
+ errorPatterns: [
429
+ "Not Found - Request ID",
430
+ ],
431
+ serviceIdentifiers: [
432
+ { service: "Hosting", pattern: "x-nf-request-id" },
433
+ ],
434
+ },
435
+ // ──────────────────────────────────────────────────
436
+ // Render
437
+ // ──────────────────────────────────────────────────
438
+ {
439
+ provider: "Render",
440
+ asn: [],
441
+ rdnsPatterns: [
442
+ "\\.onrender\\.com$",
443
+ ],
444
+ headerPatterns: {
445
+ "rndr-id": ".",
446
+ server: "^Render$",
447
+ },
448
+ errorPatterns: [],
449
+ serviceIdentifiers: [
450
+ { service: "Web Service", pattern: "\\.onrender\\.com" },
451
+ ],
452
+ },
453
+ // ──────────────────────────────────────────────────
454
+ // Fly.io
455
+ // ──────────────────────────────────────────────────
456
+ {
457
+ provider: "Fly.io",
458
+ asn: ["AS40509"],
459
+ rdnsPatterns: [
460
+ "\\.fly\\.dev$",
461
+ "\\.flycast\\.dev$",
462
+ ],
463
+ headerPatterns: {
464
+ "fly-request-id": "^[0-9a-zA-Z-]+$",
465
+ server: "^Fly/",
466
+ },
467
+ errorPatterns: [
468
+ "Could not find the app",
469
+ ],
470
+ serviceIdentifiers: [
471
+ { service: "App", pattern: "\\.fly\\.dev" },
472
+ ],
473
+ },
474
+ // ──────────────────────────────────────────────────
475
+ // Heroku (Salesforce)
476
+ // ──────────────────────────────────────────────────
477
+ {
478
+ provider: "Heroku",
479
+ asn: [],
480
+ rdnsPatterns: [
481
+ "\\.herokuapp\\.com$",
482
+ "\\.herokussl\\.com$",
483
+ ],
484
+ headerPatterns: {
485
+ server: "^heroku-router$",
486
+ "x-request-id": "^[0-9a-f-]{36}$",
487
+ via: "heroku",
488
+ },
489
+ errorPatterns: [
490
+ "No such app",
491
+ "Application error.*Heroku",
492
+ ],
493
+ serviceIdentifiers: [
494
+ { service: "Dyno", pattern: "\\.herokuapp\\.com" },
495
+ ],
496
+ },
497
+ // ──────────────────────────────────────────────────
498
+ // Railway
499
+ // ──────────────────────────────────────────────────
500
+ {
501
+ provider: "Railway",
502
+ asn: [],
503
+ rdnsPatterns: [
504
+ "\\.up\\.railway\\.app$",
505
+ "\\.railway\\.app$",
506
+ ],
507
+ headerPatterns: {},
508
+ errorPatterns: [
509
+ "Application failed to respond",
510
+ ],
511
+ serviceIdentifiers: [
512
+ { service: "Deployment", pattern: "\\.railway\\.app" },
513
+ ],
514
+ },
515
+ // ──────────────────────────────────────────────────
516
+ // Scaleway
517
+ // ──────────────────────────────────────────────────
518
+ {
519
+ provider: "Scaleway",
520
+ asn: ["AS12876"],
521
+ rdnsPatterns: [
522
+ "\\.scw\\.cloud$",
523
+ "\\.scaleway\\.com$",
524
+ ],
525
+ headerPatterns: {},
526
+ errorPatterns: [],
527
+ serviceIdentifiers: [
528
+ { service: "Instances", pattern: "\\.scw\\.cloud" },
529
+ ],
530
+ },
531
+ // ──────────────────────────────────────────────────
532
+ // UpCloud
533
+ // ──────────────────────────────────────────────────
534
+ {
535
+ provider: "UpCloud",
536
+ asn: ["AS202053"],
537
+ rdnsPatterns: [
538
+ "\\.upcloud\\.host$",
539
+ "\\.upcloudusercontent\\.com$",
540
+ ],
541
+ headerPatterns: {},
542
+ errorPatterns: [],
543
+ serviceIdentifiers: [
544
+ { service: "Cloud Server", pattern: "\\.upcloud\\.host" },
545
+ ],
546
+ },
547
+ // ──────────────────────────────────────────────────
548
+ // IBM Cloud
549
+ // ──────────────────────────────────────────────────
550
+ {
551
+ provider: "IBM Cloud",
552
+ asn: ["AS36351", "AS2647"],
553
+ rdnsPatterns: [
554
+ "\\.mybluemix\\.net$",
555
+ "\\.appdomain\\.cloud$",
556
+ "\\.cloud\\.ibm\\.com$",
557
+ ],
558
+ headerPatterns: {
559
+ "x-backside-transport": ".",
560
+ },
561
+ errorPatterns: [],
562
+ serviceIdentifiers: [
563
+ { service: "Cloud Foundry", pattern: "\\.mybluemix\\.net" },
564
+ { service: "Code Engine", pattern: "\\.appdomain\\.cloud" },
565
+ ],
566
+ },
567
+ // ──────────────────────────────────────────────────
568
+ // Huawei Cloud
569
+ // ──────────────────────────────────────────────────
570
+ {
571
+ provider: "Huawei Cloud",
572
+ asn: ["AS136907"],
573
+ rdnsPatterns: [
574
+ "\\.myhuaweicloud\\.com$",
575
+ "\\.huaweicloudobs\\.com$",
576
+ ],
577
+ headerPatterns: {
578
+ "x-obs-request-id": ".",
579
+ },
580
+ errorPatterns: [],
581
+ serviceIdentifiers: [
582
+ { service: "OBS (Object Storage)", pattern: "x-obs-request-id" },
583
+ ],
584
+ },
585
+ // ──────────────────────────────────────────────────
586
+ // GitHub (Microsoft)
587
+ // ──────────────────────────────────────────────────
588
+ {
589
+ provider: "GitHub",
590
+ asn: ["AS36459"],
591
+ rdnsPatterns: [
592
+ "\\.github\\.io$",
593
+ "\\.githubusercontent\\.com$",
594
+ "\\.github\\.dev$",
595
+ ],
596
+ headerPatterns: {
597
+ "x-github-request-id": ".",
598
+ server: "^GitHub\\.com$",
599
+ },
600
+ errorPatterns: [
601
+ "There isn't a GitHub Pages site here",
602
+ ],
603
+ serviceIdentifiers: [
604
+ { service: "Pages", pattern: "\\.github\\.io" },
605
+ { service: "Codespaces", pattern: "\\.github\\.dev" },
606
+ ],
607
+ },
608
+ // ──────────────────────────────────────────────────
609
+ // GitLab
610
+ // ──────────────────────────────────────────────────
611
+ {
612
+ provider: "GitLab",
613
+ asn: ["AS394161"],
614
+ rdnsPatterns: [
615
+ "\\.gitlab\\.io$",
616
+ ],
617
+ headerPatterns: {
618
+ "x-gitlab-custom-domain-host": ".",
619
+ },
620
+ errorPatterns: [
621
+ "The page you're looking for could not be found",
622
+ ],
623
+ serviceIdentifiers: [
624
+ { service: "Pages", pattern: "\\.gitlab\\.io" },
625
+ ],
626
+ },
627
+ ];
628
+ //# sourceMappingURL=cloud-ranges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-ranges.js","sourceRoot":"","sources":["../../src/data/cloud-ranges.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * HTTP cookie patterns for technology and infrastructure identification.
3
+ *
4
+ * Web servers, frameworks, load balancers, CDNs, and WAFs set distinctive cookies
5
+ * that reveal the underlying technology stack. Some infrastructure cookies (F5 BIG-IP,
6
+ * Citrix NetScaler) encode backend server addresses that can be decoded to discover
7
+ * internal network topology.
8
+ *
9
+ * References:
10
+ * - https://github.com/AliasIO/wappalyzer
11
+ * - https://support.f5.com/csp/article/K6917 (BIG-IP cookie persistence)
12
+ * - https://support.citrix.com/article/CTX206793 (NetScaler persistence)
13
+ */
14
+ /** A known cookie pattern entry. */
15
+ export interface CookiePattern {
16
+ /** Regex string or literal prefix to match the cookie name */
17
+ pattern: string;
18
+ /** Human-readable name for the detected technology */
19
+ name: string;
20
+ /** Classification category */
21
+ category: "session" | "infrastructure" | "security" | "analytics";
22
+ /** Specific technology or product identified */
23
+ technology: string;
24
+ /** Human-readable description of how to decode the cookie value (if applicable) */
25
+ decode?: string;
26
+ }
27
+ export declare const COOKIE_PATTERNS: CookiePattern[];
28
+ //# sourceMappingURL=cookie-patterns.d.ts.map