xypriss 2.3.0 → 2.3.2
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/dist/cjs/mods/security/src/algorithms/hash-algorithms.js +2 -25
- package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
- package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js +2 -25
- package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
- package/dist/cjs/mods/security/src/components/cache/index.js +15 -27
- package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -1
- package/dist/cjs/mods/security/src/components/fortified-function/index.js +1 -13
- package/dist/cjs/mods/security/src/components/fortified-function/index.js.map +1 -1
- package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js +2 -15
- package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
- package/dist/cjs/mods/security/src/core/crypt.js +56 -0
- package/dist/cjs/mods/security/src/core/crypt.js.map +1 -0
- package/dist/cjs/mods/security/src/core/crypto.js +1 -0
- package/dist/cjs/mods/security/src/core/crypto.js.map +1 -1
- package/dist/cjs/mods/security/src/core/hash/hash-core.js +34 -0
- package/dist/cjs/mods/security/src/core/hash/hash-core.js.map +1 -1
- package/dist/cjs/mods/security/src/core/password/password-utils.js +1 -1
- package/dist/cjs/mods/security/src/core/random/random-core.js +634 -0
- package/dist/cjs/mods/security/src/core/random/random-core.js.map +1 -1
- package/dist/cjs/mods/security/src/index.js +46 -55
- package/dist/cjs/mods/security/src/index.js.map +1 -1
- package/dist/cjs/mods/security/src/types/secure-mem.type.js +8 -2
- package/dist/cjs/mods/security/src/types/secure-mem.type.js.map +1 -1
- package/dist/cjs/src/cache/SecureCacheAdapter.js +20 -7
- package/dist/cjs/src/cache/SecureCacheAdapter.js.map +1 -1
- package/dist/cjs/src/middleware/security-middleware.js +69 -9
- package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
- package/dist/cjs/src/plugins/modules/index.js +5 -15
- package/dist/cjs/src/plugins/modules/index.js.map +1 -1
- package/dist/cjs/src/server/FastServer.js +3 -3
- package/dist/cjs/src/server/const/default.js +4 -4
- package/dist/cjs/src/server/const/default.js.map +1 -1
- package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +2 -25
- package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +2 -25
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
- package/dist/esm/mods/security/src/components/cache/index.js +15 -27
- package/dist/esm/mods/security/src/components/cache/index.js.map +1 -1
- package/dist/esm/mods/security/src/components/fortified-function/index.js +1 -13
- package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -1
- package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +2 -15
- package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
- package/dist/esm/mods/security/src/core/crypt.js +54 -0
- package/dist/esm/mods/security/src/core/crypt.js.map +1 -0
- package/dist/esm/mods/security/src/core/crypto.js +1 -0
- package/dist/esm/mods/security/src/core/crypto.js.map +1 -1
- package/dist/esm/mods/security/src/core/hash/hash-core.js +34 -0
- package/dist/esm/mods/security/src/core/hash/hash-core.js.map +1 -1
- package/dist/esm/mods/security/src/core/password/password-utils.js +1 -1
- package/dist/esm/mods/security/src/core/random/random-core.js +634 -0
- package/dist/esm/mods/security/src/core/random/random-core.js.map +1 -1
- package/dist/esm/mods/security/src/index.js +19 -30
- package/dist/esm/mods/security/src/index.js.map +1 -1
- package/dist/esm/mods/security/src/types/secure-mem.type.js +8 -2
- package/dist/esm/mods/security/src/types/secure-mem.type.js.map +1 -1
- package/dist/esm/src/cache/SecureCacheAdapter.js +20 -7
- package/dist/esm/src/cache/SecureCacheAdapter.js.map +1 -1
- package/dist/esm/src/middleware/security-middleware.js +69 -9
- package/dist/esm/src/middleware/security-middleware.js.map +1 -1
- package/dist/esm/src/plugins/modules/index.js +5 -15
- package/dist/esm/src/plugins/modules/index.js.map +1 -1
- package/dist/esm/src/server/FastServer.js +3 -3
- package/dist/esm/src/server/const/default.js +4 -4
- package/dist/esm/src/server/const/default.js.map +1 -1
- package/dist/index.d.ts +84 -2
- package/package.json +2 -2
|
@@ -1,52 +1,40 @@
|
|
|
1
|
-
|
|
1
|
+
import { XyPrissSecurity } from './core/crypto.js';
|
|
2
|
+
import { createSecureObject } from './components/secure-object/index.js';
|
|
3
|
+
import './utils/memory/index.js';
|
|
4
|
+
import 'crypto';
|
|
5
|
+
import './types/secure-memory.js';
|
|
6
|
+
import './components/secure-string/advanced/entropy-analyzer.js';
|
|
7
|
+
import './components/secure-string/advanced/quantum-safe.js';
|
|
8
|
+
import './components/secure-string/advanced/performance-monitor.js';
|
|
9
|
+
import './components/secure-array/utils/id-generator.js';
|
|
2
10
|
import { Hash } from './core/hash/hash-core.js';
|
|
3
11
|
export { HashStrength } from './core/hash/hash-types.js';
|
|
4
|
-
import 'crypto';
|
|
5
12
|
export { HashSecurity } from './core/hash/hash-security.js';
|
|
6
13
|
export { HashAdvanced } from './core/hash/hash-advanced.js';
|
|
7
14
|
export { HashAlgorithms } from './algorithms/hash-algorithms.js';
|
|
8
|
-
import './core/keys/keys-types.js';
|
|
9
|
-
import './core/keys/keys-logger.js';
|
|
10
|
-
import './core/keys/keys-utils.js';
|
|
11
|
-
import './core/keys/algorithms/mods/PBKDF2Algo.js';
|
|
12
15
|
import { SecureRandom } from './core/random/random-core.js';
|
|
13
16
|
export { EntropyQuality, RNGState } from './core/random/random-types.js';
|
|
14
17
|
export { RandomSources } from './core/random/random-sources.js';
|
|
15
18
|
import 'nehonix-uri-processor';
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
import '
|
|
19
|
-
import '
|
|
20
|
-
import '
|
|
21
|
-
import '
|
|
22
|
-
|
|
23
|
-
import 'hpp';
|
|
24
|
-
import 'express-mongo-sanitize';
|
|
25
|
-
import 'xss';
|
|
26
|
-
import 'morgan';
|
|
27
|
-
import 'express-slow-down';
|
|
28
|
-
import 'express-brute';
|
|
29
|
-
import 'multer';
|
|
30
|
-
import 'csrf-csrf';
|
|
19
|
+
export { EntropySource, HashAlgorithm, KeyDerivationAlgorithm, SecurityLevel, TokenType } from './types.js';
|
|
20
|
+
export { PasswordAlgorithm, PasswordSecurityLevel } from './core/password/password-types.js';
|
|
21
|
+
import './core/keys/keys-types.js';
|
|
22
|
+
import './core/keys/keys-logger.js';
|
|
23
|
+
import './core/keys/keys-utils.js';
|
|
24
|
+
import './core/keys/algorithms/mods/PBKDF2Algo.js';
|
|
25
|
+
export { getDefaultPasswordPolicy, getRecommendedConfig } from './core/password/index.js';
|
|
31
26
|
import 'argon2';
|
|
32
27
|
import 'child_process';
|
|
33
|
-
import './types/secure-memory.js';
|
|
34
28
|
import 'https';
|
|
35
29
|
export { SecurityIssueType, verifyRuntimeSecurity } from './components/runtime-verification.js';
|
|
36
30
|
export { LogLevel, TamperEvidentLogger } from './components/tamper-evident-logging.js';
|
|
37
|
-
import './components/secure-string/advanced/entropy-analyzer.js';
|
|
38
|
-
import './components/secure-string/advanced/quantum-safe.js';
|
|
39
|
-
import './components/secure-string/advanced/performance-monitor.js';
|
|
40
|
-
import { createSecureObject } from './components/secure-object/index.js';
|
|
41
|
-
import './components/secure-array/utils/id-generator.js';
|
|
42
|
-
export { PasswordAlgorithm, PasswordSecurityLevel } from './core/password/password-types.js';
|
|
43
|
-
export { getDefaultPasswordPolicy, getRecommendedConfig } from './core/password/index.js';
|
|
44
31
|
import './components/fortified-function/core/fortified-function-core.js';
|
|
45
32
|
import './components/fortified-function/core/fortified-config.js';
|
|
46
33
|
import './components/fortified-function/core/fortified-logger.js';
|
|
47
34
|
import 'events';
|
|
48
35
|
import './components/fortified-function/serializer/safe-serializer.js';
|
|
49
36
|
import 'nehoid';
|
|
37
|
+
import '../../../shared/logger/Logger.js';
|
|
50
38
|
import './components/fortified-function/UFA/ultra-fast-allocator.js';
|
|
51
39
|
export { Cache, createOptimalCache, generateFilePath } from './components/cache/index.js';
|
|
52
40
|
import { PasswordManager } from './core/password/password-core.js';
|
|
@@ -240,6 +228,7 @@ import { PasswordManager } from './core/password/password-core.js';
|
|
|
240
228
|
* console.log("Operations:", stats.totalOperations);
|
|
241
229
|
* ```
|
|
242
230
|
*/
|
|
231
|
+
XyPrissSecurity.generateSecureToken;
|
|
243
232
|
/**
|
|
244
233
|
* ### Random Data Generation
|
|
245
234
|
*
|
|
@@ -388,5 +377,5 @@ function fObject(...args) {
|
|
|
388
377
|
return createSecureObject(...args);
|
|
389
378
|
}
|
|
390
379
|
|
|
391
|
-
export { Hash, PasswordManager, SecureRandom as Random, SecureRandom, createSecureObject, fObject };
|
|
380
|
+
export { Hash, PasswordManager, SecureRandom as Random, SecureRandom, XyPrissSecurity as XyPriss, XyPrissSecurity, createSecureObject, fObject };
|
|
392
381
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../mods/security/src/index.ts"],"sourcesContent":[null],"names":["fObjectUtils.createSecureObject"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../mods/security/src/index.ts"],"sourcesContent":[null],"names":["fObjectUtils.createSecureObject"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BiF;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgKG;AAyVgC,eAAe,CAAC,oBAAoB;AA2KvE;;;;;;;;;;;;;;;AAeG;AAEH;AAC8B,YAAY,CAAC,eAAe;AAE1D;AACkC,YAAY,CAAC,mBAAmB;AAmBlE;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AAEH;AACgC,IAAI,CAAC,iBAAiB;AAEtD;AACgC,IAAI,CAAC,iBAAiB;AAEtD;AAC0B,IAAI,CAAC,WAAW;AAyL1C;;;;;;;;;;;;;;;;;;;;AAoBG;AACe,eAAe,CAAC,WAAW,GAAG;AA0EhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEG;AACa,SAAA,OAAO,CACnB,GAAG,IAA2D,EAAA;AAE9D,IAAA,OAAOA,kBAA+B,CAAI,GAAG,IAAI,CAAC,CAAC;AACvD;;;;"}
|
|
@@ -30,7 +30,10 @@ async function initializeSecurityLibraries() {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
catch (e) {
|
|
33
|
-
console.warn(
|
|
33
|
+
// console.warn(
|
|
34
|
+
// "⚠️ libsodium-wrappers not available for SecureBuffer:",
|
|
35
|
+
// (e as Error).message
|
|
36
|
+
// );
|
|
34
37
|
}
|
|
35
38
|
// Initialize @noble/hashes using require for compatibility
|
|
36
39
|
try {
|
|
@@ -51,7 +54,10 @@ async function initializeSecurityLibraries() {
|
|
|
51
54
|
}
|
|
52
55
|
}
|
|
53
56
|
catch (e) {
|
|
54
|
-
console.warn(
|
|
57
|
+
// console.warn(
|
|
58
|
+
// "⚠️ @noble/hashes not available for SecureBuffer:",
|
|
59
|
+
// (e as Error).message
|
|
60
|
+
// );
|
|
55
61
|
}
|
|
56
62
|
// Initialize @noble/ciphers using require for compatibility
|
|
57
63
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secure-mem.type.js","sources":["../../../../../../mods/security/src/types/secure-mem.type.ts"],"sourcesContent":[null],"names":[],"mappings":"AA8BA;AACI,IAAA,MAAM,GAA2B,KAAK;AACtC,IAAA,WAAW,GAAgC,KAAK;AAChD,IAAA,YAAY,GAAiC,KAAK;AAEtD;AACA,MAAM,aAAa,GAAG;AAClB,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;EACrB;AAEF;AACO,eAAe,2BAA2B,GAAA;;AAE7C,IAAA,IAAI;AACA,QAAA,MAAM,SAAS,GAAG,MAAM,OAAO,oBAAoB,CAAC,CAAC;AACrD,QAAA,IAAI,SAAS,CAAC,OAAO,EAAE;;AAEnB,YAAA,IACI,SAAS,CAAC,OAAO,CAAC,KAAK;gBACvB,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,EACpD;AACE,gBAAA,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;aACjC;;YAGD,IAAI,OAAO,SAAS,CAAC,OAAO,CAAC,eAAe,KAAK,UAAU,EAAE;AACzD,gBAAA,MAAM,GAAG,SAAS,CAAC,OAA0B,CAAC;AAC9C,gBAAA,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;;;;aAI/B;SACJ;KACJ;IAAC,OAAO,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"secure-mem.type.js","sources":["../../../../../../mods/security/src/types/secure-mem.type.ts"],"sourcesContent":[null],"names":[],"mappings":"AA8BA;AACI,IAAA,MAAM,GAA2B,KAAK;AACtC,IAAA,WAAW,GAAgC,KAAK;AAChD,IAAA,YAAY,GAAiC,KAAK;AAEtD;AACA,MAAM,aAAa,GAAG;AAClB,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,YAAY,EAAE,KAAK;EACrB;AAEF;AACO,eAAe,2BAA2B,GAAA;;AAE7C,IAAA,IAAI;AACA,QAAA,MAAM,SAAS,GAAG,MAAM,OAAO,oBAAoB,CAAC,CAAC;AACrD,QAAA,IAAI,SAAS,CAAC,OAAO,EAAE;;AAEnB,YAAA,IACI,SAAS,CAAC,OAAO,CAAC,KAAK;gBACvB,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,EACpD;AACE,gBAAA,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;aACjC;;YAGD,IAAI,OAAO,SAAS,CAAC,OAAO,CAAC,eAAe,KAAK,UAAU,EAAE;AACzD,gBAAA,MAAM,GAAG,SAAS,CAAC,OAA0B,CAAC;AAC9C,gBAAA,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;;;;aAI/B;SACJ;KACJ;IAAC,OAAO,CAAC,EAAE;;;;;KAKX;;AAGD,IAAA,IAAI;AACA,QAAA,MAAM,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACvD,QAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAC1D,QAAA,IACI,cAAc;AACd,YAAA,cAAc,CAAC,MAAM;YACrB,iBAAiB;YACjB,iBAAiB,CAAC,MAAM,EAC1B;AACE,YAAA,WAAW,GAAG;gBACV,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,MAAM,EAAE,iBAAiB,CAAC,MAAM;aACX,CAAC;AAC1B,YAAA,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;;;;SAIpC;KACJ;IAAC,OAAO,CAAC,EAAE;;;;;KAKX;;AAGD,IAAA,IAAI;;AAEA,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;AACnD,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC7C,QAAA,IAAI,SAAS,IAAI,MAAM,EAAE;AACrB,YAAA,YAAY,GAAG;gBACX,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;AAC5C,gBAAA,GAAG,EAAE,MAAM;aACW,CAAC;AAC3B,YAAA,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC;;;;SAIrC;KACJ;IAAC,OAAO,CAAC,EAAE;;;;;;KAMX;AACL,CAAC;AAED;AACA,IAAI,qBAAqB,GAAyB,IAAI,CAAC;SAEvC,0BAA0B,GAAA;IACtC,IAAI,CAAC,qBAAqB,EAAE;QACxB,qBAAqB,GAAG,2BAA2B,EAAE,CAAC,KAAK,CACvD,CAAC,MAAM,KAAI;;;;;;AAMX,SAAC,CACJ,CAAC;KACL;AACD,IAAA,OAAO,qBAAqB,CAAC;AACjC;;;;"}
|
|
@@ -134,20 +134,29 @@ class SecureCacheAdapter extends EventEmitter {
|
|
|
134
134
|
}
|
|
135
135
|
/**
|
|
136
136
|
* Initialize master encryption key for consistent encryption
|
|
137
|
+
* Uses singleton pattern to ensure all instances use the same key
|
|
137
138
|
*/
|
|
138
139
|
initializeMasterKey() {
|
|
139
|
-
//
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
140
|
+
// Use shared master key for all instances to ensure consistent encryption
|
|
141
|
+
if (!SecureCacheAdapter.sharedMasterEncryptionKey) {
|
|
142
|
+
SecureCacheAdapter.sharedMasterEncryptionKey = XyPrissSecurity.generateSecureToken({
|
|
143
|
+
length: 32,
|
|
144
|
+
entropy: "high",
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
this.masterEncryptionKey = SecureCacheAdapter.sharedMasterEncryptionKey;
|
|
144
148
|
}
|
|
145
149
|
/**
|
|
146
150
|
* Initialize memory cache with security features
|
|
151
|
+
* Uses singleton pattern to ensure all instances share the same memory cache
|
|
147
152
|
*/
|
|
148
153
|
initializeMemoryCache() {
|
|
149
|
-
|
|
150
|
-
|
|
154
|
+
// Use shared singleton instance for memory cache
|
|
155
|
+
if (!SecureCacheAdapter.sharedMemoryCache) {
|
|
156
|
+
SecureCacheAdapter.sharedMemoryCache = new SecureInMemoryCache();
|
|
157
|
+
}
|
|
158
|
+
this.memoryCache = SecureCacheAdapter.sharedMemoryCache;
|
|
159
|
+
// Listen to security events (only attach once per instance to avoid duplicate listeners)
|
|
151
160
|
this.memoryCache.on("key_rotation", (event) => {
|
|
152
161
|
this.stats.security.keyRotations++;
|
|
153
162
|
this.emit("security_event", { type: "key_rotation", ...event });
|
|
@@ -1219,6 +1228,10 @@ class SecureCacheAdapter extends EventEmitter {
|
|
|
1219
1228
|
}
|
|
1220
1229
|
}
|
|
1221
1230
|
}
|
|
1231
|
+
// Singleton instance for memory cache to ensure persistence across instances
|
|
1232
|
+
SecureCacheAdapter.sharedMemoryCache = null;
|
|
1233
|
+
// Shared master encryption key for consistent encryption across all instances
|
|
1234
|
+
SecureCacheAdapter.sharedMasterEncryptionKey = null;
|
|
1222
1235
|
|
|
1223
1236
|
export { SecureCacheAdapter };
|
|
1224
1237
|
//# sourceMappingURL=SecureCacheAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecureCacheAdapter.js","sources":["../../../../src/cache/SecureCacheAdapter.ts"],"sourcesContent":[null],"names":["XyPrissJS","crypto"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SecureCacheAdapter.js","sources":["../../../../src/cache/SecureCacheAdapter.ts"],"sourcesContent":[null],"names":["XyPrissJS","crypto"],"mappings":"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"}
|
|
@@ -78,6 +78,8 @@ class SecurityMiddleware {
|
|
|
78
78
|
},
|
|
79
79
|
...config.authentication,
|
|
80
80
|
};
|
|
81
|
+
// Store route configuration
|
|
82
|
+
this.routeConfig = config.routeConfig;
|
|
81
83
|
// Initialize security detectors
|
|
82
84
|
this.sqlInjectionDetector = new SQLInjectionDetector({
|
|
83
85
|
strictMode: typeof this.sqlInjection === 'object' ? this.sqlInjection.strictMode : false,
|
|
@@ -399,7 +401,7 @@ class SecurityMiddleware {
|
|
|
399
401
|
const detectedThreats = [];
|
|
400
402
|
// Check and sanitize request body
|
|
401
403
|
if (req.body && typeof req.body === "object") {
|
|
402
|
-
const { sanitized, threats } = this.sanitizeObjectWithDetection(req.body);
|
|
404
|
+
const { sanitized, threats } = this.sanitizeObjectWithDetection(req.body, "", req);
|
|
403
405
|
if (threats.length > 0) {
|
|
404
406
|
maliciousContentDetected = true;
|
|
405
407
|
detectedThreats.push(...threats.map((t) => `body.${t}`));
|
|
@@ -418,7 +420,7 @@ class SecurityMiddleware {
|
|
|
418
420
|
}
|
|
419
421
|
// Check and sanitize query parameters
|
|
420
422
|
if (req.query && typeof req.query === "object") {
|
|
421
|
-
const { sanitized, threats } = this.sanitizeObjectWithDetection(req.query);
|
|
423
|
+
const { sanitized, threats } = this.sanitizeObjectWithDetection(req.query, "", req);
|
|
422
424
|
if (threats.length > 0) {
|
|
423
425
|
maliciousContentDetected = true;
|
|
424
426
|
detectedThreats.push(...threats.map((t) => `query.${t}`));
|
|
@@ -437,7 +439,7 @@ class SecurityMiddleware {
|
|
|
437
439
|
}
|
|
438
440
|
// Check and sanitize URL parameters
|
|
439
441
|
if (req.params && typeof req.params === "object") {
|
|
440
|
-
const { sanitized, threats } = this.sanitizeObjectWithDetection(req.params);
|
|
442
|
+
const { sanitized, threats } = this.sanitizeObjectWithDetection(req.params, "", req);
|
|
441
443
|
if (threats.length > 0) {
|
|
442
444
|
maliciousContentDetected = true;
|
|
443
445
|
detectedThreats.push(...threats.map((t) => `params.${t}`));
|
|
@@ -489,7 +491,7 @@ class SecurityMiddleware {
|
|
|
489
491
|
/**
|
|
490
492
|
* Sanitize object and detect threats
|
|
491
493
|
*/
|
|
492
|
-
sanitizeObjectWithDetection(obj, path = "") {
|
|
494
|
+
sanitizeObjectWithDetection(obj, path = "", req) {
|
|
493
495
|
const threats = [];
|
|
494
496
|
const sanitizeWithDetection = (value, currentPath) => {
|
|
495
497
|
if (typeof value === "string") {
|
|
@@ -503,7 +505,7 @@ class SecurityMiddleware {
|
|
|
503
505
|
detectedPatterns.push("XSS");
|
|
504
506
|
}
|
|
505
507
|
// SQL Injection Detection
|
|
506
|
-
if (this.sqlInjection) {
|
|
508
|
+
if (this.sqlInjection && this.shouldApplySecurityModule(req, this.routeConfig?.sqlInjection)) {
|
|
507
509
|
const sqlResult = this.sqlInjectionDetector.detect(original, currentPath);
|
|
508
510
|
if (sqlResult.isMalicious) {
|
|
509
511
|
threatDetected = true;
|
|
@@ -515,7 +517,7 @@ class SecurityMiddleware {
|
|
|
515
517
|
}
|
|
516
518
|
}
|
|
517
519
|
// Path Traversal Detection
|
|
518
|
-
if (this.pathTraversal) {
|
|
520
|
+
if (this.pathTraversal && this.shouldApplySecurityModule(req, this.routeConfig?.pathTraversal)) {
|
|
519
521
|
const pathResult = this.pathTraversalDetector.detect(original);
|
|
520
522
|
if (pathResult.isMalicious) {
|
|
521
523
|
threatDetected = true;
|
|
@@ -526,7 +528,7 @@ class SecurityMiddleware {
|
|
|
526
528
|
}
|
|
527
529
|
}
|
|
528
530
|
// Command Injection Detection
|
|
529
|
-
if (this.commandInjection) {
|
|
531
|
+
if (this.commandInjection && this.shouldApplySecurityModule(req, this.routeConfig?.commandInjection)) {
|
|
530
532
|
const cmdResult = this.commandInjectionDetector.detect(original);
|
|
531
533
|
if (cmdResult.isMalicious) {
|
|
532
534
|
threatDetected = true;
|
|
@@ -537,7 +539,7 @@ class SecurityMiddleware {
|
|
|
537
539
|
}
|
|
538
540
|
}
|
|
539
541
|
// XXE Detection (for XML content)
|
|
540
|
-
if (this.xxe && (original.includes('<?xml') || original.includes('<!DOCTYPE'))) {
|
|
542
|
+
if (this.xxe && this.shouldApplySecurityModule(req, this.routeConfig?.xxe) && (original.includes('<?xml') || original.includes('<!DOCTYPE'))) {
|
|
541
543
|
const xxeResult = this.xxeProtector.detect(original);
|
|
542
544
|
if (xxeResult.isMalicious) {
|
|
543
545
|
threatDetected = true;
|
|
@@ -548,7 +550,7 @@ class SecurityMiddleware {
|
|
|
548
550
|
}
|
|
549
551
|
}
|
|
550
552
|
// LDAP Injection Detection
|
|
551
|
-
if (this.ldapInjection) {
|
|
553
|
+
if (this.ldapInjection && this.shouldApplySecurityModule(req, this.routeConfig?.ldapInjection)) {
|
|
552
554
|
const ldapResult = this.ldapInjectionDetector.detect(original);
|
|
553
555
|
if (ldapResult.isMalicious) {
|
|
554
556
|
threatDetected = true;
|
|
@@ -637,8 +639,66 @@ class SecurityMiddleware {
|
|
|
637
639
|
slowDown: this.slowDown,
|
|
638
640
|
encryption: this.encryption,
|
|
639
641
|
authentication: this.authentication,
|
|
642
|
+
routeConfig: this.routeConfig,
|
|
640
643
|
};
|
|
641
644
|
}
|
|
645
|
+
/**
|
|
646
|
+
* Check if a route matches a pattern
|
|
647
|
+
*/
|
|
648
|
+
matchesRoute(requestPath, requestMethod, pattern) {
|
|
649
|
+
// Handle RoutePattern object
|
|
650
|
+
if (typeof pattern === 'object' && 'path' in pattern) {
|
|
651
|
+
const routePattern = pattern;
|
|
652
|
+
// Check method if specified
|
|
653
|
+
if (routePattern.methods && routePattern.methods.length > 0) {
|
|
654
|
+
if (!routePattern.methods.includes(requestMethod.toUpperCase())) {
|
|
655
|
+
return false;
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
return this.matchesRoute(requestPath, requestMethod, routePattern.path);
|
|
659
|
+
}
|
|
660
|
+
// Handle RegExp
|
|
661
|
+
if (pattern instanceof RegExp) {
|
|
662
|
+
return pattern.test(requestPath);
|
|
663
|
+
}
|
|
664
|
+
// Handle string patterns with wildcards
|
|
665
|
+
const patternStr = pattern;
|
|
666
|
+
// Exact match
|
|
667
|
+
if (patternStr === requestPath) {
|
|
668
|
+
return true;
|
|
669
|
+
}
|
|
670
|
+
// Wildcard matching (e.g., /api/* matches /api/anything)
|
|
671
|
+
if (patternStr.includes('*')) {
|
|
672
|
+
const regexPattern = patternStr
|
|
673
|
+
.replace(/[.+?^${}()|[\]\\]/g, '\\$&') // Escape special regex chars except *
|
|
674
|
+
.replace(/\*/g, '.*'); // Convert * to .*
|
|
675
|
+
const regex = new RegExp(`^${regexPattern}$`);
|
|
676
|
+
return regex.test(requestPath);
|
|
677
|
+
}
|
|
678
|
+
return false;
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Check if a security module should be applied to a route
|
|
682
|
+
*/
|
|
683
|
+
shouldApplySecurityModule(req, moduleConfig) {
|
|
684
|
+
if (!moduleConfig) {
|
|
685
|
+
return true; // Apply by default if no route config
|
|
686
|
+
}
|
|
687
|
+
const requestPath = req.path || req.url || '';
|
|
688
|
+
const requestMethod = req.method || 'GET';
|
|
689
|
+
// Check includeRoutes first (whitelist approach)
|
|
690
|
+
if (moduleConfig.includeRoutes && moduleConfig.includeRoutes.length > 0) {
|
|
691
|
+
// Only apply if route is in the include list
|
|
692
|
+
return moduleConfig.includeRoutes.some(pattern => this.matchesRoute(requestPath, requestMethod, pattern));
|
|
693
|
+
}
|
|
694
|
+
// Check excludeRoutes (blacklist approach)
|
|
695
|
+
if (moduleConfig.excludeRoutes && moduleConfig.excludeRoutes.length > 0) {
|
|
696
|
+
// Don't apply if route is in the exclude list
|
|
697
|
+
const isExcluded = moduleConfig.excludeRoutes.some(pattern => this.matchesRoute(requestPath, requestMethod, pattern));
|
|
698
|
+
return !isExcluded;
|
|
699
|
+
}
|
|
700
|
+
return true; // Apply by default
|
|
701
|
+
}
|
|
642
702
|
}
|
|
643
703
|
|
|
644
704
|
export { SecurityMiddleware };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-middleware.js","sources":["../../../../src/middleware/security-middleware.ts"],"sourcesContent":[null],"names":["XyPrissJS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"security-middleware.js","sources":["../../../../src/middleware/security-middleware.ts"],"sourcesContent":[null],"names":["XyPrissJS"],"mappings":"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"}
|