xypriss-security 1.1.10 → 1.1.11

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 (41) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/cache/SCC.js +1 -1
  3. package/dist/cjs/components/cache/index.js +3 -23
  4. package/dist/cjs/components/cache/index.js.map +1 -1
  5. package/dist/cjs/core/crypt.js +1 -1
  6. package/dist/cjs/index.js +1 -1
  7. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js +196 -34
  8. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
  9. package/dist/cjs/src/middleware/built-in/security/BrowserOnlyProtector.js +552 -0
  10. package/dist/cjs/src/middleware/built-in/security/BrowserOnlyProtector.js.map +1 -0
  11. package/dist/cjs/src/middleware/built-in/security/MobileOnlyProtector.js +504 -0
  12. package/dist/cjs/src/middleware/built-in/security/MobileOnlyProtector.js.map +1 -0
  13. package/dist/cjs/src/middleware/built-in/security/RequestSignatureProtector.js +481 -0
  14. package/dist/cjs/src/middleware/built-in/security/RequestSignatureProtector.js.map +1 -0
  15. package/dist/cjs/src/middleware/built-in/security/TerminalOnlyProtector.js +478 -0
  16. package/dist/cjs/src/middleware/built-in/security/TerminalOnlyProtector.js.map +1 -0
  17. package/dist/cjs/src/middleware/security-middleware.js +374 -97
  18. package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
  19. package/dist/cjs/utils/memory/config-manager.js +49 -41
  20. package/dist/cjs/utils/memory/config-manager.js.map +1 -1
  21. package/dist/esm/components/cache/SCC.js +1 -1
  22. package/dist/esm/components/cache/index.js +3 -23
  23. package/dist/esm/components/cache/index.js.map +1 -1
  24. package/dist/esm/core/crypt.js +1 -1
  25. package/dist/esm/index.js +1 -1
  26. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js +196 -34
  27. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
  28. package/dist/esm/src/middleware/built-in/security/BrowserOnlyProtector.js +550 -0
  29. package/dist/esm/src/middleware/built-in/security/BrowserOnlyProtector.js.map +1 -0
  30. package/dist/esm/src/middleware/built-in/security/MobileOnlyProtector.js +502 -0
  31. package/dist/esm/src/middleware/built-in/security/MobileOnlyProtector.js.map +1 -0
  32. package/dist/esm/src/middleware/built-in/security/RequestSignatureProtector.js +460 -0
  33. package/dist/esm/src/middleware/built-in/security/RequestSignatureProtector.js.map +1 -0
  34. package/dist/esm/src/middleware/built-in/security/TerminalOnlyProtector.js +476 -0
  35. package/dist/esm/src/middleware/built-in/security/TerminalOnlyProtector.js.map +1 -0
  36. package/dist/esm/src/middleware/security-middleware.js +374 -97
  37. package/dist/esm/src/middleware/security-middleware.js.map +1 -1
  38. package/dist/esm/utils/memory/config-manager.js +49 -41
  39. package/dist/esm/utils/memory/config-manager.js.map +1 -1
  40. package/dist/index.d.ts +6266 -3015
  41. package/package.json +6 -5
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <div align="center">
2
- <img src="https://sdk.nehonix.space/assets/xypriss/mode/global/logo.png" alt="XyPriss Logo" width="200"/>
2
+ <img src="https://dll.nehonix.com/assets/xypriss/mode/global/logo.png" alt="XyPriss Logo" width="200"/>
3
3
  </div>
4
4
 
5
5
  # XyPriss Security
@@ -106,7 +106,7 @@ require('xypriss-security');
106
106
  * @version 4.2.3
107
107
  * @author NEHONIX
108
108
  * @see {@link ICacheAdapter} for the complete interface definition
