xypriss 9.6.97 → 9.7.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 (171) hide show
  1. package/README.md +55 -22
  2. package/dist/cjs/src/index.js +0 -19
  3. package/dist/cjs/src/index.js.map +1 -1
  4. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js +4 -4
  5. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
  6. package/dist/cjs/src/middleware/built-in/security/HoneypotTarpit.js +510 -0
  7. package/dist/cjs/src/middleware/built-in/security/HoneypotTarpit.js.map +1 -0
  8. package/dist/cjs/src/middleware/built-in/security/SQLInjectionDetector.js +113 -34
  9. package/dist/cjs/src/middleware/built-in/security/SQLInjectionDetector.js.map +1 -1
  10. package/dist/cjs/src/middleware/built-in/security/UriNormalizer.js +413 -0
  11. package/dist/cjs/src/middleware/built-in/security/UriNormalizer.js.map +1 -0
  12. package/dist/cjs/src/middleware/built-in/security/XyPrissCors.js +98 -0
  13. package/dist/cjs/src/middleware/built-in/security/XyPrissCors.js.map +1 -0
  14. package/dist/cjs/src/middleware/built-in/security/XyPrissHPP.js +52 -0
  15. package/dist/cjs/src/middleware/built-in/security/XyPrissHPP.js.map +1 -0
  16. package/dist/cjs/src/middleware/safe-json-middleware.js +0 -82
  17. package/dist/cjs/src/middleware/safe-json-middleware.js.map +1 -1
  18. package/dist/cjs/src/middleware/security-middleware.js +7 -4
  19. package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
  20. package/dist/cjs/src/plugins/builtin/xems/XemsBuiltinPlugin.js +33 -10
  21. package/dist/cjs/src/plugins/builtin/xems/XemsBuiltinPlugin.js.map +1 -1
  22. package/dist/cjs/src/plugins/builtin/xems/XemsPlugin.js +34 -3
  23. package/dist/cjs/src/plugins/builtin/xems/XemsPlugin.js.map +1 -1
  24. package/dist/cjs/src/plugins/const/OFFICIAL_PLUGINS.js +1 -1
  25. package/dist/cjs/src/plugins/const/OFFICIAL_PLUGINS.js.map +1 -1
  26. package/dist/cjs/src/plugins/const/XyprissTempDir.js +72 -9
  27. package/dist/cjs/src/plugins/const/XyprissTempDir.js.map +1 -1
  28. package/dist/cjs/src/plugins/core/manager/PluginLoader.js +8 -0
  29. package/dist/cjs/src/plugins/core/manager/PluginLoader.js.map +1 -1
  30. package/dist/cjs/src/plugins/core/manager/PluginSecurity.js +87 -0
  31. package/dist/cjs/src/plugins/core/manager/PluginSecurity.js.map +1 -1
  32. package/dist/cjs/src/server/FastServer/index.js +5 -0
  33. package/dist/cjs/src/server/FastServer/index.js.map +1 -1
  34. package/dist/cjs/src/server/ServerFactory.js +8 -13
  35. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  36. package/dist/cjs/src/server/components/fastapi/RedirectManager.js +8 -58
  37. package/dist/cjs/src/server/components/fastapi/RedirectManager.js.map +1 -1
  38. package/dist/cjs/src/server/components/fastapi/upload/FileUploadManager.js +1 -1
  39. package/dist/cjs/src/server/components/fastapi/upload/FileUploadManager.js.map +1 -1
  40. package/dist/cjs/src/server/components/multi-server/MultiServerManager.js +9 -1
  41. package/dist/cjs/src/server/components/multi-server/MultiServerManager.js.map +1 -1
  42. package/dist/cjs/src/server/core/HttpServer.js +22 -0
  43. package/dist/cjs/src/server/core/HttpServer.js.map +1 -1
  44. package/dist/cjs/src/server/core/XHSCBridge/EngineManager.js +33 -2
  45. package/dist/cjs/src/server/core/XHSCBridge/EngineManager.js.map +1 -1
  46. package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +1 -1
  47. package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
  48. package/dist/cjs/src/server/core/XyServerCreator.js +1 -0
  49. package/dist/cjs/src/server/core/XyServerCreator.js.map +1 -1
  50. package/dist/cjs/src/shared/logger/quickLogger.js +162 -0
  51. package/dist/cjs/src/shared/logger/quickLogger.js.map +1 -0
  52. package/dist/cjs/src/xhsc/PathApi.js +44 -3
  53. package/dist/cjs/src/xhsc/PathApi.js.map +1 -1
  54. package/dist/cjs/src/xhsc/System.js +2 -0
  55. package/dist/cjs/src/xhsc/System.js.map +1 -1
  56. package/dist/cjs/src/xhsc/UtilsApi.js +52 -0
  57. package/dist/cjs/src/xhsc/UtilsApi.js.map +1 -0
  58. package/dist/cjs/src/xhsc/XyPrissRunner.js +30 -2
  59. package/dist/cjs/src/xhsc/XyPrissRunner.js.map +1 -1
  60. package/dist/cjs/src/xhsc/fs/FSCore.js +148 -0
  61. package/dist/cjs/src/xhsc/fs/FSCore.js.map +1 -1
  62. package/dist/cjs/src/xhsc/fs/FileHandle.js +112 -0
  63. package/dist/cjs/src/xhsc/fs/FileHandle.js.map +1 -0
  64. package/dist/cjs/src/xhsc/ipc/XHSCDirectIPC.js +134 -0
  65. package/dist/cjs/src/xhsc/ipc/XHSCDirectIPC.js.map +1 -0
  66. package/dist/cjs/src/xhsc/utils/ArrayUtils.js +67 -0
  67. package/dist/cjs/src/xhsc/utils/ArrayUtils.js.map +1 -0
  68. package/dist/cjs/src/xhsc/utils/AsyncUtils.js +582 -0
  69. package/dist/cjs/src/xhsc/utils/AsyncUtils.js.map +1 -0
  70. package/dist/cjs/src/xhsc/utils/DateUtils.js +959 -0
  71. package/dist/cjs/src/xhsc/utils/DateUtils.js.map +1 -0
  72. package/dist/cjs/src/xhsc/utils/FunctionUtils.js +29 -0
  73. package/dist/cjs/src/xhsc/utils/FunctionUtils.js.map +1 -0
  74. package/dist/cjs/src/xhsc/utils/IdUtils.js +22 -0
  75. package/dist/cjs/src/xhsc/utils/IdUtils.js.map +1 -0
  76. package/dist/cjs/src/xhsc/utils/NumberUtils.js +79 -0
  77. package/dist/cjs/src/xhsc/utils/NumberUtils.js.map +1 -0
  78. package/dist/cjs/src/xhsc/utils/ObjectUtils.js +141 -0
  79. package/dist/cjs/src/xhsc/utils/ObjectUtils.js.map +1 -0
  80. package/dist/cjs/src/xhsc/utils/StringUtils.js +145 -0
  81. package/dist/cjs/src/xhsc/utils/StringUtils.js.map +1 -0
  82. package/dist/cjs/src/xhsc/utils/ValidationUtils.js +49 -0
  83. package/dist/cjs/src/xhsc/utils/ValidationUtils.js.map +1 -0
  84. package/dist/cjs/src/xhsc.js +5 -3
  85. package/dist/cjs/src/xhsc.js.map +1 -1
  86. package/dist/esm/src/index.js +0 -2
  87. package/dist/esm/src/index.js.map +1 -1
  88. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js +4 -4
  89. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
  90. package/dist/esm/src/middleware/built-in/security/HoneypotTarpit.js +508 -0
  91. package/dist/esm/src/middleware/built-in/security/HoneypotTarpit.js.map +1 -0
  92. package/dist/esm/src/middleware/built-in/security/SQLInjectionDetector.js +113 -34
  93. package/dist/esm/src/middleware/built-in/security/SQLInjectionDetector.js.map +1 -1
  94. package/dist/esm/src/middleware/built-in/security/UriNormalizer.js +391 -0
  95. package/dist/esm/src/middleware/built-in/security/UriNormalizer.js.map +1 -0
  96. package/dist/esm/src/middleware/built-in/security/XyPrissCors.js +96 -0
  97. package/dist/esm/src/middleware/built-in/security/XyPrissCors.js.map +1 -0
  98. package/dist/esm/src/middleware/built-in/security/XyPrissHPP.js +50 -0
  99. package/dist/esm/src/middleware/built-in/security/XyPrissHPP.js.map +1 -0
  100. package/dist/esm/src/middleware/safe-json-middleware.js +1 -79
  101. package/dist/esm/src/middleware/safe-json-middleware.js.map +1 -1
  102. package/dist/esm/src/middleware/security-middleware.js +7 -4
  103. package/dist/esm/src/middleware/security-middleware.js.map +1 -1
  104. package/dist/esm/src/plugins/builtin/xems/XemsBuiltinPlugin.js +33 -10
  105. package/dist/esm/src/plugins/builtin/xems/XemsBuiltinPlugin.js.map +1 -1
  106. package/dist/esm/src/plugins/builtin/xems/XemsPlugin.js +34 -3
  107. package/dist/esm/src/plugins/builtin/xems/XemsPlugin.js.map +1 -1
  108. package/dist/esm/src/plugins/const/OFFICIAL_PLUGINS.js +1 -1
  109. package/dist/esm/src/plugins/const/OFFICIAL_PLUGINS.js.map +1 -1
  110. package/dist/esm/src/plugins/const/XyprissTempDir.js +70 -9
  111. package/dist/esm/src/plugins/const/XyprissTempDir.js.map +1 -1
  112. package/dist/esm/src/plugins/core/manager/PluginLoader.js +8 -0
  113. package/dist/esm/src/plugins/core/manager/PluginLoader.js.map +1 -1
  114. package/dist/esm/src/plugins/core/manager/PluginSecurity.js +87 -0
  115. package/dist/esm/src/plugins/core/manager/PluginSecurity.js.map +1 -1
  116. package/dist/esm/src/server/FastServer/index.js +5 -0
  117. package/dist/esm/src/server/FastServer/index.js.map +1 -1
  118. package/dist/esm/src/server/ServerFactory.js +8 -1
  119. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  120. package/dist/esm/src/server/components/fastapi/RedirectManager.js +8 -58
  121. package/dist/esm/src/server/components/fastapi/RedirectManager.js.map +1 -1
  122. package/dist/esm/src/server/components/fastapi/upload/FileUploadManager.js +1 -1
  123. package/dist/esm/src/server/components/fastapi/upload/FileUploadManager.js.map +1 -1
  124. package/dist/esm/src/server/components/multi-server/MultiServerManager.js +9 -1
  125. package/dist/esm/src/server/components/multi-server/MultiServerManager.js.map +1 -1
  126. package/dist/esm/src/server/core/HttpServer.js +22 -0
  127. package/dist/esm/src/server/core/HttpServer.js.map +1 -1
  128. package/dist/esm/src/server/core/XHSCBridge/EngineManager.js +33 -2
  129. package/dist/esm/src/server/core/XHSCBridge/EngineManager.js.map +1 -1
  130. package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +1 -1
  131. package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
  132. package/dist/esm/src/server/core/XyServerCreator.js +1 -0
  133. package/dist/esm/src/server/core/XyServerCreator.js.map +1 -1
  134. package/dist/esm/src/shared/logger/quickLogger.js +160 -0
  135. package/dist/esm/src/shared/logger/quickLogger.js.map +1 -0
  136. package/dist/esm/src/xhsc/PathApi.js +44 -3
  137. package/dist/esm/src/xhsc/PathApi.js.map +1 -1
  138. package/dist/esm/src/xhsc/System.js +2 -0
  139. package/dist/esm/src/xhsc/System.js.map +1 -1
  140. package/dist/esm/src/xhsc/UtilsApi.js +50 -0
  141. package/dist/esm/src/xhsc/UtilsApi.js.map +1 -0
  142. package/dist/esm/src/xhsc/XyPrissRunner.js +30 -2
  143. package/dist/esm/src/xhsc/XyPrissRunner.js.map +1 -1
  144. package/dist/esm/src/xhsc/fs/FSCore.js +148 -0
  145. package/dist/esm/src/xhsc/fs/FSCore.js.map +1 -1
  146. package/dist/esm/src/xhsc/fs/FileHandle.js +110 -0
  147. package/dist/esm/src/xhsc/fs/FileHandle.js.map +1 -0
  148. package/dist/esm/src/xhsc/ipc/XHSCDirectIPC.js +113 -0
  149. package/dist/esm/src/xhsc/ipc/XHSCDirectIPC.js.map +1 -0
  150. package/dist/esm/src/xhsc/utils/ArrayUtils.js +65 -0
  151. package/dist/esm/src/xhsc/utils/ArrayUtils.js.map +1 -0
  152. package/dist/esm/src/xhsc/utils/AsyncUtils.js +580 -0
  153. package/dist/esm/src/xhsc/utils/AsyncUtils.js.map +1 -0
  154. package/dist/esm/src/xhsc/utils/DateUtils.js +957 -0
  155. package/dist/esm/src/xhsc/utils/DateUtils.js.map +1 -0
  156. package/dist/esm/src/xhsc/utils/FunctionUtils.js +27 -0
  157. package/dist/esm/src/xhsc/utils/FunctionUtils.js.map +1 -0
  158. package/dist/esm/src/xhsc/utils/IdUtils.js +20 -0
  159. package/dist/esm/src/xhsc/utils/IdUtils.js.map +1 -0
  160. package/dist/esm/src/xhsc/utils/NumberUtils.js +77 -0
  161. package/dist/esm/src/xhsc/utils/NumberUtils.js.map +1 -0
  162. package/dist/esm/src/xhsc/utils/ObjectUtils.js +139 -0
  163. package/dist/esm/src/xhsc/utils/ObjectUtils.js.map +1 -0
  164. package/dist/esm/src/xhsc/utils/StringUtils.js +143 -0
  165. package/dist/esm/src/xhsc/utils/StringUtils.js.map +1 -0
  166. package/dist/esm/src/xhsc/utils/ValidationUtils.js +47 -0
  167. package/dist/esm/src/xhsc/utils/ValidationUtils.js.map +1 -0
  168. package/dist/esm/src/xhsc.js +6 -5
  169. package/dist/esm/src/xhsc.js.map +1 -1
  170. package/dist/index.d.ts +1872 -234
  171. package/package.json +119 -137
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltInMiddleware.js","sources":["../../../../../src/middleware/built-in/BuiltInMiddleware.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BuiltInMiddleware.js","sources":["../../../../../src/middleware/built-in/BuiltInMiddleware.ts"],"sourcesContent":[null],"names":["cors","hpp"],"mappings":"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"}
@@ -0,0 +1,508 @@
1
+ import { UriNormalizer } from './UriNormalizer.js';
2
+
3
+ /**
4
+ * @module HoneypotTarpit
5
+ * @version 2.0.0
6
+ *
7
+ * A hardened, zero-false-positive honeypot tarpit designed to instantly identify
8
+ * and neutralize connections from malicious bots, vulnerability scanners, and
9
+ * automated exploit frameworks (e.g. Shodan crawlers, Nuclei, WPScan, Metasploit).
10
+ *
11
+ * ### Architecture
12
+ * Detection is performed in a layered pipeline, ordered from cheapest to most
13
+ * specific, so the most common attacks are rejected at the very first check:
14
+ *
15
+ * ```
16
+ * raw path
17
+ * │
18
+ * ▼
19
+ * [1] sanitizeInput() — rejects null / non-string / oversized paths
20
+ * │
21
+ * ▼
22
+ * [2] normalizePath() — decodes percent-encoding, collapses traversal
23
+ * sequences, removes redundant slashes
24
+ * │
25
+ * ▼
26
+ * [3] matchesExactTrap() — O(1) Set lookup for highest-confidence paths
27
+ * │
28
+ * ▼
29
+ * [4] matchesPrefixTrap() — catches sub-paths under sensitive directories
30
+ * │
31
+ * ▼
32
+ * [5] matchesSuffixTrap() — catches files by dangerous extension
33
+ * │
34
+ * ▼
35
+ * [6] matchesSegmentTrap() — catches scanner-specific path segments
36
+ * │
37
+ * ▼
38
+ * result → true (trap) | false (safe)
39
+ * ```
40
+ *
41
+ * ### Design Principles
42
+ * - **Zero false positives**: every rule targets patterns that are *never* used
43
+ * by legitimate production applications. Generic extensions like `.php` are
44
+ * intentionally excluded; only high-signal, context-specific signatures are used.
45
+ * - **Bypass resistance**: the normalizer resolves URL encoding, path traversal
46
+ * (`../`), and duplicate slashes before any rule is evaluated.
47
+ * - **O(1) hot path**: the most common scanner payloads hit a `Set` lookup and
48
+ * return immediately with no iteration cost.
49
+ * - **No public surface expansion**: all detection helpers are `private static`,
50
+ * keeping the public API surface identical to v1.
51
+ *
52
+ * ### Security Benefits
53
+ * - Bypasses all expensive application routing, regex matching, and payload parsing.
54
+ * - Responds with a bare 403 before any middleware, session, or DB code runs.
55
+ * - Saves server CPU and Node.js event-loop headroom under automated attack.
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * // Middleware usage (Express / Fastify raw handler)
60
+ * app.use((req, res, next) => {
61
+ * if (HoneypotTarpit.isTrap(req.url)) {
62
+ * return HoneypotTarpit.handleTrap(req, res);
63
+ * }
64
+ * next();
65
+ * });
66
+ * ```
67
+ */
68
+ class HoneypotTarpit {
69
+ // ─────────────────────────────────────────────────────────────────────────
70
+ // Public API
71
+ // ─────────────────────────────────────────────────────────────────────────
72
+ /**
73
+ * Determines whether a raw URI path matches any known honeypot trap signature.
74
+ *
75
+ * The method is intentionally **stateless and synchronous** to guarantee
76
+ * sub-millisecond latency even under high-volume scanner floods. It applies
77
+ * a four-stage pipeline internally (see module-level docs) and returns as
78
+ * soon as the first positive match is found.
79
+ *
80
+ * #### False-positive safeguards
81
+ * - Input is sanitized and validated before any rule is evaluated.
82
+ * - Path normalization resolves all encoding tricks before matching.
83
+ * - All rules are scoped to patterns that are unambiguously malicious.
84
+ * - Broad wildcard rules (e.g. "all `.php` files") are deliberately absent.
85
+ *
86
+ * @param {string} rawPath - The raw, un-normalized URI path from the incoming
87
+ * request (e.g. `req.url` in Node.js `http.IncomingMessage`). Query strings
88
+ * and fragments are accepted but stripped before evaluation.
89
+ * @returns {boolean} `true` if the path matches a trap and the request should
90
+ * be handed to {@link handleTrap}; `false` if the path appears legitimate.
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * HoneypotTarpit.isTrap("/.env"); // true
95
+ * HoneypotTarpit.isTrap("/.env%2elocal"); // true (encoded bypass)
96
+ * HoneypotTarpit.isTrap("/api/v1/users"); // false
97
+ * HoneypotTarpit.isTrap("/assets/logo.png"); // false
98
+ * HoneypotTarpit.isTrap("/../.env"); // true (traversal bypass)
99
+ * ```
100
+ */
101
+ static isTrap(rawPath) {
102
+ if (!HoneypotTarpit.sanitizeInput(rawPath)) {
103
+ // Malformed or oversized paths are themselves a signal of probing.
104
+ return true;
105
+ }
106
+ const pathPart = rawPath.split(/[?#]/)[0];
107
+ const normalized = UriNormalizer.normalizePath(pathPart).toLowerCase();
108
+ return (HoneypotTarpit.matchesExactTrap(normalized) ||
109
+ HoneypotTarpit.matchesPrefixTrap(normalized) ||
110
+ HoneypotTarpit.matchesSuffixTrap(normalized) ||
111
+ HoneypotTarpit.matchesSegmentTrap(normalized));
112
+ }
113
+ /**
114
+ * Sends a minimal HTTP 403 Forbidden response and terminates the connection.
115
+ *
116
+ * The response is intentionally bare — no body, no `Content-Type`, no
117
+ * application-level headers — to minimize bandwidth consumption and avoid
118
+ * leaking server fingerprint information to the scanner.
119
+ *
120
+ * #### Why 403 and not a socket destroy?
121
+ * Destroying the raw socket (`req.socket.destroy()`) is tempting but unsafe
122
+ * when the Node.js process sits behind a reverse proxy (nginx, Caddy, HAProxy)
123
+ * or uses keep-alive connection pooling, because the socket may be shared
124
+ * across multiple logical HTTP requests. A 403 + `res.end()` correctly closes
125
+ * only the current HTTP transaction without disrupting the underlying TCP
126
+ * connection pool.
127
+ *
128
+ * @param {object} req - The raw incoming request object. Compatible with
129
+ * `http.IncomingMessage`, `Http2ServerRequest`, and Fastify/Express
130
+ * request wrappers. Not used directly but accepted for API symmetry and
131
+ * future extensibility (e.g. logging, rate-limiting by IP).
132
+ * @param {object} res - The raw outgoing response object. Must expose
133
+ * `writeHead(statusCode: number): void` and `end(): void`. Compatible
134
+ * with `http.ServerResponse`, `Http2ServerResponse`, and most framework
135
+ * response wrappers.
136
+ * @returns {void}
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * app.use((req, res, next) => {
141
+ * if (HoneypotTarpit.isTrap(req.url)) {
142
+ * return HoneypotTarpit.handleTrap(req, res);
143
+ * }
144
+ * next();
145
+ * });
146
+ * ```
147
+ */
148
+ static handleTrap(req, res) {
149
+ try {
150
+ if (typeof res.writeHead === "function") {
151
+ res.writeHead(403);
152
+ }
153
+ if (typeof res.end === "function") {
154
+ res.end();
155
+ }
156
+ }
157
+ catch {
158
+ // Failsafe: swallow all errors — the goal is merely to drop the
159
+ // connection. Any exception here means the socket is already gone.
160
+ }
161
+ }
162
+ // ─────────────────────────────────────────────────────────────────────────
163
+ // Private — Input Validation
164
+ // ─────────────────────────────────────────────────────────────────────────
165
+ /**
166
+ * Validates that the raw path is a non-empty string within the accepted
167
+ * length budget.
168
+ *
169
+ * Paths that fail this check (wrong type, empty, or suspiciously long) are
170
+ * themselves indicators of malicious probing and should be treated as traps
171
+ * by the caller.
172
+ *
173
+ * @param {unknown} value - The raw value received from the request object.
174
+ * @returns {boolean} `true` if the value is a safe, processable string;
175
+ * `false` if it should be rejected immediately.
176
+ *
177
+ * @internal
178
+ */
179
+ static sanitizeInput(value) {
180
+ return (typeof value === "string" &&
181
+ value.length > 0 &&
182
+ value.length <= HoneypotTarpit.MAX_PATH_LENGTH);
183
+ }
184
+ // ─────────────────────────────────────────────────────────────────────────
185
+ // Private — Match Layers
186
+ // ─────────────────────────────────────────────────────────────────────────
187
+ /**
188
+ * Layer 1 — Exact path match.
189
+ *
190
+ * Performs an O(1) `Set` lookup against {@link EXACT_TRAPS}. This is the
191
+ * most performant check and handles the vast majority of scanner probes,
192
+ * which tend to request well-known canonical paths verbatim.
193
+ *
194
+ * @param {string} normalizedPath - The fully normalized, lowercase path.
195
+ * @returns {boolean} `true` if the path is an exact trap match.
196
+ *
197
+ * @internal
198
+ */
199
+ static matchesExactTrap(normalizedPath) {
200
+ return HoneypotTarpit.EXACT_TRAPS.has(normalizedPath);
201
+ }
202
+ /**
203
+ * Layer 2 — Directory prefix match.
204
+ *
205
+ * Tests whether the normalized path starts with any entry from
206
+ * {@link PREFIX_TRAPS}. This catches requests for any sub-resource within
207
+ * a sensitive directory (e.g. `/.git/logs/HEAD`, `/.ssh/known_hosts`).
208
+ *
209
+ * Each prefix entry is stored with a trailing `/` to prevent false positives
210
+ * from partial name collisions (e.g. `/.gitignore` must not match the
211
+ * `/.git/` prefix).
212
+ *
213
+ * @param {string} normalizedPath - The fully normalized, lowercase path.
214
+ * @returns {boolean} `true` if the path falls under a trapped directory.
215
+ *
216
+ * @internal
217
+ */
218
+ static matchesPrefixTrap(normalizedPath) {
219
+ for (const prefix of HoneypotTarpit.PREFIX_TRAPS) {
220
+ if (normalizedPath.startsWith(prefix)) {
221
+ return true;
222
+ }
223
+ }
224
+ return false;
225
+ }
226
+ /**
227
+ * Layer 3 — File extension (suffix) match.
228
+ *
229
+ * Extracts the file extension from the final path segment and checks it
230
+ * against {@link SUFFIX_TRAPS}. Only the extension of the *filename* is
231
+ * considered; directory components are ignored to prevent collisions like
232
+ * `/certs-info/page` matching `.certs`.
233
+ *
234
+ * The comparison is performed on the already-lowercased normalized path,
235
+ * so no additional case folding is required here.
236
+ *
237
+ * @param {string} normalizedPath - The fully normalized, lowercase path.
238
+ * @returns {boolean} `true` if the file extension is a known trap extension.
239
+ *
240
+ * @internal
241
+ */
242
+ static matchesSuffixTrap(normalizedPath) {
243
+ const lastSegment = normalizedPath.split("/").pop() ?? "";
244
+ const dotIndex = lastSegment.lastIndexOf(".");
245
+ if (dotIndex === -1) {
246
+ return false; // No extension present.
247
+ }
248
+ const extension = lastSegment.slice(dotIndex); // e.g. ".pem"
249
+ return HoneypotTarpit.SUFFIX_TRAPS.has(extension);
250
+ }
251
+ /**
252
+ * Layer 4 — Path segment match.
253
+ *
254
+ * Splits the normalized path into discrete segments and checks each one
255
+ * against {@link SEGMENT_TRAPS}. This catches scanner payloads embedded
256
+ * at arbitrary depths (e.g. `/api/v2/actuator`, `/proxy/wp-login.php`).
257
+ *
258
+ * Matching on full segments (rather than substrings) prevents false positives
259
+ * such as `/administration` matching a rule for `admin`.
260
+ *
261
+ * @param {string} normalizedPath - The fully normalized, lowercase path.
262
+ * @returns {boolean} `true` if any path segment matches a known trap segment.
263
+ *
264
+ * @internal
265
+ */
266
+ static matchesSegmentTrap(normalizedPath) {
267
+ const segments = normalizedPath.split("/").filter(Boolean);
268
+ for (const segment of segments) {
269
+ if (HoneypotTarpit.SEGMENT_TRAPS.has(segment)) {
270
+ return true;
271
+ }
272
+ }
273
+ return false;
274
+ }
275
+ }
276
+ // ─────────────────────────────────────────────────────────────────────────
277
+ // Constants
278
+ // ─────────────────────────────────────────────────────────────────────────
279
+ /**
280
+ * Maximum accepted path length (bytes).
281
+ * Paths exceeding this length are treated as traps to neutralize buffer-probing
282
+ * attacks before any string processing occurs.
283
+ *
284
+ * @internal
285
+ */
286
+ HoneypotTarpit.MAX_PATH_LENGTH = 2048;
287
+ // ─────────────────────────────────────────────────────────────────────────
288
+ // Trap Signatures — Exact Paths
289
+ // ─────────────────────────────────────────────────────────────────────────
290
+ /**
291
+ * High-confidence exact paths that are **never** legitimate in any modern
292
+ * web application. All entries are lowercase; comparison is performed against
293
+ * a lowercased, normalized path.
294
+ *
295
+ * Sources: OWASP Top-10 scanner payloads, Shodan query signatures,
296
+ * Nuclei template library, Metasploit auxiliary scanner modules.
297
+ *
298
+ * @internal
299
+ */
300
+ HoneypotTarpit.EXACT_TRAPS = new Set([
301
+ // ── Credentials & Secrets ─────────────────────────────────────────
302
+ "/.env",
303
+ "/.env.local",
304
+ "/.env.production",
305
+ "/.env.staging",
306
+ "/.env.development",
307
+ "/.env.test",
308
+ "/.env.backup",
309
+ "/.env.bak",
310
+ "/.env.old",
311
+ "/.env.orig",
312
+ "/.env.example", // may contain real secrets in misconfigured repos
313
+ "/.aws/credentials",
314
+ "/.aws/config",
315
+ "/.ssh/id_rsa",
316
+ "/.ssh/id_dsa",
317
+ "/.ssh/id_ecdsa",
318
+ "/.ssh/id_ed25519",
319
+ "/.ssh/authorized_keys",
320
+ "/.ssh/known_hosts",
321
+ "/.netrc",
322
+ "/.htpasswd",
323
+ "/.pgpass",
324
+ // ── Git / Version Control ─────────────────────────────────────────
325
+ "/.git",
326
+ "/.git/config",
327
+ "/.git/head",
328
+ "/.git/index",
329
+ "/.git/packed-refs",
330
+ "/.git/refs/heads/main",
331
+ "/.git/refs/heads/master",
332
+ "/.gitconfig",
333
+ "/.svn/entries",
334
+ "/.hg/hgrc",
335
+ // ── Cloud & Infrastructure Config ─────────────────────────────────
336
+ "/docker-compose.yml",
337
+ "/docker-compose.yaml",
338
+ "/.dockerenv",
339
+ "/dockerfile",
340
+ "/kubernetes.yml",
341
+ "/k8s.yml",
342
+ "/terraform.tfvars",
343
+ "/.terraform/terraform.tfstate",
344
+ // ── Application Config Files ──────────────────────────────────────
345
+ "/config.json",
346
+ "/config.yml",
347
+ "/config.yaml",
348
+ "/settings.json",
349
+ "/appsettings.json",
350
+ "/appsettings.production.json",
351
+ "/web.config",
352
+ "/app.config",
353
+ "/database.yml",
354
+ "/secrets.yml",
355
+ // ── Dependency & Build Artefacts ──────────────────────────────────
356
+ "/composer.lock",
357
+ "/composer.json",
358
+ "/package.json",
359
+ "/package-lock.json",
360
+ "/yarn.lock",
361
+ "/gemfile.lock",
362
+ "/pipfile.lock",
363
+ "/poetry.lock",
364
+ "/cargo.lock",
365
+ "/go.sum",
366
+ // ── IDE & Editor Files ────────────────────────────────────────────
367
+ "/.vscode/sftp.json",
368
+ "/.vscode/launch.json",
369
+ "/.idea/dataSources.xml",
370
+ "/.idea/workspace.xml",
371
+ // ── PHP / WordPress ───────────────────────────────────────────────
372
+ "/wp-login.php",
373
+ "/wp-admin",
374
+ "/wp-config.php",
375
+ "/wp-config.php.bak",
376
+ "/wp-config.php.orig",
377
+ "/wp-config.php.save",
378
+ "/wp-config-sample.php",
379
+ "/xmlrpc.php",
380
+ "/phpinfo.php",
381
+ "/php.ini",
382
+ "/php-fpm.conf",
383
+ // ── Spring Boot / Java Actuator ───────────────────────────────────
384
+ "/actuator",
385
+ "/actuator/env",
386
+ "/actuator/health",
387
+ "/actuator/info",
388
+ "/actuator/mappings",
389
+ "/actuator/beans",
390
+ "/actuator/configprops",
391
+ "/actuator/dump",
392
+ "/actuator/shutdown",
393
+ "/env", // standalone Spring env endpoint
394
+ "/heapdump",
395
+ "/trace",
396
+ // ── Common CMS / Admin Panels ─────────────────────────────────────
397
+ "/admin",
398
+ "/administrator",
399
+ "/phpmyadmin",
400
+ "/pma",
401
+ "/adminer",
402
+ "/adminer.php",
403
+ "/typo3",
404
+ "/joomla",
405
+ "/drupal",
406
+ "/magento",
407
+ "/manager/html", // Tomcat manager
408
+ // ── macOS / OS Artefacts ──────────────────────────────────────────
409
+ "/.ds_store",
410
+ "/thumbs.db",
411
+ "/desktop.ini",
412
+ // ── Backup & Dump Files ───────────────────────────────────────────
413
+ "/backup.sql",
414
+ "/dump.sql",
415
+ "/database.sql",
416
+ "/db.sql",
417
+ "/backup.zip",
418
+ "/backup.tar.gz",
419
+ "/www.zip",
420
+ "/site.tar.gz",
421
+ ]);
422
+ // ─────────────────────────────────────────────────────────────────────────
423
+ // Trap Signatures — Directory Prefixes
424
+ // ─────────────────────────────────────────────────────────────────────────
425
+ /**
426
+ * Path prefixes whose entire subtree should be considered traps.
427
+ * A request for `/.git/logs/HEAD` is just as dangerous as one for `/.git/config`.
428
+ *
429
+ * Rules are matched with a trailing-slash anchor to avoid collisions
430
+ * (e.g. `/.gitignore` must **not** match the `/.git/` prefix rule).
431
+ *
432
+ * @internal
433
+ */
434
+ HoneypotTarpit.PREFIX_TRAPS = new Set([
435
+ "/.git/",
436
+ "/.svn/",
437
+ "/.hg/",
438
+ "/.ssh/",
439
+ "/.aws/",
440
+ "/.vscode/",
441
+ "/.idea/",
442
+ "/wp-includes/",
443
+ "/wp-content/plugins/",
444
+ "/wp-admin/",
445
+ "/actuator/",
446
+ "/proc/", // Linux /proc LFI attempts
447
+ "/etc/", // /etc/passwd, /etc/shadow LFI attempts
448
+ "/var/log/", // log file LFI
449
+ ]);
450
+ // ─────────────────────────────────────────────────────────────────────────
451
+ // Trap Signatures — File Extensions
452
+ // ─────────────────────────────────────────────────────────────────────────
453
+ /**
454
+ * File extensions that are exclusively associated with scanner probes or
455
+ * sensitive file types that should **never** be served over HTTP in any
456
+ * legitimate modern application.
457
+ *
458
+ * Deliberately conservative — common extensions like `.php`, `.bak`, or
459
+ * `.log` are excluded because they *may* be intentionally served by some
460
+ * apps. Only zero-ambiguity extensions are listed here.
461
+ *
462
+ * @internal
463
+ */
464
+ HoneypotTarpit.SUFFIX_TRAPS = new Set([
465
+ ".pem", // TLS private keys / certificates
466
+ ".p12", // PKCS#12 keystores
467
+ ".pfx", // Personal Information Exchange (Windows keystore)
468
+ ".key", // Generic private keys
469
+ ".crt", // X.509 certificates (when accessed directly)
470
+ ".cer", // Alternative certificate extension
471
+ ".jks", // Java KeyStore
472
+ ".id_rsa", // SSH private key variants with compound extensions
473
+ ".htaccess", // Apache access control — never a user-facing resource
474
+ ".htpasswd", // Apache password file
475
+ ".DS_Store", // macOS metadata (case-normalised before comparison)
476
+ ".tfstate", // Terraform state (may contain secrets)
477
+ ".tfvars", // Terraform variable files (often contain secrets)
478
+ ]);
479
+ // ─────────────────────────────────────────────────────────────────────────
480
+ // Trap Signatures — Path Segments
481
+ // ─────────────────────────────────────────────────────────────────────────
482
+ /**
483
+ * Discrete path segments (surrounded by `/` boundaries or at string edges)
484
+ * that indicate well-known scanner probes regardless of their position in
485
+ * the path hierarchy.
486
+ *
487
+ * Each entry is matched as a full segment to prevent substring collisions
488
+ * (e.g. `"admin"` must not trap `/admin-panel` but must trap `/api/admin`).
489
+ *
490
+ * @internal
491
+ */
492
+ HoneypotTarpit.SEGMENT_TRAPS = new Set([
493
+ "phpmyadmin",
494
+ "pma",
495
+ "adminer",
496
+ "wp-login.php",
497
+ "xmlrpc.php",
498
+ "phpinfo.php",
499
+ ".env",
500
+ ".git",
501
+ ".svn",
502
+ ".hg",
503
+ "actuator",
504
+ "heapdump",
505
+ ]);
506
+
507
+ export { HoneypotTarpit };
508
+ //# sourceMappingURL=HoneypotTarpit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoneypotTarpit.js","sources":["../../../../../../src/middleware/built-in/security/HoneypotTarpit.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}