xypriss 9.12.66 → 9.12.68
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/src/plugins/const/getSysApi.js +9 -1
- package/dist/cjs/src/plugins/const/getSysApi.js.map +1 -1
- package/dist/cjs/src/server/const/Defaulthelmetopts.js +5 -2
- package/dist/cjs/src/server/const/Defaulthelmetopts.js.map +1 -1
- package/dist/cjs/src/server/const/default.js +7 -1
- package/dist/cjs/src/server/const/default.js.map +1 -1
- package/dist/cjs/src/utils/ProjectDiscovery.js +6 -3
- package/dist/cjs/src/utils/ProjectDiscovery.js.map +1 -1
- package/dist/cjs/src/utils/SecurityShield.js +36 -1
- package/dist/cjs/src/utils/SecurityShield.js.map +1 -1
- package/dist/cjs/src/xhsc/EnvApi.js +25 -4
- package/dist/cjs/src/xhsc/EnvApi.js.map +1 -1
- package/dist/cjs/src/xhsc/api/env/env.js +32 -0
- package/dist/cjs/src/xhsc/api/env/env.js.map +1 -1
- package/dist/cjs/src/xhsc.js +1 -1
- package/dist/cjs/src/xhsc.js.map +1 -1
- package/dist/esm/src/plugins/const/getSysApi.js +9 -1
- package/dist/esm/src/plugins/const/getSysApi.js.map +1 -1
- package/dist/esm/src/server/const/Defaulthelmetopts.js +5 -2
- package/dist/esm/src/server/const/Defaulthelmetopts.js.map +1 -1
- package/dist/esm/src/server/const/default.js +7 -1
- package/dist/esm/src/server/const/default.js.map +1 -1
- package/dist/esm/src/utils/ProjectDiscovery.js +6 -3
- package/dist/esm/src/utils/ProjectDiscovery.js.map +1 -1
- package/dist/esm/src/utils/SecurityShield.js +36 -1
- package/dist/esm/src/utils/SecurityShield.js.map +1 -1
- package/dist/esm/src/xhsc/EnvApi.js +26 -5
- package/dist/esm/src/xhsc/EnvApi.js.map +1 -1
- package/dist/esm/src/xhsc/api/env/env.js +31 -1
- package/dist/esm/src/xhsc/api/env/env.js.map +1 -1
- package/dist/esm/src/xhsc.js +2 -2
- package/dist/esm/src/xhsc.js.map +1 -1
- package/dist/index.d.ts +49 -11
- package/package.json +1 -1
|
@@ -7,7 +7,15 @@
|
|
|
7
7
|
* `xhsc.ts` -> `PathApi` -> `XyprissTempDir` -> `xhsc` (localSysApi)
|
|
8
8
|
*/
|
|
9
9
|
function getSysApi() {
|
|
10
|
-
|
|
10
|
+
if (typeof globalThis !== "undefined" && globalThis.__sys__) {
|
|
11
|
+
return globalThis.__sys__;
|
|
12
|
+
}
|
|
13
|
+
try {
|
|
14
|
+
return require("../../xhsc")?.localSysApi;
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return globalThis?.__sys__;
|
|
18
|
+
}
|
|
11
19
|
}
|
|
12
20
|
|
|
13
21
|
exports.getSysApi = getSysApi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSysApi.js","sources":["../../../../../src/plugins/const/getSysApi.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;SACa,SAAS,GAAA;
|
|
1
|
+
{"version":3,"file":"getSysApi.js","sources":["../../../../../src/plugins/const/getSysApi.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;SACa,SAAS,GAAA;IACrB,IAAI,OAAO,UAAU,KAAK,WAAW,IAAK,UAAkB,CAAC,OAAO,EAAE;QAClE,OAAQ,UAAkB,CAAC,OAAO;IACtC;AACA,IAAA,IAAI;AACA,QAAA,OAAQ,OAAO,CAAC,YAAY,CAAiC,EAAE,WAAW;IAC9E;AAAE,IAAA,MAAM;QACJ,OAAQ,UAAkB,EAAE,OAAO;IACvC;AACJ;;;;"}
|
|
@@ -16,8 +16,11 @@ var Logger = require('../../shared/logger/Logger.js');
|
|
|
16
16
|
* in the `.env` file — useful for staging environments that mimic dev but
|
|
17
17
|
* must not relax CSP/HSTS/COEP.
|
|
18
18
|
*/
|
|
19
|
-
const
|
|
20
|
-
|
|
19
|
+
const sys = getSysApi.getSysApi();
|
|
20
|
+
const isDev = sys?.__env__
|
|
21
|
+
? sys.__env__.isDevelopment() &&
|
|
22
|
+
sys.__env__.get("XSEC_TRUST", "true") === "true"
|
|
23
|
+
: process.env.NODE_ENV !== "production";
|
|
21
24
|
/**
|
|
22
25
|
* "Trusted" third-party origins, allowed in the CSP directives ONLY when
|
|
23
26
|
* running in dev mode. Never exposed in production builds.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Defaulthelmetopts.js","sources":["../../../../../src/server/const/Defaulthelmetopts.ts"],"sourcesContent":[null],"names":["getSysApi","logger"],"mappings":";;;;;AAMA;;;;;;;;;;;;AAYG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"Defaulthelmetopts.js","sources":["../../../../../src/server/const/Defaulthelmetopts.ts"],"sourcesContent":[null],"names":["getSysApi","logger"],"mappings":"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"}
|
|
@@ -198,7 +198,13 @@ const DEFAULT_OPTIONS = {
|
|
|
198
198
|
".json",
|
|
199
199
|
],
|
|
200
200
|
useTempFiles: true,
|
|
201
|
-
|
|
201
|
+
/**
|
|
202
|
+
* Resolved lazily at runtime via XyPriss's native System API (`getSysApi().path.tmpUserDir`)
|
|
203
|
+
* once `__sys__` is initialized, deliberately avoiding reliance on Node.js core modules (`node:os`).
|
|
204
|
+
*/
|
|
205
|
+
get tempFileDir() {
|
|
206
|
+
return getSysApi.getSysApi().path.tmpUserDir + "/.uploads/";
|
|
207
|
+
},
|
|
202
208
|
createParentPath: true,
|
|
203
209
|
preservePath: false,
|
|
204
210
|
limits: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":["xemsKeyPlaceholder","DEFAULT_LOGGER_CONFIG","getRandomBytes","defaultHelmetOpts","getSysApi"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":["xemsKeyPlaceholder","DEFAULT_LOGGER_CONFIG","getRandomBytes","defaultHelmetOpts","getSysApi"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var fs = require('fs');
|
|
4
4
|
var path = require('path');
|
|
5
5
|
var ConfigSyntaxParser = require('./ConfigSyntaxParser.js');
|
|
6
|
+
var env = require('../xhsc/api/env/env.js');
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Checks if a directory is a "Real Project" root based on hierarchical criteria.
|
|
@@ -171,11 +172,13 @@ function loadXyConfig(projectRoot) {
|
|
|
171
172
|
}
|
|
172
173
|
// Resolve references &(pkg), &(env), etc.
|
|
173
174
|
const sys = globalThis.__sys__;
|
|
175
|
+
// Safely resolve &(env:...) variables scoped to the target project root
|
|
176
|
+
// using the internal symbol (safe from third-party / plugin tampering).
|
|
174
177
|
let envProvider = sys?.__env__;
|
|
175
|
-
if (sys?.__env__?.
|
|
178
|
+
if (sys?.__env__?.[env.XY_ENV_INTERNAL_GET_FOR_ROOT]) {
|
|
176
179
|
envProvider = {
|
|
177
|
-
has: (key) => sys.__env__.
|
|
178
|
-
get: (key) => sys.__env__.
|
|
180
|
+
has: (key) => sys.__env__[env.XY_ENV_INTERNAL_GET_FOR_ROOT](key, projectRoot) !== undefined,
|
|
181
|
+
get: (key) => sys.__env__[env.XY_ENV_INTERNAL_GET_FOR_ROOT](key, projectRoot)
|
|
179
182
|
};
|
|
180
183
|
}
|
|
181
184
|
const parser = new ConfigSyntaxParser.ConfigSyntaxParser(pkgJson, envProvider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectDiscovery.js","sources":["../../../../src/utils/ProjectDiscovery.ts"],"sourcesContent":[null],"names":["ConfigSyntaxParser"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProjectDiscovery.js","sources":["../../../../src/utils/ProjectDiscovery.ts"],"sourcesContent":[null],"names":["XY_ENV_INTERNAL_GET_FOR_ROOT","ConfigSyntaxParser"],"mappings":"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"}
|
|
@@ -20,7 +20,21 @@ function createSecurityShield(target, label = "__sys__") {
|
|
|
20
20
|
return proxyCache.get(obj);
|
|
21
21
|
const handler = {
|
|
22
22
|
get(target, prop, receiver) {
|
|
23
|
-
|
|
23
|
+
// 🛡️ Zero-Trust Hardening: Prevent reflective access to private/internal state.
|
|
24
|
+
// Prevents malicious plugins from reading host coordinates (e.g., _primaryRoot, _internalRoot)
|
|
25
|
+
// or inspecting internal registries (_pluginMap). Dunder properties (__root__, __env__) remain
|
|
26
|
+
// intentionally accessible as public system contracts.
|
|
27
|
+
if (typeof prop === "string" &&
|
|
28
|
+
prop.startsWith("_") &&
|
|
29
|
+
!prop.startsWith("__")) {
|
|
30
|
+
const desc = Object.getOwnPropertyDescriptor(target, prop);
|
|
31
|
+
if (!desc || desc.configurable !== false || desc.writable !== false) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// Use target as receiver so internal getters can access their own private
|
|
36
|
+
// state (e.g. this._internalRoot) while external access to _ remains blocked.
|
|
37
|
+
const value = Reflect.get(target, prop, target);
|
|
24
38
|
// Prevent Proxy invariant violation
|
|
25
39
|
const desc = Object.getOwnPropertyDescriptor(target, prop);
|
|
26
40
|
if (desc && desc.configurable === false && desc.writable === false) {
|
|
@@ -37,6 +51,27 @@ function createSecurityShield(target, label = "__sys__") {
|
|
|
37
51
|
}
|
|
38
52
|
return value;
|
|
39
53
|
},
|
|
54
|
+
has(target, prop) {
|
|
55
|
+
if (typeof prop === "string" &&
|
|
56
|
+
prop.startsWith("_") &&
|
|
57
|
+
!prop.startsWith("__")) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
return Reflect.has(target, prop);
|
|
61
|
+
},
|
|
62
|
+
ownKeys(target) {
|
|
63
|
+
return Reflect.ownKeys(target).filter((key) => {
|
|
64
|
+
if (typeof key === "string" &&
|
|
65
|
+
key.startsWith("_") &&
|
|
66
|
+
!key.startsWith("__")) {
|
|
67
|
+
const desc = Object.getOwnPropertyDescriptor(target, key);
|
|
68
|
+
if (!desc || desc.configurable !== false) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
});
|
|
74
|
+
},
|
|
40
75
|
set(target, prop) {
|
|
41
76
|
const propName = typeof prop === "symbol" ? prop.toString() : String(prop);
|
|
42
77
|
throw new Error(`[XyPriss Security] Illegal Mutation: Property '${propName}' on '${path}' is protected and cannot be modified.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityShield.js","sources":["../../../../src/utils/SecurityShield.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;;;;AAQG;SACa,oBAAoB,CAChC,MAAS,EACT,QAAgB,SAAS,EAAA;AAEzB,IAAA,MAAM,UAAU,GAAG,IAAI,OAAO,EAAe;AAE7C,IAAA,SAAS,WAAW,CAAC,GAAQ,EAAE,IAAY,EAAA;QACvC,IACI,GAAG,KAAK,IAAI;aACX,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,UAAU,CAAC,EACxD;AACE,YAAA,OAAO,GAAG;QACd;AAEA,QAAA,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AAEnD,QAAA,MAAM,OAAO,GAAsB;AAC/B,YAAA,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAA;
|
|
1
|
+
{"version":3,"file":"SecurityShield.js","sources":["../../../../src/utils/SecurityShield.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -117,7 +117,7 @@ class EnvApi {
|
|
|
117
117
|
}
|
|
118
118
|
get(key, defaultValue) {
|
|
119
119
|
if (key === "__root__") {
|
|
120
|
-
return this.runner.getRoot();
|
|
120
|
+
return (this.isDynamic ? ProjectDiscovery.getCallerProjectRoot() : null) || this.runner.getRoot();
|
|
121
121
|
}
|
|
122
122
|
const store = this.getStoreForCaller();
|
|
123
123
|
const value = store[key];
|
|
@@ -125,8 +125,18 @@ class EnvApi {
|
|
|
125
125
|
}
|
|
126
126
|
/**
|
|
127
127
|
* Reads a variable from the secure internal store for a specific root.
|
|
128
|
+
*
|
|
129
|
+
* **Security Note:**
|
|
130
|
+
* Formerly exposed as `getForRoot(key, root)`. It was removed from the public API
|
|
131
|
+
* because it functioned as a zero-trust bypass: plugins could manually pass the host project
|
|
132
|
+
* root and read host secrets. It is now private to the engine and keyed by an internal Symbol.
|
|
133
|
+
*
|
|
134
|
+
* @internal
|
|
135
|
+
* @param key - Variable name to look up.
|
|
136
|
+
* @param root - Absolute project root path.
|
|
137
|
+
* @returns The resolved variable value or undefined.
|
|
128
138
|
*/
|
|
129
|
-
|
|
139
|
+
[env.XY_ENV_INTERNAL_GET_FOR_ROOT](key, root) {
|
|
130
140
|
if (key === "__root__") {
|
|
131
141
|
return root;
|
|
132
142
|
}
|
|
@@ -162,7 +172,11 @@ class EnvApi {
|
|
|
162
172
|
*/
|
|
163
173
|
getStrict(key, options) {
|
|
164
174
|
if (key === "__root__") {
|
|
165
|
-
|
|
175
|
+
const rootVal = (this.isDynamic ? ProjectDiscovery.getCallerProjectRoot() : null) || this.runner.getRoot();
|
|
176
|
+
if (!rootVal) {
|
|
177
|
+
throw new env.EnvAccessError(key, "missing");
|
|
178
|
+
}
|
|
179
|
+
return rootVal;
|
|
166
180
|
}
|
|
167
181
|
const store = this.getStoreForCaller();
|
|
168
182
|
const value = store[key];
|
|
@@ -291,9 +305,16 @@ class EnvApi {
|
|
|
291
305
|
/**
|
|
292
306
|
* Configures the XESS (XyPriss Environment Security Shield) dynamically.
|
|
293
307
|
*
|
|
308
|
+
* **Security Note:**
|
|
309
|
+
* Formerly exposed as `public configureShield(...)`. It was removed from the public API
|
|
310
|
+
* because any untrusted caller could modify the whitelist of allowed `process.env` properties,
|
|
311
|
+
* effectively destroying the Environment Security Shield. It is now private to the engine
|
|
312
|
+
* and only accessible via this internal Symbol during early bootstrap.
|
|
313
|
+
*
|
|
314
|
+
* @internal
|
|
294
315
|
* @param config - XESS configuration options.
|
|
295
316
|
*/
|
|
296
|
-
|
|
317
|
+
[env.XY_ENV_CONFIGURE_SHIELD](config) {
|
|
297
318
|
if (!config)
|
|
298
319
|
return;
|
|
299
320
|
if (config.whitelist !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvApi.js","sources":["../../../../src/xhsc/EnvApi.ts"],"sourcesContent":[null],"names":["EnvAccessError","
|
|
1
|
+
{"version":3,"file":"EnvApi.js","sources":["../../../../src/xhsc/EnvApi.ts"],"sourcesContent":[null],"names":["getCallerProjectRoot","XY_ENV_INTERNAL_GET_FOR_ROOT","EnvAccessError","XY_ENV_CONFIGURE_SHIELD","XY_ENV_STORE_KEY","EnvStoreError","DotEnvLoader","EnvKeyError","FORBIDDEN_VALUE_PATTERN"],"mappings":"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"}
|
|
@@ -11,6 +11,36 @@
|
|
|
11
11
|
// ---------------------------------------------------------------------------
|
|
12
12
|
const XY_ENV_STORE_KEY = Symbol("__xy_env_store__");
|
|
13
13
|
const XY_XHSC_REGISTER_FS = Symbol("__xy_xhsc_register_fs__");
|
|
14
|
+
/**
|
|
15
|
+
* **Internal Root-Scoped Env Access Key**
|
|
16
|
+
*
|
|
17
|
+
* Used exclusively by internal engine modules (such as `ProjectDiscovery.loadXyConfig`)
|
|
18
|
+
* to resolve configuration references `&(env:...)` within a target project context.
|
|
19
|
+
*
|
|
20
|
+
* **Security Decision:**
|
|
21
|
+
* Previously, this capability was exposed as a public method `__sys__.__env__.getForRoot(key, root)`.
|
|
22
|
+
* That allowed third-party plugins in `node_modules` to pass the host project's root (`process.cwd()`
|
|
23
|
+
* or `__sys__._primaryRoot`), completely bypassing caller-isolated Zero-Trust sandboxing.
|
|
24
|
+
* Moving this method behind an unexported module `Symbol` prevents external code from invoking it.
|
|
25
|
+
*
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
const XY_ENV_INTERNAL_GET_FOR_ROOT = Symbol("__xy_env_internal_get_for_root__");
|
|
29
|
+
/**
|
|
30
|
+
* **Internal Security Shield Configuration Key**
|
|
31
|
+
*
|
|
32
|
+
* Used exclusively during framework startup (`xhsc.ts`) to apply declarative
|
|
33
|
+
* XESS shield rules configured in `xypriss.config.json(c)`.
|
|
34
|
+
*
|
|
35
|
+
* **Security Decision:**
|
|
36
|
+
* Exposing `configureShield` as a public method on `__sys__.__env__` created a critical vulnerability,
|
|
37
|
+
* allowing untrusted plugins to dynamically modify the whitelist and leak forbidden secrets through
|
|
38
|
+
* `process.env`. Restricting it to this unexported Symbol guarantees that only the engine bootstrap
|
|
39
|
+
* can configure the whitelist.
|
|
40
|
+
*
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
const XY_ENV_CONFIGURE_SHIELD = Symbol("__xy_env_configure_shield__");
|
|
14
44
|
// ---------------------------------------------------------------------------
|
|
15
45
|
// Internal value sanitisation
|
|
16
46
|
//
|
|
@@ -88,6 +118,8 @@ exports.EnvAccessError = EnvAccessError;
|
|
|
88
118
|
exports.EnvKeyError = EnvKeyError;
|
|
89
119
|
exports.EnvStoreError = EnvStoreError;
|
|
90
120
|
exports.FORBIDDEN_VALUE_PATTERN = FORBIDDEN_VALUE_PATTERN;
|
|
121
|
+
exports.XY_ENV_CONFIGURE_SHIELD = XY_ENV_CONFIGURE_SHIELD;
|
|
122
|
+
exports.XY_ENV_INTERNAL_GET_FOR_ROOT = XY_ENV_INTERNAL_GET_FOR_ROOT;
|
|
91
123
|
exports.XY_ENV_STORE_KEY = XY_ENV_STORE_KEY;
|
|
92
124
|
exports.XY_XHSC_REGISTER_FS = XY_XHSC_REGISTER_FS;
|
|
93
125
|
//# sourceMappingURL=env.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sources":["../../../../../../src/xhsc/api/env/env.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACa,gBAAgB,GAAG,MAAM,CAAC,kBAAkB;MAC5C,mBAAmB,GAAG,MAAM,CAAC,yBAAyB;AAEnE;AACA;AACA;AACA;AACA;AACA;AAEA;AACO,MAAM,uBAAuB,GAAG;AAgDvC;AACA;AACA;AAEA;;;;;;;;;;;;AAYG;AACG,MAAO,cAAe,SAAQ,KAAK,CAAA;IAIrC,WAAA,CAAY,GAAW,EAAE,MAA2B,EAAA;QAChD,KAAK,CACD,MAAM,KAAK;cACL,CAAA,sBAAA,EAAyB,GAAG,CAAA,sCAAA,CAAwC;AAChE,gBAAA,CAAA,yBAAA,EAA4B,GAAG,CAAA,mCAAA;cACnC,CAAA,+BAAA,EAAkC,GAAG,CAAA,kBAAA,CAAoB;AACrD,gBAAA,CAAA,gEAAA,CAAkE,CAC/E;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,gBAAgB;AAC5B,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;QACd,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC;IACzD;AACH;AAED;;;;;;;;;;;;AAYG;AACG,MAAO,WAAY,SAAQ,KAAK,CAAA;IAGlC,WAAA,CAAY,GAAW,EAAE,MAAc,EAAA;AACnC,QAAA,KAAK,CAAC,CAAA,8BAAA,EAAiC,GAAG,MAAM,MAAM,CAAA,CAAE,CAAC;AACzD,QAAA,IAAI,CAAC,IAAI,GAAG,aAAa;AACzB,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;QACd,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC;IACtD;AACH;AAED;;;;;;AAMG;AACG,MAAO,aAAc,SAAQ,KAAK,CAAA;AACpC,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CACD,0DAA0D;AACtD,YAAA,4EAA4E,CACnF;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,eAAe;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC;IACxD;AACH
|
|
1
|
+
{"version":3,"file":"env.js","sources":["../../../../../../src/xhsc/api/env/env.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACa,gBAAgB,GAAG,MAAM,CAAC,kBAAkB;MAC5C,mBAAmB,GAAG,MAAM,CAAC,yBAAyB;AAEnE;;;;;;;;;;;;;AAaG;MACU,4BAA4B,GAAG,MAAM,CAAC,kCAAkC;AAErF;;;;;;;;;;;;;AAaG;MACU,uBAAuB,GAAG,MAAM,CAAC,6BAA6B;AAE3E;AACA;AACA;AACA;AACA;AACA;AAEA;AACO,MAAM,uBAAuB,GAAG;AAgDvC;AACA;AACA;AAEA;;;;;;;;;;;;AAYG;AACG,MAAO,cAAe,SAAQ,KAAK,CAAA;IAIrC,WAAA,CAAY,GAAW,EAAE,MAA2B,EAAA;QAChD,KAAK,CACD,MAAM,KAAK;cACL,CAAA,sBAAA,EAAyB,GAAG,CAAA,sCAAA,CAAwC;AAChE,gBAAA,CAAA,yBAAA,EAA4B,GAAG,CAAA,mCAAA;cACnC,CAAA,+BAAA,EAAkC,GAAG,CAAA,kBAAA,CAAoB;AACrD,gBAAA,CAAA,gEAAA,CAAkE,CAC/E;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,gBAAgB;AAC5B,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;QACd,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC;IACzD;AACH;AAED;;;;;;;;;;;;AAYG;AACG,MAAO,WAAY,SAAQ,KAAK,CAAA;IAGlC,WAAA,CAAY,GAAW,EAAE,MAAc,EAAA;AACnC,QAAA,KAAK,CAAC,CAAA,8BAAA,EAAiC,GAAG,MAAM,MAAM,CAAA,CAAE,CAAC;AACzD,QAAA,IAAI,CAAC,IAAI,GAAG,aAAa;AACzB,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;QACd,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC;IACtD;AACH;AAED;;;;;;AAMG;AACG,MAAO,aAAc,SAAQ,KAAK,CAAA;AACpC,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CACD,0DAA0D;AACtD,YAAA,4EAA4E,CACnF;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,eAAe;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC;IACxD;AACH;;;;;;;;;;;"}
|
package/dist/cjs/src/xhsc.js
CHANGED
|
@@ -243,7 +243,7 @@ if (typeof globalThis !== "undefined") {
|
|
|
243
243
|
});
|
|
244
244
|
// Apply declarative XESS early configuration if found
|
|
245
245
|
if (earlyXessConfig && sysInstance.__env__) {
|
|
246
|
-
sysInstance.__env__.
|
|
246
|
+
sysInstance.__env__[env.XY_ENV_CONFIGURE_SHIELD]?.(earlyXessConfig);
|
|
247
247
|
}
|
|
248
248
|
// ==========================================
|
|
249
249
|
// ENTERPRISE IMMUTABILITY SHIELD (V2)
|
package/dist/cjs/src/xhsc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xhsc.js","sources":["../../../src/xhsc.ts"],"sourcesContent":[null],"names":["XyPrissFS","XY_XHSC_REGISTER_FS","getCallerProjectRoot","isProjectRoot","logger","generateXUserTmpDir","loadXyConfig","DotEnvLoader","XY_ENV_STORE_KEY","JsonUtils","createSecurityShield"],"mappings":";;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"xhsc.js","sources":["../../../src/xhsc.ts"],"sourcesContent":[null],"names":["XyPrissFS","XY_XHSC_REGISTER_FS","getCallerProjectRoot","isProjectRoot","logger","generateXUserTmpDir","loadXyConfig","DotEnvLoader","XY_ENV_STORE_KEY","JsonUtils","XY_ENV_CONFIGURE_SHIELD","createSecurityShield"],"mappings":"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"}
|
|
@@ -5,7 +5,15 @@
|
|
|
5
5
|
* `xhsc.ts` -> `PathApi` -> `XyprissTempDir` -> `xhsc` (localSysApi)
|
|
6
6
|
*/
|
|
7
7
|
function getSysApi() {
|
|
8
|
-
|
|
8
|
+
if (typeof globalThis !== "undefined" && globalThis.__sys__) {
|
|
9
|
+
return globalThis.__sys__;
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
return require("../../xhsc")?.localSysApi;
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return globalThis?.__sys__;
|
|
16
|
+
}
|
|
9
17
|
}
|
|
10
18
|
|
|
11
19
|
export { getSysApi };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSysApi.js","sources":["../../../../../src/plugins/const/getSysApi.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;SACa,SAAS,GAAA;
|
|
1
|
+
{"version":3,"file":"getSysApi.js","sources":["../../../../../src/plugins/const/getSysApi.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;SACa,SAAS,GAAA;IACrB,IAAI,OAAO,UAAU,KAAK,WAAW,IAAK,UAAkB,CAAC,OAAO,EAAE;QAClE,OAAQ,UAAkB,CAAC,OAAO;IACtC;AACA,IAAA,IAAI;AACA,QAAA,OAAQ,OAAO,CAAC,YAAY,CAAiC,EAAE,WAAW;IAC9E;AAAE,IAAA,MAAM;QACJ,OAAQ,UAAkB,EAAE,OAAO;IACvC;AACJ;;;;"}
|
|
@@ -14,8 +14,11 @@ import { logger } from '../../shared/logger/Logger.js';
|
|
|
14
14
|
* in the `.env` file — useful for staging environments that mimic dev but
|
|
15
15
|
* must not relax CSP/HSTS/COEP.
|
|
16
16
|
*/
|
|
17
|
-
const
|
|
18
|
-
|
|
17
|
+
const sys = getSysApi();
|
|
18
|
+
const isDev = sys?.__env__
|
|
19
|
+
? sys.__env__.isDevelopment() &&
|
|
20
|
+
sys.__env__.get("XSEC_TRUST", "true") === "true"
|
|
21
|
+
: process.env.NODE_ENV !== "production";
|
|
19
22
|
/**
|
|
20
23
|
* "Trusted" third-party origins, allowed in the CSP directives ONLY when
|
|
21
24
|
* running in dev mode. Never exposed in production builds.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Defaulthelmetopts.js","sources":["../../../../../src/server/const/Defaulthelmetopts.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAMA;;;;;;;;;;;;AAYG;AACH,MAAM,KAAK,GACP,
|
|
1
|
+
{"version":3,"file":"Defaulthelmetopts.js","sources":["../../../../../src/server/const/Defaulthelmetopts.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -196,7 +196,13 @@ const DEFAULT_OPTIONS = {
|
|
|
196
196
|
".json",
|
|
197
197
|
],
|
|
198
198
|
useTempFiles: true,
|
|
199
|
-
|
|
199
|
+
/**
|
|
200
|
+
* Resolved lazily at runtime via XyPriss's native System API (`getSysApi().path.tmpUserDir`)
|
|
201
|
+
* once `__sys__` is initialized, deliberately avoiding reliance on Node.js core modules (`node:os`).
|
|
202
|
+
*/
|
|
203
|
+
get tempFileDir() {
|
|
204
|
+
return getSysApi().path.tmpUserDir + "/.uploads/";
|
|
205
|
+
},
|
|
200
206
|
createParentPath: true,
|
|
201
207
|
preservePath: false,
|
|
202
208
|
limits: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":["path"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":["path"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs__default from 'fs';
|
|
2
2
|
import path__default from 'path';
|
|
3
3
|
import { ConfigSyntaxParser } from './ConfigSyntaxParser.js';
|
|
4
|
+
import { XY_ENV_INTERNAL_GET_FOR_ROOT } from '../xhsc/api/env/env.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Checks if a directory is a "Real Project" root based on hierarchical criteria.
|
|
@@ -169,11 +170,13 @@ function loadXyConfig(projectRoot) {
|
|
|
169
170
|
}
|
|
170
171
|
// Resolve references &(pkg), &(env), etc.
|
|
171
172
|
const sys = globalThis.__sys__;
|
|
173
|
+
// Safely resolve &(env:...) variables scoped to the target project root
|
|
174
|
+
// using the internal symbol (safe from third-party / plugin tampering).
|
|
172
175
|
let envProvider = sys?.__env__;
|
|
173
|
-
if (sys?.__env__?.
|
|
176
|
+
if (sys?.__env__?.[XY_ENV_INTERNAL_GET_FOR_ROOT]) {
|
|
174
177
|
envProvider = {
|
|
175
|
-
has: (key) => sys.__env__
|
|
176
|
-
get: (key) => sys.__env__
|
|
178
|
+
has: (key) => sys.__env__[XY_ENV_INTERNAL_GET_FOR_ROOT](key, projectRoot) !== undefined,
|
|
179
|
+
get: (key) => sys.__env__[XY_ENV_INTERNAL_GET_FOR_ROOT](key, projectRoot)
|
|
177
180
|
};
|
|
178
181
|
}
|
|
179
182
|
const parser = new ConfigSyntaxParser(pkgJson, envProvider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectDiscovery.js","sources":["../../../../src/utils/ProjectDiscovery.ts"],"sourcesContent":[null],"names":["path","fs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProjectDiscovery.js","sources":["../../../../src/utils/ProjectDiscovery.ts"],"sourcesContent":[null],"names":["path","fs"],"mappings":"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"}
|
|
@@ -18,7 +18,21 @@ function createSecurityShield(target, label = "__sys__") {
|
|
|
18
18
|
return proxyCache.get(obj);
|
|
19
19
|
const handler = {
|
|
20
20
|
get(target, prop, receiver) {
|
|
21
|
-
|
|
21
|
+
// 🛡️ Zero-Trust Hardening: Prevent reflective access to private/internal state.
|
|
22
|
+
// Prevents malicious plugins from reading host coordinates (e.g., _primaryRoot, _internalRoot)
|
|
23
|
+
// or inspecting internal registries (_pluginMap). Dunder properties (__root__, __env__) remain
|
|
24
|
+
// intentionally accessible as public system contracts.
|
|
25
|
+
if (typeof prop === "string" &&
|
|
26
|
+
prop.startsWith("_") &&
|
|
27
|
+
!prop.startsWith("__")) {
|
|
28
|
+
const desc = Object.getOwnPropertyDescriptor(target, prop);
|
|
29
|
+
if (!desc || desc.configurable !== false || desc.writable !== false) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// Use target as receiver so internal getters can access their own private
|
|
34
|
+
// state (e.g. this._internalRoot) while external access to _ remains blocked.
|
|
35
|
+
const value = Reflect.get(target, prop, target);
|
|
22
36
|
// Prevent Proxy invariant violation
|
|
23
37
|
const desc = Object.getOwnPropertyDescriptor(target, prop);
|
|
24
38
|
if (desc && desc.configurable === false && desc.writable === false) {
|
|
@@ -35,6 +49,27 @@ function createSecurityShield(target, label = "__sys__") {
|
|
|
35
49
|
}
|
|
36
50
|
return value;
|
|
37
51
|
},
|
|
52
|
+
has(target, prop) {
|
|
53
|
+
if (typeof prop === "string" &&
|
|
54
|
+
prop.startsWith("_") &&
|
|
55
|
+
!prop.startsWith("__")) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
return Reflect.has(target, prop);
|
|
59
|
+
},
|
|
60
|
+
ownKeys(target) {
|
|
61
|
+
return Reflect.ownKeys(target).filter((key) => {
|
|
62
|
+
if (typeof key === "string" &&
|
|
63
|
+
key.startsWith("_") &&
|
|
64
|
+
!key.startsWith("__")) {
|
|
65
|
+
const desc = Object.getOwnPropertyDescriptor(target, key);
|
|
66
|
+
if (!desc || desc.configurable !== false) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return true;
|
|
71
|
+
});
|
|
72
|
+
},
|
|
38
73
|
set(target, prop) {
|
|
39
74
|
const propName = typeof prop === "symbol" ? prop.toString() : String(prop);
|
|
40
75
|
throw new Error(`[XyPriss Security] Illegal Mutation: Property '${propName}' on '${path}' is protected and cannot be modified.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityShield.js","sources":["../../../../src/utils/SecurityShield.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;AAQG;SACa,oBAAoB,CAChC,MAAS,EACT,QAAgB,SAAS,EAAA;AAEzB,IAAA,MAAM,UAAU,GAAG,IAAI,OAAO,EAAe;AAE7C,IAAA,SAAS,WAAW,CAAC,GAAQ,EAAE,IAAY,EAAA;QACvC,IACI,GAAG,KAAK,IAAI;aACX,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,UAAU,CAAC,EACxD;AACE,YAAA,OAAO,GAAG;QACd;AAEA,QAAA,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AAEnD,QAAA,MAAM,OAAO,GAAsB;AAC/B,YAAA,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAA;
|
|
1
|
+
{"version":3,"file":"SecurityShield.js","sources":["../../../../src/utils/SecurityShield.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EnvAccessError, EnvStoreError, EnvKeyError, FORBIDDEN_VALUE_PATTERN, XY_ENV_STORE_KEY } from './api/env/env.js';
|
|
1
|
+
import { XY_ENV_INTERNAL_GET_FOR_ROOT, EnvAccessError, XY_ENV_CONFIGURE_SHIELD, EnvStoreError, EnvKeyError, FORBIDDEN_VALUE_PATTERN, XY_ENV_STORE_KEY } from './api/env/env.js';
|
|
2
2
|
import { getCallerProjectRoot } from '../utils/ProjectDiscovery.js';
|
|
3
3
|
import path__default from 'path';
|
|
4
4
|
import fs__default from 'fs';
|
|
@@ -115,7 +115,7 @@ class EnvApi {
|
|
|
115
115
|
}
|
|
116
116
|
get(key, defaultValue) {
|
|
117
117
|
if (key === "__root__") {
|
|
118
|
-
return this.runner.getRoot();
|
|
118
|
+
return (this.isDynamic ? getCallerProjectRoot() : null) || this.runner.getRoot();
|
|
119
119
|
}
|
|
120
120
|
const store = this.getStoreForCaller();
|
|
121
121
|
const value = store[key];
|
|
@@ -123,8 +123,18 @@ class EnvApi {
|
|
|
123
123
|
}
|
|
124
124
|
/**
|
|
125
125
|
* Reads a variable from the secure internal store for a specific root.
|
|
126
|
+
*
|
|
127
|
+
* **Security Note:**
|
|
128
|
+
* Formerly exposed as `getForRoot(key, root)`. It was removed from the public API
|
|
129
|
+
* because it functioned as a zero-trust bypass: plugins could manually pass the host project
|
|
130
|
+
* root and read host secrets. It is now private to the engine and keyed by an internal Symbol.
|
|
131
|
+
*
|
|
132
|
+
* @internal
|
|
133
|
+
* @param key - Variable name to look up.
|
|
134
|
+
* @param root - Absolute project root path.
|
|
135
|
+
* @returns The resolved variable value or undefined.
|
|
126
136
|
*/
|
|
127
|
-
|
|
137
|
+
[XY_ENV_INTERNAL_GET_FOR_ROOT](key, root) {
|
|
128
138
|
if (key === "__root__") {
|
|
129
139
|
return root;
|
|
130
140
|
}
|
|
@@ -160,7 +170,11 @@ class EnvApi {
|
|
|
160
170
|
*/
|
|
161
171
|
getStrict(key, options) {
|
|
162
172
|
if (key === "__root__") {
|
|
163
|
-
|
|
173
|
+
const rootVal = (this.isDynamic ? getCallerProjectRoot() : null) || this.runner.getRoot();
|
|
174
|
+
if (!rootVal) {
|
|
175
|
+
throw new EnvAccessError(key, "missing");
|
|
176
|
+
}
|
|
177
|
+
return rootVal;
|
|
164
178
|
}
|
|
165
179
|
const store = this.getStoreForCaller();
|
|
166
180
|
const value = store[key];
|
|
@@ -289,9 +303,16 @@ class EnvApi {
|
|
|
289
303
|
/**
|
|
290
304
|
* Configures the XESS (XyPriss Environment Security Shield) dynamically.
|
|
291
305
|
*
|
|
306
|
+
* **Security Note:**
|
|
307
|
+
* Formerly exposed as `public configureShield(...)`. It was removed from the public API
|
|
308
|
+
* because any untrusted caller could modify the whitelist of allowed `process.env` properties,
|
|
309
|
+
* effectively destroying the Environment Security Shield. It is now private to the engine
|
|
310
|
+
* and only accessible via this internal Symbol during early bootstrap.
|
|
311
|
+
*
|
|
312
|
+
* @internal
|
|
292
313
|
* @param config - XESS configuration options.
|
|
293
314
|
*/
|
|
294
|
-
|
|
315
|
+
[XY_ENV_CONFIGURE_SHIELD](config) {
|
|
295
316
|
if (!config)
|
|
296
317
|
return;
|
|
297
318
|
if (config.whitelist !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvApi.js","sources":["../../../../src/xhsc/EnvApi.ts"],"sourcesContent":[null],"names":["path","fs"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"EnvApi.js","sources":["../../../../src/xhsc/EnvApi.ts"],"sourcesContent":[null],"names":["path","fs"],"mappings":"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"}
|
|
@@ -9,6 +9,36 @@
|
|
|
9
9
|
// ---------------------------------------------------------------------------
|
|
10
10
|
const XY_ENV_STORE_KEY = Symbol("__xy_env_store__");
|
|
11
11
|
const XY_XHSC_REGISTER_FS = Symbol("__xy_xhsc_register_fs__");
|
|
12
|
+
/**
|
|
13
|
+
* **Internal Root-Scoped Env Access Key**
|
|
14
|
+
*
|
|
15
|
+
* Used exclusively by internal engine modules (such as `ProjectDiscovery.loadXyConfig`)
|
|
16
|
+
* to resolve configuration references `&(env:...)` within a target project context.
|
|
17
|
+
*
|
|
18
|
+
* **Security Decision:**
|
|
19
|
+
* Previously, this capability was exposed as a public method `__sys__.__env__.getForRoot(key, root)`.
|
|
20
|
+
* That allowed third-party plugins in `node_modules` to pass the host project's root (`process.cwd()`
|
|
21
|
+
* or `__sys__._primaryRoot`), completely bypassing caller-isolated Zero-Trust sandboxing.
|
|
22
|
+
* Moving this method behind an unexported module `Symbol` prevents external code from invoking it.
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
const XY_ENV_INTERNAL_GET_FOR_ROOT = Symbol("__xy_env_internal_get_for_root__");
|
|
27
|
+
/**
|
|
28
|
+
* **Internal Security Shield Configuration Key**
|
|
29
|
+
*
|
|
30
|
+
* Used exclusively during framework startup (`xhsc.ts`) to apply declarative
|
|
31
|
+
* XESS shield rules configured in `xypriss.config.json(c)`.
|
|
32
|
+
*
|
|
33
|
+
* **Security Decision:**
|
|
34
|
+
* Exposing `configureShield` as a public method on `__sys__.__env__` created a critical vulnerability,
|
|
35
|
+
* allowing untrusted plugins to dynamically modify the whitelist and leak forbidden secrets through
|
|
36
|
+
* `process.env`. Restricting it to this unexported Symbol guarantees that only the engine bootstrap
|
|
37
|
+
* can configure the whitelist.
|
|
38
|
+
*
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
const XY_ENV_CONFIGURE_SHIELD = Symbol("__xy_env_configure_shield__");
|
|
12
42
|
// ---------------------------------------------------------------------------
|
|
13
43
|
// Internal value sanitisation
|
|
14
44
|
//
|
|
@@ -82,5 +112,5 @@ class EnvStoreError extends Error {
|
|
|
82
112
|
}
|
|
83
113
|
}
|
|
84
114
|
|
|
85
|
-
export { EnvAccessError, EnvKeyError, EnvStoreError, FORBIDDEN_VALUE_PATTERN, XY_ENV_STORE_KEY, XY_XHSC_REGISTER_FS };
|
|
115
|
+
export { EnvAccessError, EnvKeyError, EnvStoreError, FORBIDDEN_VALUE_PATTERN, XY_ENV_CONFIGURE_SHIELD, XY_ENV_INTERNAL_GET_FOR_ROOT, XY_ENV_STORE_KEY, XY_XHSC_REGISTER_FS };
|
|
86
116
|
//# sourceMappingURL=env.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sources":["../../../../../../src/xhsc/api/env/env.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACa,gBAAgB,GAAG,MAAM,CAAC,kBAAkB;MAC5C,mBAAmB,GAAG,MAAM,CAAC,yBAAyB;AAEnE;AACA;AACA;AACA;AACA;AACA;AAEA;AACO,MAAM,uBAAuB,GAAG;AAgDvC;AACA;AACA;AAEA;;;;;;;;;;;;AAYG;AACG,MAAO,cAAe,SAAQ,KAAK,CAAA;IAIrC,WAAA,CAAY,GAAW,EAAE,MAA2B,EAAA;QAChD,KAAK,CACD,MAAM,KAAK;cACL,CAAA,sBAAA,EAAyB,GAAG,CAAA,sCAAA,CAAwC;AAChE,gBAAA,CAAA,yBAAA,EAA4B,GAAG,CAAA,mCAAA;cACnC,CAAA,+BAAA,EAAkC,GAAG,CAAA,kBAAA,CAAoB;AACrD,gBAAA,CAAA,gEAAA,CAAkE,CAC/E;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,gBAAgB;AAC5B,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;QACd,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC;IACzD;AACH;AAED;;;;;;;;;;;;AAYG;AACG,MAAO,WAAY,SAAQ,KAAK,CAAA;IAGlC,WAAA,CAAY,GAAW,EAAE,MAAc,EAAA;AACnC,QAAA,KAAK,CAAC,CAAA,8BAAA,EAAiC,GAAG,MAAM,MAAM,CAAA,CAAE,CAAC;AACzD,QAAA,IAAI,CAAC,IAAI,GAAG,aAAa;AACzB,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;QACd,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC;IACtD;AACH;AAED;;;;;;AAMG;AACG,MAAO,aAAc,SAAQ,KAAK,CAAA;AACpC,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CACD,0DAA0D;AACtD,YAAA,4EAA4E,CACnF;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,eAAe;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC;IACxD;AACH;;;;"}
|
|
1
|
+
{"version":3,"file":"env.js","sources":["../../../../../../src/xhsc/api/env/env.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACa,gBAAgB,GAAG,MAAM,CAAC,kBAAkB;MAC5C,mBAAmB,GAAG,MAAM,CAAC,yBAAyB;AAEnE;;;;;;;;;;;;;AAaG;MACU,4BAA4B,GAAG,MAAM,CAAC,kCAAkC;AAErF;;;;;;;;;;;;;AAaG;MACU,uBAAuB,GAAG,MAAM,CAAC,6BAA6B;AAE3E;AACA;AACA;AACA;AACA;AACA;AAEA;AACO,MAAM,uBAAuB,GAAG;AAgDvC;AACA;AACA;AAEA;;;;;;;;;;;;AAYG;AACG,MAAO,cAAe,SAAQ,KAAK,CAAA;IAIrC,WAAA,CAAY,GAAW,EAAE,MAA2B,EAAA;QAChD,KAAK,CACD,MAAM,KAAK;cACL,CAAA,sBAAA,EAAyB,GAAG,CAAA,sCAAA,CAAwC;AAChE,gBAAA,CAAA,yBAAA,EAA4B,GAAG,CAAA,mCAAA;cACnC,CAAA,+BAAA,EAAkC,GAAG,CAAA,kBAAA,CAAoB;AACrD,gBAAA,CAAA,gEAAA,CAAkE,CAC/E;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,gBAAgB;AAC5B,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;QACd,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC;IACzD;AACH;AAED;;;;;;;;;;;;AAYG;AACG,MAAO,WAAY,SAAQ,KAAK,CAAA;IAGlC,WAAA,CAAY,GAAW,EAAE,MAAc,EAAA;AACnC,QAAA,KAAK,CAAC,CAAA,8BAAA,EAAiC,GAAG,MAAM,MAAM,CAAA,CAAE,CAAC;AACzD,QAAA,IAAI,CAAC,IAAI,GAAG,aAAa;AACzB,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;QACd,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC;IACtD;AACH;AAED;;;;;;AAMG;AACG,MAAO,aAAc,SAAQ,KAAK,CAAA;AACpC,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CACD,0DAA0D;AACtD,YAAA,4EAA4E,CACnF;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,eAAe;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC;IACxD;AACH;;;;"}
|
package/dist/esm/src/xhsc.js
CHANGED
|
@@ -3,7 +3,7 @@ import path__default from 'path';
|
|
|
3
3
|
import { XyPrissFS } from './xhsc/System.js';
|
|
4
4
|
import { DotEnvLoader } from './utils/DotEnvLoader.js';
|
|
5
5
|
import { JsonUtils } from './utils/JsonUtils.js';
|
|
6
|
-
import { XY_ENV_STORE_KEY, XY_XHSC_REGISTER_FS } from './xhsc/api/env/env.js';
|
|
6
|
+
import { XY_ENV_STORE_KEY, XY_ENV_CONFIGURE_SHIELD, XY_XHSC_REGISTER_FS } from './xhsc/api/env/env.js';
|
|
7
7
|
import { isProjectRoot, getCallerProjectRoot, loadXyConfig } from './utils/ProjectDiscovery.js';
|
|
8
8
|
import { logger } from './shared/logger/Logger.js';
|
|
9
9
|
import { generateXUserTmpDir } from './plugins/const/XyprissTempDir.js';
|
|
@@ -241,7 +241,7 @@ if (typeof globalThis !== "undefined") {
|
|
|
241
241
|
});
|
|
242
242
|
// Apply declarative XESS early configuration if found
|
|
243
243
|
if (earlyXessConfig && sysInstance.__env__) {
|
|
244
|
-
sysInstance.__env__
|
|
244
|
+
sysInstance.__env__[XY_ENV_CONFIGURE_SHIELD]?.(earlyXessConfig);
|
|
245
245
|
}
|
|
246
246
|
// ==========================================
|
|
247
247
|
// ENTERPRISE IMMUTABILITY SHIELD (V2)
|
package/dist/esm/src/xhsc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xhsc.js","sources":["../../../src/xhsc.ts"],"sourcesContent":[null],"names":["fs","path"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"xhsc.js","sources":["../../../src/xhsc.ts"],"sourcesContent":[null],"names":["fs","path"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4980,6 +4980,36 @@ declare class VarsApi extends BaseApi {
|
|
|
4980
4980
|
}
|
|
4981
4981
|
|
|
4982
4982
|
declare const XY_XHSC_REGISTER_FS: unique symbol;
|
|
4983
|
+
/**
|
|
4984
|
+
* **Internal Root-Scoped Env Access Key**
|
|
4985
|
+
*
|
|
4986
|
+
* Used exclusively by internal engine modules (such as `ProjectDiscovery.loadXyConfig`)
|
|
4987
|
+
* to resolve configuration references `&(env:...)` within a target project context.
|
|
4988
|
+
*
|
|
4989
|
+
* **Security Decision:**
|
|
4990
|
+
* Previously, this capability was exposed as a public method `__sys__.__env__.getForRoot(key, root)`.
|
|
4991
|
+
* That allowed third-party plugins in `node_modules` to pass the host project's root (`process.cwd()`
|
|
4992
|
+
* or `__sys__._primaryRoot`), completely bypassing caller-isolated Zero-Trust sandboxing.
|
|
4993
|
+
* Moving this method behind an unexported module `Symbol` prevents external code from invoking it.
|
|
4994
|
+
*
|
|
4995
|
+
* @internal
|
|
4996
|
+
*/
|
|
4997
|
+
declare const XY_ENV_INTERNAL_GET_FOR_ROOT: unique symbol;
|
|
4998
|
+
/**
|
|
4999
|
+
* **Internal Security Shield Configuration Key**
|
|
5000
|
+
*
|
|
5001
|
+
* Used exclusively during framework startup (`xhsc.ts`) to apply declarative
|
|
5002
|
+
* XESS shield rules configured in `xypriss.config.json(c)`.
|
|
5003
|
+
*
|
|
5004
|
+
* **Security Decision:**
|
|
5005
|
+
* Exposing `configureShield` as a public method on `__sys__.__env__` created a critical vulnerability,
|
|
5006
|
+
* allowing untrusted plugins to dynamically modify the whitelist and leak forbidden secrets through
|
|
5007
|
+
* `process.env`. Restricting it to this unexported Symbol guarantees that only the engine bootstrap
|
|
5008
|
+
* can configure the whitelist.
|
|
5009
|
+
*
|
|
5010
|
+
* @internal
|
|
5011
|
+
*/
|
|
5012
|
+
declare const XY_ENV_CONFIGURE_SHIELD: unique symbol;
|
|
4983
5013
|
/**
|
|
4984
5014
|
* Represents the result of a bulk environment variable retrieval.
|
|
4985
5015
|
*
|
|
@@ -5070,15 +5100,6 @@ interface IEnvApi {
|
|
|
5070
5100
|
get(key: string): string | undefined;
|
|
5071
5101
|
get(key: string, defaultValue: string): string;
|
|
5072
5102
|
get(key: string, defaultValue?: string): string | undefined;
|
|
5073
|
-
/**
|
|
5074
|
-
* Reads an environment variable for a specific project root, bypassing caller discovery.
|
|
5075
|
-
* Useful when parsing configuration files on behalf of another project context.
|
|
5076
|
-
*
|
|
5077
|
-
* @param key - The variable name to look up.
|
|
5078
|
-
* @param root - The explicit project root to read the environment from.
|
|
5079
|
-
* @returns The stored value, or `undefined`.
|
|
5080
|
-
*/
|
|
5081
|
-
getForRoot(key: string, root: string): string | undefined;
|
|
5082
5103
|
/**
|
|
5083
5104
|
* Reads a required environment variable. Throws when absent.
|
|
5084
5105
|
*
|
|
@@ -5231,8 +5252,18 @@ declare class EnvApi implements IEnvApi {
|
|
|
5231
5252
|
get(key: string, defaultValue: string): string;
|
|
5232
5253
|
/**
|
|
5233
5254
|
* Reads a variable from the secure internal store for a specific root.
|
|
5255
|
+
*
|
|
5256
|
+
* **Security Note:**
|
|
5257
|
+
* Formerly exposed as `getForRoot(key, root)`. It was removed from the public API
|
|
5258
|
+
* because it functioned as a zero-trust bypass: plugins could manually pass the host project
|
|
5259
|
+
* root and read host secrets. It is now private to the engine and keyed by an internal Symbol.
|
|
5260
|
+
*
|
|
5261
|
+
* @internal
|
|
5262
|
+
* @param key - Variable name to look up.
|
|
5263
|
+
* @param root - Absolute project root path.
|
|
5264
|
+
* @returns The resolved variable value or undefined.
|
|
5234
5265
|
*/
|
|
5235
|
-
|
|
5266
|
+
[XY_ENV_INTERNAL_GET_FOR_ROOT](key: string, root: string): string | undefined;
|
|
5236
5267
|
/**
|
|
5237
5268
|
* Reads a required variable from the secure internal store and throws if
|
|
5238
5269
|
* it cannot be resolved.
|
|
@@ -5352,9 +5383,16 @@ declare class EnvApi implements IEnvApi {
|
|
|
5352
5383
|
/**
|
|
5353
5384
|
* Configures the XESS (XyPriss Environment Security Shield) dynamically.
|
|
5354
5385
|
*
|
|
5386
|
+
* **Security Note:**
|
|
5387
|
+
* Formerly exposed as `public configureShield(...)`. It was removed from the public API
|
|
5388
|
+
* because any untrusted caller could modify the whitelist of allowed `process.env` properties,
|
|
5389
|
+
* effectively destroying the Environment Security Shield. It is now private to the engine
|
|
5390
|
+
* and only accessible via this internal Symbol during early bootstrap.
|
|
5391
|
+
*
|
|
5392
|
+
* @internal
|
|
5355
5393
|
* @param config - XESS configuration options.
|
|
5356
5394
|
*/
|
|
5357
|
-
|
|
5395
|
+
[XY_ENV_CONFIGURE_SHIELD](config?: {
|
|
5358
5396
|
whitelist?: string[];
|
|
5359
5397
|
replaceDefaultWhitelist?: boolean;
|
|
5360
5398
|
}): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xypriss",
|
|
3
|
-
"version": "9.12.
|
|
3
|
+
"version": "9.12.68",
|
|
4
4
|
"description": "XyPriss is a high-performance, TypeScript-first hyper-system web framework powered by a native Go core (XHSC), featuring robust multi-tenant sandboxing, secure native file streaming, and zero Express dependencies.",
|
|
5
5
|
"author": {
|
|
6
6
|
"DEV.to": "https://dev.to/nehonix",
|