xypriss 9.6.0 → 9.6.41
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/README.md +1 -1
- package/dist/cjs/src/middleware/security-middleware.js +3 -0
- package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
- package/dist/cjs/src/plugins/const/PluginHookIds.js +91 -0
- package/dist/cjs/src/plugins/const/PluginHookIds.js.map +1 -1
- package/dist/cjs/src/plugins/core/PermissionManager.js +173 -0
- package/dist/cjs/src/plugins/core/PermissionManager.js.map +1 -0
- package/dist/cjs/src/plugins/core/PluginManager.js +112 -258
- package/dist/cjs/src/plugins/core/PluginManager.js.map +1 -1
- package/dist/cjs/src/schemas/plugingSchema.js +10 -5
- package/dist/cjs/src/schemas/plugingSchema.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge.js +62 -3
- package/dist/cjs/src/server/core/XHSCBridge.js.map +1 -1
- package/dist/cjs/src/server/core/XyRoutingManager.js +8 -0
- package/dist/cjs/src/server/core/XyRoutingManager.js.map +1 -1
- package/dist/cjs/src/server/core/XyServerCreator.js +12 -8
- package/dist/cjs/src/server/core/XyServerCreator.js.map +1 -1
- package/dist/cjs/src/server/core/XyprissApp.js +17 -0
- package/dist/cjs/src/server/core/XyprissApp.js.map +1 -1
- package/dist/cjs/src/server/utils/ConfigLoader.js +53 -96
- package/dist/cjs/src/server/utils/ConfigLoader.js.map +1 -1
- package/dist/cjs/src/sys/EnvApi.js +93 -26
- package/dist/cjs/src/sys/EnvApi.js.map +1 -1
- package/dist/cjs/src/sys/VarsApi.js +19 -4
- package/dist/cjs/src/sys/VarsApi.js.map +1 -1
- package/dist/cjs/src/sys/XyPrissRunner.js +3 -0
- package/dist/cjs/src/sys/XyPrissRunner.js.map +1 -1
- package/dist/cjs/src/sys.js +138 -28
- package/dist/cjs/src/sys.js.map +1 -1
- package/dist/cjs/src/utils/ProjectDiscovery.js +84 -0
- package/dist/cjs/src/utils/ProjectDiscovery.js.map +1 -0
- package/dist/esm/src/middleware/security-middleware.js +3 -0
- package/dist/esm/src/middleware/security-middleware.js.map +1 -1
- package/dist/esm/src/plugins/const/PluginHookIds.js +91 -1
- package/dist/esm/src/plugins/const/PluginHookIds.js.map +1 -1
- package/dist/esm/src/plugins/core/PermissionManager.js +171 -0
- package/dist/esm/src/plugins/core/PermissionManager.js.map +1 -0
- package/dist/esm/src/plugins/core/PluginManager.js +112 -258
- package/dist/esm/src/plugins/core/PluginManager.js.map +1 -1
- package/dist/esm/src/schemas/plugingSchema.js +10 -5
- package/dist/esm/src/schemas/plugingSchema.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge.js +61 -3
- package/dist/esm/src/server/core/XHSCBridge.js.map +1 -1
- package/dist/esm/src/server/core/XyRoutingManager.js +8 -0
- package/dist/esm/src/server/core/XyRoutingManager.js.map +1 -1
- package/dist/esm/src/server/core/XyServerCreator.js +12 -8
- package/dist/esm/src/server/core/XyServerCreator.js.map +1 -1
- package/dist/esm/src/server/core/XyprissApp.js +17 -0
- package/dist/esm/src/server/core/XyprissApp.js.map +1 -1
- package/dist/esm/src/server/utils/ConfigLoader.js +53 -96
- package/dist/esm/src/server/utils/ConfigLoader.js.map +1 -1
- package/dist/esm/src/sys/EnvApi.js +93 -26
- package/dist/esm/src/sys/EnvApi.js.map +1 -1
- package/dist/esm/src/sys/VarsApi.js +19 -4
- package/dist/esm/src/sys/VarsApi.js.map +1 -1
- package/dist/esm/src/sys/XyPrissRunner.js +3 -0
- package/dist/esm/src/sys/XyPrissRunner.js.map +1 -1
- package/dist/esm/src/sys.js +138 -28
- package/dist/esm/src/sys.js.map +1 -1
- package/dist/esm/src/utils/ProjectDiscovery.js +79 -0
- package/dist/esm/src/utils/ProjectDiscovery.js.map +1 -0
- package/dist/index.d.ts +59 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -144,7 +144,7 @@ app.start();
|
|
|
144
144
|
- [XFPM Guide](https://xypriss.nehonix.com/docs/xfpm) - Using the XyPriss Fast Package Manager
|
|
145
145
|
- [Examples](https://xypriss.nehonix.com/docs/EXAMPLES) - Practical code examples
|
|
146
146
|
- [Features Overview](https://xypriss.nehonix.com/docs/FEATURES_OVERVIEW) - Comprehensive feature list
|
|
147
|
-
- [Router Engine V2](./docs/
|
|
147
|
+
- [Router Engine V2](./docs/routing/README.md) - Rich modular routing
|
|
148
148
|
|
|
149
149
|
### Security
|
|
150
150
|
|
|
@@ -292,6 +292,7 @@ class SecurityMiddleware {
|
|
|
292
292
|
}
|
|
293
293
|
// CSRF protection using BuiltInMiddleware
|
|
294
294
|
if (this.csrf) {
|
|
295
|
+
this.logger.debug("security", "Initializing CSRF protection");
|
|
295
296
|
const csrfConfig = typeof this.csrf === "object" ? this.csrf : {};
|
|
296
297
|
this.csrfMiddleware = BuiltInMiddleware.BuiltInMiddleware.csrf({
|
|
297
298
|
getSecret: (req) => this.authentication.session?.secret ||
|
|
@@ -307,8 +308,10 @@ class SecurityMiddleware {
|
|
|
307
308
|
},
|
|
308
309
|
});
|
|
309
310
|
}
|
|
311
|
+
this.logger.debug("security", "CSRF protection initialized");
|
|
310
312
|
// Browser-only protection
|
|
311
313
|
if (this.isBrowserOnlyEnabled()) {
|
|
314
|
+
this.logger.debug("security", "Initializing browser-only protection");
|
|
312
315
|
const browserOnlyConfig = typeof this.browserOnly === "object" ? this.browserOnly : {};
|
|
313
316
|
this.browserOnlyMiddleware =
|
|
314
317
|
BuiltInMiddleware.BuiltInMiddleware.browserOnly(browserOnlyConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-middleware.js","sources":["../../../../src/middleware/security-middleware.ts"],"sourcesContent":[null],"names":["Logger","Random","BuiltInMiddleware","MobileOnlyProtector"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"security-middleware.js","sources":["../../../../src/middleware/security-middleware.ts"],"sourcesContent":[null],"names":["Logger","Random","BuiltInMiddleware","MobileOnlyProtector"],"mappings":"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"}
|
|
@@ -27,6 +27,8 @@ const PluginHookIds = {
|
|
|
27
27
|
MIDDLEWARE: "PLG.HTTP.MIDDLEWARE",
|
|
28
28
|
// Management Hooks
|
|
29
29
|
MANAGE_PLUGINS: "PLG.MANAGEMENT.MANAGE_PLUGINS",
|
|
30
|
+
// Ops Hooks
|
|
31
|
+
ON_AUXILIARY_SERVER_DEPLOY: "PLG.OPS.AUXILIARY_SERVER",
|
|
30
32
|
// Logging Hooks
|
|
31
33
|
ON_CONSOLE_INTERCEPT: "PLG.LOGGING.CONSOLE_INTERCEPT",
|
|
32
34
|
};
|
|
@@ -55,10 +57,99 @@ const HOOK_ID_MAP = {
|
|
|
55
57
|
middleware: PluginHookIds.MIDDLEWARE,
|
|
56
58
|
// Management
|
|
57
59
|
managePlugins: PluginHookIds.MANAGE_PLUGINS,
|
|
60
|
+
// Ops
|
|
61
|
+
onAuxiliaryServerDeploy: PluginHookIds.ON_AUXILIARY_SERVER_DEPLOY,
|
|
58
62
|
// Logging
|
|
59
63
|
onConsoleIntercept: PluginHookIds.ON_CONSOLE_INTERCEPT,
|
|
60
64
|
};
|
|
65
|
+
/**
|
|
66
|
+
* Detailed metadata for each plugin hook.
|
|
67
|
+
* Used for descriptive error messages and documentation.
|
|
68
|
+
*/
|
|
69
|
+
const HOOK_METADATA = {
|
|
70
|
+
[PluginHookIds.ON_REGISTER]: {
|
|
71
|
+
name: "Plugin Registration",
|
|
72
|
+
action: "register itself with the system",
|
|
73
|
+
description: "Executed when the plugin is first added to the server.",
|
|
74
|
+
},
|
|
75
|
+
[PluginHookIds.ON_SERVER_START]: {
|
|
76
|
+
name: "Server Startup",
|
|
77
|
+
action: "participate in server initialization",
|
|
78
|
+
description: "Executed during the initial phase of server startup.",
|
|
79
|
+
},
|
|
80
|
+
[PluginHookIds.ON_SERVER_READY]: {
|
|
81
|
+
name: "Server Ready Alert",
|
|
82
|
+
action: "execute logic after the server is fully ready",
|
|
83
|
+
description: "Executed once the server is listening for connections.",
|
|
84
|
+
},
|
|
85
|
+
[PluginHookIds.ON_SERVER_STOP]: {
|
|
86
|
+
name: "Server Shutdown",
|
|
87
|
+
action: "perform cleanup during shutdown",
|
|
88
|
+
description: "Executed when the server is closing down.",
|
|
89
|
+
},
|
|
90
|
+
[PluginHookIds.ON_REQUEST]: {
|
|
91
|
+
name: "Request Interception",
|
|
92
|
+
action: "intercept and process incoming requests",
|
|
93
|
+
description: "Executed for every incoming HTTP request.",
|
|
94
|
+
},
|
|
95
|
+
[PluginHookIds.ON_RESPONSE]: {
|
|
96
|
+
name: "Response Interception",
|
|
97
|
+
action: "intercept and process outgoing responses",
|
|
98
|
+
description: "Executed just before the response is sent to the client.",
|
|
99
|
+
},
|
|
100
|
+
[PluginHookIds.ON_ERROR]: {
|
|
101
|
+
name: "Error Handling",
|
|
102
|
+
action: "capture and handle application errors",
|
|
103
|
+
description: "Executed when an unhandled error occurs during a request.",
|
|
104
|
+
},
|
|
105
|
+
[PluginHookIds.ON_SECURITY_ATTACK]: {
|
|
106
|
+
name: "Security Attack Monitoring",
|
|
107
|
+
action: "monitor and respond to security threats",
|
|
108
|
+
description: "Executed when a potential security attack is detected.",
|
|
109
|
+
},
|
|
110
|
+
[PluginHookIds.ON_RATE_LIMIT]: {
|
|
111
|
+
name: "Rate Limit Tracking",
|
|
112
|
+
action: "respond to rate-limiting events",
|
|
113
|
+
description: "Executed when a client exceeds request rate limits.",
|
|
114
|
+
},
|
|
115
|
+
[PluginHookIds.ON_RESPONSE_TIME]: {
|
|
116
|
+
name: "Performance Monitoring",
|
|
117
|
+
action: "track request response times",
|
|
118
|
+
description: "Provides performance data for every completed request.",
|
|
119
|
+
},
|
|
120
|
+
[PluginHookIds.ON_ROUTE_ERROR]: {
|
|
121
|
+
name: "Route Error Tracking",
|
|
122
|
+
action: "monitor specific route failures",
|
|
123
|
+
description: "Executed when a specific route execution fails.",
|
|
124
|
+
},
|
|
125
|
+
[PluginHookIds.REGISTER_ROUTES]: {
|
|
126
|
+
name: "API Route Registration",
|
|
127
|
+
action: "register its own API endpoints",
|
|
128
|
+
description: "Allows the plugin to add new routes to the application.",
|
|
129
|
+
},
|
|
130
|
+
[PluginHookIds.MIDDLEWARE]: {
|
|
131
|
+
name: "Middleware Injection",
|
|
132
|
+
action: "inject global middleware into the pipe",
|
|
133
|
+
description: "Allows the plugin to add middleware to the request flow.",
|
|
134
|
+
},
|
|
135
|
+
[PluginHookIds.MANAGE_PLUGINS]: {
|
|
136
|
+
name: "Plugin Orchestration",
|
|
137
|
+
action: "manage or configure other plugins",
|
|
138
|
+
description: "Privileged: Allows a plugin to influence other plugins in the system.",
|
|
139
|
+
},
|
|
140
|
+
[PluginHookIds.ON_AUXILIARY_SERVER_DEPLOY]: {
|
|
141
|
+
name: "Auxiliary Server Deployment",
|
|
142
|
+
action: "deploy an isolated server",
|
|
143
|
+
description: "Privileged: Allows creating independent servers (e.g., Swagger, Admin Panel).",
|
|
144
|
+
},
|
|
145
|
+
[PluginHookIds.ON_CONSOLE_INTERCEPT]: {
|
|
146
|
+
name: "Console Logging Interception",
|
|
147
|
+
action: "intercept and process console output",
|
|
148
|
+
description: "Privileged: Allows the plugin to capture all console activity.",
|
|
149
|
+
},
|
|
150
|
+
};
|
|
61
151
|
|
|
62
152
|
exports.HOOK_ID_MAP = HOOK_ID_MAP;
|
|
153
|
+
exports.HOOK_METADATA = HOOK_METADATA;
|
|
63
154
|
exports.PluginHookIds = PluginHookIds;
|
|
64
155
|
//# sourceMappingURL=PluginHookIds.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginHookIds.js","sources":["../../../../../src/plugins/const/PluginHookIds.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AAEI,MAAM,aAAa,GAAG;;AAEzB,IAAA,WAAW,EAAE,wBAAwB;AACrC,IAAA,eAAe,EAAE,4BAA4B;AAC7C,IAAA,eAAe,EAAE,4BAA4B;AAC7C,IAAA,cAAc,EAAE,2BAA2B;;AAG3C,IAAA,UAAU,EAAE,qBAAqB;AACjC,IAAA,WAAW,EAAE,sBAAsB;AACnC,IAAA,QAAQ,EAAE,mBAAmB;;AAG7B,IAAA,kBAAkB,EAAE,8BAA8B;AAClD,IAAA,aAAa,EAAE,yBAAyB;;AAGxC,IAAA,gBAAgB,EAAE,2BAA2B;AAC7C,IAAA,cAAc,EAAE,yBAAyB;;AAGzC,IAAA,eAAe,EAAE,6BAA6B;AAC9C,IAAA,UAAU,EAAE,qBAAqB;;AAGjC,IAAA,cAAc,EAAE,+BAA+B;;AAG/C,IAAA,oBAAoB,EAAE,+BAA+B;;AAGzD;;AAEG;AACI,MAAM,WAAW,GAA2B;;IAE/C,UAAU,EAAE,aAAa,CAAC,WAAW;IACrC,aAAa,EAAE,aAAa,CAAC,eAAe;IAC5C,aAAa,EAAE,aAAa,CAAC,eAAe;IAC5C,YAAY,EAAE,aAAa,CAAC,cAAc;;IAG1C,SAAS,EAAE,aAAa,CAAC,UAAU;IACnC,UAAU,EAAE,aAAa,CAAC,WAAW;IACrC,OAAO,EAAE,aAAa,CAAC,QAAQ;;IAG/B,gBAAgB,EAAE,aAAa,CAAC,kBAAkB;IAClD,WAAW,EAAE,aAAa,CAAC,aAAa;;IAGxC,cAAc,EAAE,aAAa,CAAC,gBAAgB;IAC9C,YAAY,EAAE,aAAa,CAAC,cAAc;;IAG1C,cAAc,EAAE,aAAa,CAAC,eAAe;;IAG7C,UAAU,EAAE,aAAa,CAAC,UAAU;;IAGpC,aAAa,EAAE,aAAa,CAAC,cAAc;;IAG3C,kBAAkB,EAAE,aAAa,CAAC,oBAAoB
|
|
1
|
+
{"version":3,"file":"PluginHookIds.js","sources":["../../../../../src/plugins/const/PluginHookIds.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var Logger = require('../../shared/logger/Logger.js');
|
|
4
|
+
var PluginHookIds = require('../const/PluginHookIds.js');
|
|
5
|
+
|
|
6
|
+
/***************************************************************************
|
|
7
|
+
* XyPrissJS - Fast And Secure
|
|
8
|
+
*
|
|
9
|
+
* @author Nehonix
|
|
10
|
+
* @license Nehonix OSL (NOSL)
|
|
11
|
+
*
|
|
12
|
+
* Copyright (c) 2025 Nehonix. All rights reserved.
|
|
13
|
+
***************************************************************************** */
|
|
14
|
+
/**
|
|
15
|
+
* PermissionManager handles all security-related checks for the plugin system.
|
|
16
|
+
* It enforces hook policies and masks sensitive data.
|
|
17
|
+
*/
|
|
18
|
+
class PermissionManager {
|
|
19
|
+
constructor(server, logger) {
|
|
20
|
+
this.server = server;
|
|
21
|
+
this.disabledPlugins = new Set();
|
|
22
|
+
this.logger = logger || new Logger.Logger();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Disable a plugin globally.
|
|
26
|
+
* @param pluginName - Name of the plugin to disable.
|
|
27
|
+
*/
|
|
28
|
+
disablePlugin(pluginName) {
|
|
29
|
+
this.disabledPlugins.add(pluginName);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Enable a plugin globally.
|
|
33
|
+
* @param pluginName - Name of the plugin to enable.
|
|
34
|
+
*/
|
|
35
|
+
enablePlugin(pluginName) {
|
|
36
|
+
this.disabledPlugins.delete(pluginName);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if a plugin is disabled and log a warning if it is.
|
|
40
|
+
*/
|
|
41
|
+
isPluginDisabled(pluginName, internalHookName) {
|
|
42
|
+
if (this.disabledPlugins.has(pluginName)) {
|
|
43
|
+
const hookId = PluginHookIds.HOOK_ID_MAP[internalHookName] || internalHookName;
|
|
44
|
+
const meta = PluginHookIds.HOOK_METADATA[hookId];
|
|
45
|
+
let message = `Plugin '${pluginName}' is disabled but tried to execute hook '${hookId}'.`;
|
|
46
|
+
if (meta) {
|
|
47
|
+
message = `Plugin '${pluginName}' is disabled and cannot ${meta.action} (Hook: ${hookId} - ${meta.name}).`;
|
|
48
|
+
}
|
|
49
|
+
this.logger.error("plugins", `${message} Please enable it if you want to use its features.`);
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Check if a plugin is allowed to execute a specific hook.
|
|
56
|
+
* Enforces strict policies for privileged hooks.
|
|
57
|
+
*/
|
|
58
|
+
checkPermission(pluginName, internalHookName) {
|
|
59
|
+
if (this.isPluginDisabled(pluginName, internalHookName)) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
const hookId = PluginHookIds.HOOK_ID_MAP[internalHookName] || internalHookName;
|
|
63
|
+
const meta = PluginHookIds.HOOK_METADATA[hookId];
|
|
64
|
+
const permissions = this.server.app.configs?.pluginPermissions;
|
|
65
|
+
// Special case: Privileged hooks are denied by default unless explicitly allowed
|
|
66
|
+
const isPrivilegedHook = [
|
|
67
|
+
PluginHookIds.PluginHookIds.MANAGE_PLUGINS,
|
|
68
|
+
PluginHookIds.PluginHookIds.ON_CONSOLE_INTERCEPT,
|
|
69
|
+
PluginHookIds.PluginHookIds.ON_AUXILIARY_SERVER_DEPLOY,
|
|
70
|
+
].includes(hookId);
|
|
71
|
+
// Helper to log denials
|
|
72
|
+
const logDenial = (reason, solution) => {
|
|
73
|
+
let message = `Plugin '${pluginName}' is denied access to hook '${hookId}'.`;
|
|
74
|
+
if (meta) {
|
|
75
|
+
const typeSuffix = isPrivilegedHook
|
|
76
|
+
? "This is a privileged action restricted by the engine."
|
|
77
|
+
: "This action is currently not allowed by the security policy.";
|
|
78
|
+
message = `Plugin '${pluginName}' is attempting to ${meta.action} using hook '${hookId}' (${meta.name}).\n${meta.description}\n${typeSuffix}`;
|
|
79
|
+
}
|
|
80
|
+
this.logger.error("plugins", `${message}${solution ? `\nTo allow this: ${solution}` : ""}`);
|
|
81
|
+
};
|
|
82
|
+
const solutionPrivileged = `Add '${hookId}' to 'allowedHooks' in the server configuration for plugin '${pluginName}'.`;
|
|
83
|
+
// If no permissions configured
|
|
84
|
+
if (!permissions || permissions.length === 0) {
|
|
85
|
+
if (isPrivilegedHook) {
|
|
86
|
+
logDenial("Privileged hook denied by default.", solutionPrivileged);
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
const pluginPerm = permissions.find((p) => p.name === pluginName);
|
|
92
|
+
// If plugin is not listed in permissions
|
|
93
|
+
if (!pluginPerm) {
|
|
94
|
+
if (isPrivilegedHook) {
|
|
95
|
+
logDenial("Privileged hook denied by default.", solutionPrivileged);
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
// Check explicitly denied hooks first (they override everything)
|
|
101
|
+
if (pluginPerm.deniedHooks?.includes(hookId)) {
|
|
102
|
+
logDenial("Explicitly denied in configuration.", `Remove '${hookId}' from 'deniedHooks' for plugin '${pluginName}'.`);
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
const policy = pluginPerm.policy || "allow";
|
|
106
|
+
const allowedHooks = pluginPerm.allowedHooks;
|
|
107
|
+
// Strict Enforcement for Privileged Hooks
|
|
108
|
+
if (isPrivilegedHook) {
|
|
109
|
+
if (Array.isArray(allowedHooks) && allowedHooks.includes(hookId)) {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
if (allowedHooks === "*") {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
logDenial("Privileged hook must be explicitly whitelisted.", solutionPrivileged);
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
// Standard Hook Logic
|
|
119
|
+
if (policy === "deny") {
|
|
120
|
+
// "deny" policy = Whitelist
|
|
121
|
+
if (allowedHooks === "*")
|
|
122
|
+
return true;
|
|
123
|
+
if (Array.isArray(allowedHooks) && allowedHooks.includes(hookId)) {
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
logDenial("Denied by 'deny' policy (Whitelist mode).", `Add '${hookId}' to 'allowedHooks' or change policy for plugin '${pluginName}'.`);
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
// "allow" policy = Blacklist (already checked deniedHooks above)
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Creates a masked version of the request object for security in plugin hooks.
|
|
134
|
+
* Prevents plugins from accessing sensitive data like body, query, and cookies.
|
|
135
|
+
*/
|
|
136
|
+
maskRequest(req) {
|
|
137
|
+
if (!req)
|
|
138
|
+
return req;
|
|
139
|
+
const maskedMessage = "Access to sensitive request data is restricted in this hook for security reasons.";
|
|
140
|
+
const sensitiveFields = ["body", "query", "cookies", "params"];
|
|
141
|
+
return new Proxy(req, {
|
|
142
|
+
get(target, prop) {
|
|
143
|
+
if (typeof prop === "string" &&
|
|
144
|
+
sensitiveFields.includes(prop)) {
|
|
145
|
+
return maskedMessage;
|
|
146
|
+
}
|
|
147
|
+
const value = target[prop];
|
|
148
|
+
if (typeof value === "function") {
|
|
149
|
+
return value.bind(target);
|
|
150
|
+
}
|
|
151
|
+
return value;
|
|
152
|
+
},
|
|
153
|
+
ownKeys(target) {
|
|
154
|
+
return Reflect.ownKeys(target);
|
|
155
|
+
},
|
|
156
|
+
getOwnPropertyDescriptor(target, prop) {
|
|
157
|
+
if (typeof prop === "string" &&
|
|
158
|
+
sensitiveFields.includes(prop)) {
|
|
159
|
+
return {
|
|
160
|
+
value: maskedMessage,
|
|
161
|
+
enumerable: true,
|
|
162
|
+
configurable: true,
|
|
163
|
+
writable: false,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
return Reflect.getOwnPropertyDescriptor(target, prop);
|
|
167
|
+
},
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
exports.PermissionManager = PermissionManager;
|
|
173
|
+
//# sourceMappingURL=PermissionManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PermissionManager.js","sources":["../../../../../src/plugins/core/PermissionManager.ts"],"sourcesContent":[null],"names":["Logger","HOOK_ID_MAP","HOOK_METADATA","PluginHookIds"],"mappings":"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"}
|