@designofadecade/server 4.0.0 → 4.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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [4.1.0] - 2026-03-12
11
+
12
+ ### Changed
13
+ - Improved CI/CD pipeline to use npm Trusted Publishing instead of tokens for enhanced security
14
+ - Moved deployment checklist to docs folder for better organization
15
+
16
+ ### Added
17
+ - Documentation for granular npm token setup (for reference)
18
+ - Enhanced HtmlSanitizer with additional security features:
19
+ - Never-Allow List for inherently dangerous tags (script, iframe, form, etc.)
20
+ - Multi-pass entity decoding to prevent nested encoding attacks
21
+ - Null byte protection to prevent string termination attacks
22
+ - Event handler removal to strip all event attributes
23
+ - External link security with auto-added target="_blank" rel="noopener noreferrer"
24
+ - Final security check to verify output before returning
25
+
10
26
  ## [4.0.0] - 2026-02-28
11
27
 
12
28
  ### Changed
@@ -6,14 +6,20 @@
6
6
  * Security Features:
7
7
  * - XSS Prevention: Blocks dangerous protocols (javascript:, data:, vbscript:, etc.)
8
8
  * - DoS Protection: Enforces maximum input size limits
9
+ * - Never-Allow List: Blocks inherently dangerous tags (script, iframe, form, etc.)
10
+ * - Multi-Pass Entity Decoding: Prevents nested encoding attacks
11
+ * - Null Byte Protection: Removes string termination attack vectors
12
+ * - Event Handler Removal: Strips all event attributes (onclick, onerror, etc.)
9
13
  * - Script/Style Removal: Completely removes script and style tags with content
10
14
  * - HTML Comment Stripping: Removes comments that could hide malicious content
11
15
  * - URL Validation: Validates and sanitizes URLs in anchor tags
16
+ * - External Link Security: Auto-adds target="_blank" rel="noopener noreferrer"
12
17
  * - Entity Decoding: Safely decodes HTML entities with range validation
13
18
  * - Attribute Escaping: Prevents attribute injection attacks
19
+ * - Final Security Check: Verifies output before returning
14
20
  *
15
21
  * @module HtmlSanitizer
16
- * @version 2.0.0
22
+ * @version 3.0.0
17
23
  */
18
24
  /**
19
25
  * Result type for sanitization methods
@@ -1 +1 @@
1
- {"version":3,"file":"HtmlSanitizer.d.ts","sourceRoot":"","sources":["../../src/sanitizer/HtmlSanitizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAeH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAmCD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAKhC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM;IA2IzD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI9C;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,oBAAoB,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM;IA4CT;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAkCzC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQrC;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA2BjD;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA6B5C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IA+EvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAuI3C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAqFhD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG"}
1
+ {"version":3,"file":"HtmlSanitizer.d.ts","sourceRoot":"","sources":["../../src/sanitizer/HtmlSanitizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAeH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AA4DD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAKhC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM;IA4NzD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI9C;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,oBAAoB,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM;IA4CT;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAkCzC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQrC;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA2BjD;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA6B5C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IA+EvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAuI3C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAqFhD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG"}
@@ -6,14 +6,20 @@
6
6
  * Security Features:
7
7
  * - XSS Prevention: Blocks dangerous protocols (javascript:, data:, vbscript:, etc.)
8
8
  * - DoS Protection: Enforces maximum input size limits
9
+ * - Never-Allow List: Blocks inherently dangerous tags (script, iframe, form, etc.)
10
+ * - Multi-Pass Entity Decoding: Prevents nested encoding attacks
11
+ * - Null Byte Protection: Removes string termination attack vectors
12
+ * - Event Handler Removal: Strips all event attributes (onclick, onerror, etc.)
9
13
  * - Script/Style Removal: Completely removes script and style tags with content
10
14
  * - HTML Comment Stripping: Removes comments that could hide malicious content
11
15
  * - URL Validation: Validates and sanitizes URLs in anchor tags
16
+ * - External Link Security: Auto-adds target="_blank" rel="noopener noreferrer"
12
17
  * - Entity Decoding: Safely decodes HTML entities with range validation
13
18
  * - Attribute Escaping: Prevents attribute injection attacks
19
+ * - Final Security Check: Verifies output before returning
14
20
  *
15
21
  * @module HtmlSanitizer
16
- * @version 2.0.0
22
+ * @version 3.0.0
17
23
  */