109
- * @see {@link https://lab.nehonix.space/nehonix_viewer/_doc/Nehonix%20XyPrissSecurity} for detailed documentation
109
+ * @see {@link https://lab.nehonix.com/nehonix_viewer/_doc/Nehonix%20XyPrissSecurity} for detailed documentation
110
110
  */
111
111
  class SecureCacheClient {
112
112
  /**
@@ -646,30 +646,10 @@ const createOptimalCache = (options) => {
646
646
  * @deprecated Use the new function names for better clarity
647
647
  */
648
648
  const deleteFileCache = removeFileCache;
649
- // ========================================
650
- // GRACEFUL SHUTDOWN HANDLING
651
- // ========================================
652
- /**
653
- * Graceful shutdown handler for cache system
654
- *
655
- * Automatically registered to handle SIGTERM and SIGINT signals.
656
- * Ensures all cache operations complete before process termination.
657
- *
658
- * @internal
659
- * @since 4.2.2
660
- */
661
- const handleGracefulShutdown = () => {
662
- console.log("Shutting down XyPrissSecurity CS gracefully...");
663
- try {
664
- Cache.shutdown();
665
- }
666
- catch (error) {
667
- console.error("Error during cache shutdown:", error);
668
- }
669
- };
670
649
  // Register shutdown handlers
671
- process.on("SIGTERM", handleGracefulShutdown);
672
- process.on("SIGINT", handleGracefulShutdown);
650
+ // TEMPORARILY DISABLED - Handled by XyPrissServer
651
+ // process.on("SIGTERM", handleGracefulShutdown);
652
+ // process.on("SIGINT", handleGracefulShutdown);
673
653
  // ========================================
674
654
  // MODULE METADATA
675
655
  // ========================================
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/cache/index.ts"],"sourcesContent":[null],"names":["SecureInMemoryCache","DEFAULT_FILE_CACHE_CONFIG","Hash","FileCache","func"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/cache/index.ts"],"sourcesContent":[null],"names":["SecureInMemoryCache","DEFAULT_FILE_CACHE_CONFIG","Hash","FileCache","func"],"mappings":"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"}
@@ -53,7 +53,7 @@ class Cryptog {
53
53
  * @author Seth Eleazar <https://github.com/iDevo-ll>
54
54
  * @version 1.1.6
55
55
  * @license MIT
56
- * @see {@link https://lab.nehonix.space/nehonix_viewer/_doc/Nehonix%20XyPrissSecurity} Official Documentation
56
+ * @see {@link https://lab.nehonix.com/nehonix_viewer/_doc/Nehonix%20XyPrissSecurity} Official Documentation
57
57
  *
58
58
  */
59
59
  const Cipher = Cryptog.getInstance();
package/dist/cjs/index.js CHANGED
@@ -220,7 +220,7 @@ var SCC = require('./components/cache/SCC.js');
220
220
  * @author Nehonix
221
221
  * @version 4.2.0
222
222
  * @license MIT
223
- * @see {@link https://lab.nehonix.space/nehonix_viewer/_doc/Nehonix%20XyPrissSecurity} Official Documentation
223
+ * @see {@link https://lab.nehonix.com/nehonix_viewer/_doc/Nehonix%20XyPrissSecurity} Official Documentation
224
224
  * @see {@link https://github.com/Nehonix-Team/XyPriss} GitHub Repository
225
225
  * @see {@link https://nodejs.org/api/crypto.html} Node.js Crypto Module
226
226
  * @see {@link https://github.com/ranisalt/node-argon2} Argon2 Implementation
@@ -3,7 +3,7 @@
3
3
  var helmet = require('helmet');
4
4
  var cors = require('cors');
5
5
  var rateLimit = require('express-rate-limit');
6
- var compression = require('compression');
6
+ var compression = require('xypriss-compression-pluging');
7
7
  var hpp = require('hpp');
8
8
  var mongoSanitize = require('express-mongo-sanitize');
9
9
  var xss = require('xss');
@@ -12,6 +12,10 @@ var slowDown = require('express-slow-down');
12
12
  var ExpressBrute = require('express-brute');
13
13
  var multer = require('multer');
14
14
  var csrfCsrf = require('csrf-csrf');
15
+ var RequestSignatureProtector = require('./security/RequestSignatureProtector.js');
16
+ var BrowserOnlyProtector = require('./security/BrowserOnlyProtector.js');
17
+ var TerminalOnlyProtector = require('./security/TerminalOnlyProtector.js');
18
+ var MobileOnlyProtector = require('./security/MobileOnlyProtector.js');
15
19
 
16
20
  /**
17
21
  * XyPriss Built-in Middleware
@@ -50,14 +54,54 @@ class BuiltInMiddleware {
50
54
  referrerPolicy: { policy: "strict-origin-when-cross-origin" },
51
55
  xssFilter: true,
52
56
  };
53
- const config = { ...defaultOptions, ...options };
54
- return helmet(config);
57
+ // Handle CSP separately to avoid shallow merge issues
58
+ let finalOptions = { ...defaultOptions };
59
+ // If user provided CSP, handle it specially
60
+ if (options.contentSecurityPolicy !== undefined) {
61
+ if (options.contentSecurityPolicy === false) {
62
+ // User explicitly disabled CSP
63
+ finalOptions.contentSecurityPolicy = false;
64
+ }
65
+ else if (typeof options.contentSecurityPolicy === "object" &&
66
+ options.contentSecurityPolicy !== null) {
67
+ finalOptions.contentSecurityPolicy = {
68
+ ...defaultOptions.contentSecurityPolicy,
69
+ ...options.contentSecurityPolicy,
70
+ };
71
+ // Merge directives if provided
72
+ if (options.contentSecurityPolicy.directives) {
73
+ // Normalize directive names to camelCase for Helmet compatibility
74
+ const normalizedUserDirectives = {};
75
+ for (const [key, value] of Object.entries(options.contentSecurityPolicy.directives)) {
76
+ // Convert dash-case to camelCase (e.g., "script-src" -> "scriptSrc")
77
+ const camelKey = key.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
78
+ normalizedUserDirectives[camelKey] = value;
79
+ }
80
+ finalOptions.contentSecurityPolicy.directives = {
81
+ // Start with default directives
82
+ ...defaultOptions.contentSecurityPolicy
83
+ ?.directives,
84
+ // Override with normalized user directives
85
+ ...normalizedUserDirectives,
86
+ };
87
+ }
88
+ }
89
+ }
90
+ // Merge other options (excluding contentSecurityPolicy which we handled above)
91
+ const { contentSecurityPolicy, ...otherOptions } = options;
92
+ finalOptions = { ...finalOptions, ...otherOptions };
93
+ return helmet(finalOptions);
55
94
  }
56
95
  /**
57
96
  * Get CORS middleware
58
97
  *
59
98
  * By default, allows all headers to be developer-friendly.
60
99
  * Developers can restrict headers via config if needed for production.
100
+ *
101
+ * Supports multiple origin matching patterns:
102
+ * - Strings with wildcards: "localhost:*", "*.example.com"
103
+ * - Regular expressions: /^localhost:\d+$/, /\.test\.com$/
104
+ * - Mixed arrays: ["localhost:*", /^api\..*\.com$/, "production.com"]
61
105
  */
62
106
  static cors(options = {}) {
63
107
  const defaultOptions = {
@@ -69,8 +113,111 @@ class BuiltInMiddleware {
69
113
  maxAge: 86400, // 24 hours
70
114
  };
71
115
  const config = { ...defaultOptions, ...options };
116
+ // FIX: Normalize array properties to handle cases where arrays were converted to objects
117
+ // This fixes the bug in multiServer mode where arrays become "[object Object]"
118
+ // Helper function to normalize array-like values to comma-separated strings
119
+ const normalizeToString = (value) => {
120
+ if (!value)
121
+ return undefined;
122
+ // If it's already a string, return it
123
+ if (typeof value === "string")
124
+ return value;
125
+ // If it's an array, join with comma
126
+ if (Array.isArray(value)) {
127
+ return value.join(", ");
128
+ }
129
+ // If it's an object (arrays converted to objects), convert back to array first
130
+ if (typeof value === "object") {
131
+ const arrayValues = Object.values(value);
132
+ return arrayValues.join(", ");
133
+ }
134
+ return undefined;
135
+ };
136
+ // Normalize methods
137
+ if (config.methods) {
138
+ const normalized = normalizeToString(config.methods);
139
+ if (normalized) {
140
+ config.methods = normalized;
141
+ }
142
+ }
143
+ // Normalize allowedHeaders
144
+ if (config.allowedHeaders) {
145
+ const normalized = normalizeToString(config.allowedHeaders);
146
+ if (normalized) {
147
+ config.allowedHeaders = normalized;
148
+ }
149
+ }
150
+ // Normalize exposedHeaders
151
+ if (config.exposedHeaders) {
152
+ const normalized = normalizeToString(config.exposedHeaders);
153
+ if (normalized) {
154
+ config.exposedHeaders = normalized;
155
+ }
156
+ }
157
+ // Handle advanced origin patterns (strings, RegExp, mixed arrays)
158
+ if (Array.isArray(config.origin)) {
159
+ // Filter out boolean values and create a custom origin function
160
+ const validOrigins = config.origin.filter((origin) => typeof origin === "string" || origin instanceof RegExp);
161
+ if (validOrigins.length > 0) {
162
+ // Create a custom origin function that handles strings, RegExp, and wildcards
163
+ config.origin = this.createAdvancedOriginFunction(validOrigins);
164
+ }
165
+ }
72
166
  return cors(config);
73
167
  }
168
+ /**
169
+ * Create an advanced origin function that supports strings, RegExp, and wildcards
170
+ */
171
+ static createAdvancedOriginFunction(origins) {
172
+ return (origin, callback) => {
173
+ try {
174
+ // If origin is undefined, deny access
175
+ if (!origin) {
176
+ return callback(null, false);
177
+ }
178
+ // Check each origin pattern
179
+ for (const pattern of origins) {
180
+ if (typeof pattern === "string") {
181
+ // Handle string patterns (including wildcards)
182
+ if (this.matchesStringOrigin(origin, pattern)) {
183
+ return callback(null, true);
184
+ }
185
+ }
186
+ else if (pattern instanceof RegExp) {
187
+ // Handle RegExp patterns
188
+ if (pattern.test(origin)) {
189
+ return callback(null, true);
190
+ }
191
+ }
192
+ }
193
+ // No pattern matched
194
+ return callback(null, false);
195
+ }
196
+ catch (error) {
197
+ // On error, deny access
198
+ return callback(error, false);
199
+ }
200
+ };
201
+ }
202
+ /**
203
+ * Check if an origin matches a string pattern (including wildcards)
204
+ */
205
+ static matchesStringOrigin(origin, pattern) {
206
+ // Exact match
207
+ if (pattern === origin) {
208
+ return true;
209
+ }
210
+ // Handle wildcards
211
+ if (pattern.includes("*")) {
212
+ // Convert wildcard pattern to RegExp
213
+ const regexPattern = pattern
214
+ .replace(/[.+?^${}()|[\]\\]/g, "\\$&") // Escape special regex chars
215
+ .replace(/\*/g, ".*"); // Convert * to .*
216
+ const regex = new RegExp(`^${regexPattern}$`);
217
+ return regex.test(origin);
218
+ }
219
+ return false;
220
+ }
74
221
  /**
75
222
  * Get Rate Limiting middleware
76
223
  */
@@ -84,31 +231,16 @@ class BuiltInMiddleware {
84
231
  },
85
232
  standardHeaders: true,
86
233
  legacyHeaders: false,
87
- handler: (req, res, next, options) => {
88
- const message = options?.message;
89
- if (typeof message === 'string') {
90
- res.status(429).json({
91
- error: "Rate limit exceeded",
92
- message: message,
93
- retryAfter: Math.ceil((options?.windowMs || 60000) / 1000) || 900,
94
- });
95
- }
96
- else if (typeof message === 'object' && message !== null) {
97
- res.status(429).json({
98
- ...message,
99
- retryAfter: Math.ceil((options?.windowMs || 60000) / 1000) || 900,
100
- });
101
- }
102
- else {
103
- res.status(429).json({
104
- error: "Too many requests",
105
- message: "Rate limit exceeded. Please try again later.",
106
- retryAfter: Math.ceil((options?.windowMs || 60000) / 1000) || 900,
107
- });
108
- }
109
- },
110
234
  };
111
235
  const config = { ...defaultOptions, ...options };
236
+ // If user provided a custom message, ensure it's in the right format
237
+ if (config.message && typeof config.message === "string") {
238
+ config.message = {
239
+ error: "Rate limit exceeded",
240
+ message: config.message,
241
+ retryAfter: Math.ceil((config.windowMs || 60000) / 1000) || 900,
242
+ };
243
+ }
112
244
  return rateLimit(config);
113
245
  }
114
246
  /**
@@ -118,14 +250,15 @@ class BuiltInMiddleware {
118
250
  const defaultOptions = {
119
251
  level: 6,
120
252
  threshold: 1024, // Only compress responses >= 1KB
121
- filter: (req, res) => {
122
- // Don't compress responses with this request header
123
- if (req.headers["x-no-compression"]) {
124
- return false;
125
- }
126
- // Fallback to standard filter function
127
- return compression.filter(req, res);
128
- },
253
+ filter: options.filter ||
254
+ ((req, res) => {
255
+ // Don't compress responses with this request header
256
+ if (req.headers["x-no-compression"]) {
257
+ return false;
258
+ }
259
+ // Import and use the library's filter function
260
+ return compression.shouldCompress(req, res);
261
+ }),
129
262
  };
130
263
  const config = { ...defaultOptions, ...options };
131
264
  return compression(config);
@@ -258,6 +391,27 @@ class BuiltInMiddleware {
258
391
  const bruteforce = new ExpressBrute(store, config);
259
392
  return bruteforce.prevent;
260
393
  }
394
+ /**
395
+ * Get Browser-Only middleware to block non-browser requests (like cURL)
396
+ */
397
+ static browserOnly(options = {}) {
398
+ // Import the BrowserOnlyProtector dynamically to keep BuiltInMiddleware clean
399
+ return new BrowserOnlyProtector.BrowserOnlyProtector(options).getMiddleware();
400
+ }
401
+ /**
402
+ * Get Terminal-Only middleware to block browser requests (allows cURL and API tools)
403
+ */
404
+ static terminalOnly(options = {}) {
405
+ // Import the TerminalOnlyProtector dynamically to keep BuiltInMiddleware clean
406
+ return new TerminalOnlyProtector.TerminalOnlyProtector(options).getMiddleware();
407
+ }
408
+ /**
409
+ * Get Mobile-Only middleware to block browser requests (allows mobile app access)
410
+ */
411
+ static mobileOnly(options = {}) {
412
+ // Import the MobileOnlyProtector dynamically to keep BuiltInMiddleware clean
413
+ return new MobileOnlyProtector.MobileOnlyProtector(options).middleware();
414
+ }
261
415
  /**
262
416
  * Get Multer middleware for file uploads
263
417
  */
@@ -283,6 +437,13 @@ class BuiltInMiddleware {
283
437
  const config = { ...defaultOptions, ...options };
284
438
  return multer(config);
285
439
  }
440
+ /**
441
+ * Get Request Signature middleware for API authentication
442
+ */
443
+ static requestSignature(options) {
444
+ const protector = new RequestSignatureProtector.RequestSignatureProtector(options);
445
+ return protector.getMiddleware();
446
+ }
286
447
  /**
287
448
  * Get all default security middleware
288
449
  */
@@ -293,6 +454,7 @@ class BuiltInMiddleware {
293
454
  rateLimit: this.rateLimit(options.rateLimit),
294
455
  compression: this.compression(options.compression),
295
456
  csrf: this.csrf(options.csrf),
457
+ requestSignature: this.requestSignature(options.requestSignature),
296
458
  };
297
459
  }
298
460
  // Helper method for XSS sanitization
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltInMiddleware.js","sources":["../../../../../../../src/middleware/built-in/BuiltInMiddleware.ts"],"sourcesContent":[null],"names":["doubleCsrf"],"mappings":"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"}
1
+ {"version":3,"file":"BuiltInMiddleware.js","sources":["../../../../../../../src/middleware/built-in/BuiltInMiddleware.ts"],"sourcesContent":[null],"names":["shouldCompress","doubleCsrf","BrowserOnlyProtector","TerminalOnlyProtector","MobileOnlyProtector","RequestSignatureProtector"],"mappings":"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"}