18
24
  import { logger } from '../logger/Logger.js';
19
25
  // ============================================================================
@@ -39,6 +45,31 @@ const DANGEROUS_PROTOCOLS = /^(javascript:|vbscript:|data:|file:|about:|blob:)/i
39
45
  * Safe protocols allowed in URLs
40
46
  */
41
47
  const SAFE_PROTOCOLS = /^(https?:\/\/|mailto:|tel:|sms:|\/|\.\/|\.\.\/|#)/i;
48
+ /**
49
+ * Tags that should NEVER be allowed, even if explicitly requested
50
+ * These tags can execute scripts, load external content, or modify page behavior
51
+ */
52
+ const NEVER_ALLOWED_TAGS = new Set([
53
+ 'script', // JavaScript execution
54
+ 'style', // Can load external content via @import
55
+ 'iframe', // Can load external content
56
+ 'object', // Can load external content/plugins
57
+ 'embed', // Can load external content/plugins
58
+ 'applet', // Java applets (deprecated but dangerous)
59
+ 'link', // Can load external stylesheets
60
+ 'base', // Can change all relative URLs
61
+ 'meta', // Can do redirects, set encoding
62
+ 'form', // Can submit data to external sites
63
+ 'input', // Form inputs
64
+ 'button', // Can trigger actions
65
+ 'textarea', // Form inputs
66
+ 'select', // Form inputs
67
+ ]);
68
+ /**
69
+ * Maximum number of entity decoding passes to prevent infinite loops
70
+ * while still catching multiple levels of encoding
71
+ */
72
+ const MAX_DECODE_PASSES = 3;
42
73
  // ============================================================================
43
74
  // HtmlSanitizer Class
44
75
  // ============================================================================
@@ -106,6 +137,16 @@ export default class HtmlSanitizer {
106
137
  });
107
138
  return false;
108
139
  }
140
+ const lowerTag = tag.toLowerCase();
141
+ // SECURITY: Block inherently dangerous tags even if requested
142
+ if (NEVER_ALLOWED_TAGS.has(lowerTag)) {
143
+ logger.warn('Dangerous tag blocked from allowed list', {
144
+ code: 'SANITIZER_DANGEROUS_TAG_BLOCKED',
145
+ source: 'HtmlSanitizer.clean',
146
+ tag: lowerTag,
147
+ });
148
+ return false;
149
+ }
109
150
  return true;
110
151
  })
111
152
  .map((tag) => tag.toLowerCase());
@@ -129,17 +170,56 @@ export default class HtmlSanitizer {
129
170
  html = html.substring(0, MAX_INPUT_SIZE);
130
171
  }
131
172
  // ====================================================================
132
- // Step 4: Remove Dangerous Content
173
+ // Step 4: Remove Null Bytes (String Termination Attacks)
174
+ // ====================================================================
175
+ // SECURITY: Remove null bytes that could be used to terminate strings
176
+ // in some contexts and bypass filters
177
+ html = html.replace(/\0/g, '');
178
+ // ====================================================================
179
+ // Step 5: Decode HTML Entities Multiple Times (XSS Prevention)
180
+ // ====================================================================
181
+ // SECURITY: Decode entities multiple times to catch nested encoding attacks
182
+ // For example: &amp;lt;script&amp;gt; -> &lt;script&gt; -> <script>
183
+ // We do multiple passes (up to MAX_DECODE_PASSES) until no more changes occur
184
+ let previousHtml = '';
185
+ let decodePass = 0;
186
+ while (html !== previousHtml && decodePass < MAX_DECODE_PASSES) {
187
+ previousHtml = html;
188
+ html = this.decodeHtmlEntities(html);
189
+ decodePass++;
190
+ }
191
+ if (decodePass >= MAX_DECODE_PASSES && html !== previousHtml) {
192
+ logger.warn('Max entity decode passes reached, possible encoding attack', {
193
+ code: 'SANITIZER_MAX_DECODE_PASSES',
194
+ source: 'HtmlSanitizer.clean',
195
+ passes: decodePass,
196
+ });
197
+ }
198
+ // ====================================================================
199
+ // Step 6: Remove Dangerous Content
133
200
  // ====================================================================
134
201
  // Remove HTML comments (could hide malicious content)
135
202
  let cleaned = html.replace(/<!--[\s\S]*?-->/g, '');
136
- // Remove script and style tags entirely (including their content)
137
- cleaned = cleaned.replace(/<(script|style)[^>]*>[\s\S]*?<\/\1>/gi, '');
203
+ // Remove dangerous tags entirely (including their content)
204
+ // This is a safety net - these should already be blocked, but we remove them
205
+ // in case they appear in the content
206
+ cleaned = cleaned.replace(/<(script|style|iframe|object|embed|applet|link|base|meta|form|input|button|textarea|select)[^>]*>[\s\S]*?<\/\1>/gi, '');
207
+ // Also remove self-closing dangerous tags
208
+ cleaned = cleaned.replace(/<(script|style|iframe|object|embed|applet|link|base|meta|form|input|button|textarea|select)[^>]*\/?>/gi, '');
138
209
  // ====================================================================
139
- // Step 5: Process HTML Tags
210
+ // Step 7: Process HTML Tags
140
211
  // ====================================================================
141
212
  cleaned = cleaned.replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi, (match, tagName) => {
142
213
  const lowerTagName = tagName.toLowerCase();
214
+ // Extra safety: block dangerous tags even if they somehow got through
215
+ if (NEVER_ALLOWED_TAGS.has(lowerTagName)) {
216
+ logger.warn('Dangerous tag removed from content', {
217
+ code: 'SANITIZER_DANGEROUS_TAG_REMOVED',
218
+ source: 'HtmlSanitizer.clean',
219
+ tag: lowerTagName,
220
+ });
221
+ return '';
222
+ }
143
223
  // Remove tags not in the allowed list (preserve text content)
144
224
  if (!validAllowedTags.includes(lowerTagName)) {
145
225
  return '';
@@ -150,7 +230,7 @@ export default class HtmlSanitizer {
150
230
  }
151
231
  // Detect self-closing tags
152
232
  const isSelfClosing = match.endsWith('/>');
153
- // Special handling for anchor tags - validate URLs
233
+ // Special handling for anchor tags - validate URLs and add security attributes
154
234
  if (lowerTagName === 'a') {
155
235
  const hrefMatch = match.match(/href\s*=\s*["']([^"']*)["']/i);
156
236
  if (hrefMatch && hrefMatch[1]) {
@@ -159,7 +239,11 @@ export default class HtmlSanitizer {
159
239
  if (this.isValidUrl(url)) {
160
240
  // Escape the URL to prevent attribute injection
161
241
  const escapedUrl = this.sanitizeForAttribute(url);
162
- return `<a href="${escapedUrl}">`;
242
+ // SECURITY: Add target="_blank" and rel="noopener noreferrer" for external links
243
+ // This prevents tab nabbing attacks and ensures the new page can't access window.opener
244
+ const isExternal = /^https?:\/\//i.test(url);
245
+ const securityAttrs = isExternal ? ' target="_blank" rel="noopener noreferrer"' : '';
246
+ return `<a href="${escapedUrl}"${securityAttrs}>`;
163
247
  }
164
248
  else {
165
249
  // Invalid URL - remove href but keep anchor tag
@@ -184,7 +268,20 @@ export default class HtmlSanitizer {
184
268
  return `<${lowerTagName}>`;
185
269
  });
186
270
  // ====================================================================
187
- // Step 6: Final Cleanup
271
+ // Step 8: Final Security Check
272
+ // ====================================================================
273
+ // Final pass: ensure no dangerous patterns remain
274
+ // Check for any remaining script/style tags (case insensitive)
275
+ if (/<(script|style|iframe|object|embed)/i.test(cleaned)) {
276
+ logger.error('Dangerous tags still present after sanitization', {
277
+ code: 'SANITIZER_DANGEROUS_CONTENT_REMAINING',
278
+ source: 'HtmlSanitizer.clean',
279
+ });
280
+ // Strip all tags as a safety measure
281
+ return this.stripAllTags(cleaned);
282
+ }
283
+ // ====================================================================
284
+ // Step 9: Final Cleanup
188
285
  // ====================================================================
189
286
  // Normalize whitespace
190
287
  cleaned = cleaned.replace(/\s+/g, ' ').trim();
@@ -1 +1 @@
1
- {"version":3,"file":"HtmlSanitizer.js","sourceRoot":"","sources":["../../src/sanitizer/HtmlSanitizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HtmlSanitizer.js","sourceRoot":"","sources":["../../src/sanitizer/HtmlSanitizer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designofadecade/server",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "description": "Design of a Decade Server - A modern TypeScript server with WebSocket support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",