@zhin.js/core 1.0.20 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @zhin.js/core
2
2
 
3
+ ## 1.0.22
4
+
5
+ ### Patch Changes
6
+
7
+ - @zhin.js/database@1.0.9
8
+ - @zhin.js/logger@0.1.6
9
+ - @zhin.js/schema@1.0.6
10
+
11
+ ## 1.0.21
12
+
13
+ ### Patch Changes
14
+
15
+ - 3960e70: fix: runtime err
16
+ - @zhin.js/database@1.0.8
17
+ - @zhin.js/logger@0.1.5
18
+ - @zhin.js/schema@1.0.5
19
+
3
20
  ## 1.0.20
4
21
 
5
22
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/built/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,qBAAa,YAAY,CAAC,CAAC,SAAS,MAAM;;IAWnB,QAAQ,EAAE,MAAM;IAAS,OAAO,EAAC,CAAC;IAAS,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAThF,IAAI,IAAI,IAAI,CAAC,CAEZ;IACD,IAAI,GAAG,IAAI,CAAC,CAEX;IACD,IAAI,SAAS,WAEZ;gBACkB,QAAQ,EAAE,MAAM,EAAS,OAAO,EAAC,CAAC,EAAS,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,YAAA;IA+BhF,IAAI;IAsBJ,IAAI,CAAC,QAAQ,EAAE,MAAM;CAWxB;AACD,yBAAiB,YAAY,CAAA;IAClB,MAAM,mBAAmB,UAA6B,CAAC;IAC9D,SAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,mBAItF;CACJ;AACD,qBAAa,aAAa;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAa;;IAGpD,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAShF,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IAMnF,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IAMtF;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;CAOzD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/built/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,qBAAa,YAAY,CAAC,CAAC,SAAS,MAAM;;IAWnB,QAAQ,EAAE,MAAM;IAAS,OAAO,EAAC,CAAC;IAAS,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAThF,IAAI,IAAI,IAAI,CAAC,CAEZ;IACD,IAAI,GAAG,IAAI,CAAC,CAEX;IACD,IAAI,SAAS,WAEZ;gBACkB,QAAQ,EAAE,MAAM,EAAS,OAAO,EAAC,CAAC,EAAS,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,YAAA;IA+ChF,IAAI;IAsBJ,IAAI,CAAC,QAAQ,EAAE,MAAM;CAWxB;AACD,yBAAiB,YAAY,CAAA;IAClB,MAAM,mBAAmB,UAA6B,CAAC;IAC9D,SAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,mBAItF;CACJ;AACD,qBAAa,aAAa;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAa;;IAGpD,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAShF,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IAMnF,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IAMtF;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;CAOzD"}
@@ -24,9 +24,20 @@ export class ConfigLoader {
24
24
  #proxy(data, loader) {
25
25
  return new Proxy(data, {
26
26
  get(target, prop, receiver) {
27
+ // 对于特殊属性(如 Symbol、prototype 等),直接返回原始值
28
+ if (typeof prop === 'symbol' || prop === 'constructor' || prop === 'prototype') {
29
+ return Reflect.get(target, prop, receiver);
30
+ }
27
31
  const result = Reflect.get(target, prop, receiver);
28
- if (result instanceof Object && result !== null)
32
+ // 对于函数属性(如数组的 map、filter 等),直接返回,不进行代理
33
+ if (typeof result === 'function') {
34
+ return result;
35
+ }
36
+ // 对于对象和数组,递归代理(但排除函数)
37
+ if (result instanceof Object && result !== null && typeof result !== 'function') {
29
38
  return loader.#proxy(result, loader);
39
+ }
40
+ // 处理环境变量占位符
30
41
  if (typeof result === 'string') {
31
42
  if (result.startsWith('\\${') && result.endsWith('}'))
32
43
  return result.slice(1);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/built/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/built/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,IAAI,EAEJ,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,OAI9D;AACD,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,KAAK,MAAM,EAAE,SAAS,CAAC,kBAK3D,CAAC;AACF;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,iBAAiB,GAAC,iBAAiB,EACnE,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,cAShB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAQ,MAAM,OAAO,CAAC,IAAI,CAAC,wCAM7D,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAC7B,MAAM,OAAO,CAAC,IAAI,CAAC,oBAsB5B;AAMD,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,KAAK,MAAM,EAAE,SAAS,CAAC,KAAG,CAqC7D,CAAC;AAWF,wBAAgB,cAAc,IAAI,IAAI,CAKrC;AAGD,wBAAgB,iBAAiB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAKrE;AACD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,UAUnD;AACD,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;;EAK9D;AACD,yBAAiB,OAAO,CAAC;IACvB,SAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAQpC;IACD,SAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAQtC;IACD,SAAgB,IAAI,CAAC,IAAI,EAAE,MAAM;;;;;MAEhC;IACD,SAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;;;;;;MAE7C;IACD,SAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAgEtD;IACD,SAAgB,GAAG,CAAC,OAAO,EAAE,WAAW,UAUvC;IACD,SAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,UAa5C;CACF;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC;AACrE,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;AASpD,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAOjC;AAED,yBAAiB,IAAI,CAAC;IACb,MAAM,WAAW,IAAI,CAAC;IACtB,MAAM,MAAM,OAAO,CAAC;IACpB,MAAM,MAAM,QAAc,CAAC;IAC3B,MAAM,IAAI,QAAc,CAAC;IACzB,MAAM,GAAG,QAAY,CAAC;IACtB,MAAM,IAAI,QAAU,CAAC;IAI5B,SAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,QAE/C;IAED,SAAgB,iBAAiB,WAEhC;IAED,SAAgB,aAAa,CAC3B,IAAI,GAAE,MAAM,GAAG,IAAiB,EAChC,MAAM,CAAC,EAAE,MAAM,UAKhB;IAED,SAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,QAI5D;IAeD,SAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,UAUvC;IAED,SAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,QAUrC;IAED,SAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,UAYzC;IAED,SAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,UAwBpC;IAQD,SAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,OAAa,UAU3D;IAMD,SAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,UAY/D;CACF;AACD,eAAO,MAAM,yBAAyB,UAQrC,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,sBAiBzC;AACD,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/lib/utils.js CHANGED
@@ -181,11 +181,21 @@ export function segment(type, data) {
181
181
  const toString = (template) => {
182
182
  if (typeof template !== "string")
183
183
  return [template];
184
+ // 安全检查:限制输入长度,防止 ReDoS 攻击
185
+ const MAX_TEMPLATE_LENGTH = 100000; // 100KB
186
+ if (template.length > MAX_TEMPLATE_LENGTH) {
187
+ throw new Error(`Template too large: ${template.length} > ${MAX_TEMPLATE_LENGTH}`);
188
+ }
184
189
  template = unescape(template);
185
190
  const result = [];
186
- const closingReg = /<(\S+)(\s[^>]+)?\/>/;
187
- const twinningReg = /<(\S+)(\s[^>]+)?>([\s\S]*?)<\/\1>/;
188
- while (template.length) {
191
+ // 修复 ReDoS 漏洞:使用更安全的正则表达式
192
+ // 原: /<(\S+)(\s[^>]+)?\/>/ 可能导致回溯
193
+ const closingReg = /<(\w+)(?:\s+[^>]*?)?\/>/;
194
+ // 原: /<(\S+)(\s[^>]+)?>([\s\S]*?)<\/\1>/ 可能导致回溯
195
+ const twinningReg = /<(\w+)(?:\s+[^>]*?)?>([^]*?)<\/\1>/;
196
+ let iterations = 0;
197
+ const MAX_ITERATIONS = 1000; // 防止无限循环
198
+ while (template.length && iterations++ < MAX_ITERATIONS) {
189
199
  const [_, type, attrStr = "", child = ""] = template.match(twinningReg) || template.match(closingReg) || [];
190
200
  if (!type)
191
201
  break;
@@ -203,8 +213,10 @@ export function segment(type, data) {
203
213
  },
204
214
  });
205
215
  template = template.slice(index + matched.length);
216
+ // 修复 ReDoS 漏洞:使用更简单的正则表达式
217
+ // 原: /\s([^=]+)(?=(?=="([^"]+)")|(?=='([^']+)'))/g 嵌套前瞻断言
206
218
  const attrArr = [
207
- ...attrStr.matchAll(/\s([^=]+)(?=(?=="([^"]+)")|(?=='([^']+)'))/g),
219
+ ...attrStr.matchAll(/\s+([^=\s]+)=(?:"([^"]*)"|'([^']*)')/g),
208
220
  ];
209
221
  const data = Object.fromEntries(attrArr.map(([source, key, v1, v2]) => {
210
222
  const value = v1 || v2;
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/core",
3
- "version": "1.0.20",
3
+ "version": "1.0.22",
4
4
  "description": "Zhin机器人核心框架",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -32,10 +32,9 @@
32
32
  "segment-matcher": "latest",
33
33
  "toml": "^3.0.0",
34
34
  "yaml": "^2.3.4",
35
- "@zhin.js/database": "1.0.7",
36
- "@zhin.js/dependency": "1.0.5",
37
- "@zhin.js/logger": "0.1.4",
38
- "@zhin.js/schema": "1.0.4"
35
+ "@zhin.js/database": "1.0.9",
36
+ "@zhin.js/logger": "0.1.6",
37
+ "@zhin.js/schema": "1.0.6"
39
38
  },
40
39
  "devDependencies": {
41
40
  "@types/node": "^24.3.0",
@@ -19,8 +19,24 @@ export class ConfigLoader<T extends object>{
19
19
  #proxy<R extends object>(data: R, loader: ConfigLoader<T>) {
20
20
  return new Proxy(data, {
21
21
  get(target, prop, receiver) {
22
+ // 对于特殊属性(如 Symbol、prototype 等),直接返回原始值
23
+ if (typeof prop === 'symbol' || prop === 'constructor' || prop === 'prototype') {
24
+ return Reflect.get(target, prop, receiver);
25
+ }
26
+
22
27
  const result= Reflect.get(target, prop, receiver);
23
- if(result instanceof Object && result!==null) return loader.#proxy(result,loader);
28
+
29
+ // 对于函数属性(如数组的 map、filter 等),直接返回,不进行代理
30
+ if (typeof result === 'function') {
31
+ return result;
32
+ }
33
+
34
+ // 对于对象和数组,递归代理(但排除函数)
35
+ if(result instanceof Object && result!==null && typeof result !== 'function') {
36
+ return loader.#proxy(result,loader);
37
+ }
38
+
39
+ // 处理环境变量占位符
24
40
  if(typeof result==='string') {
25
41
  if(result.startsWith('\\${') && result.endsWith('}')) return result.slice(1);
26
42
  if(/^\$\{(.*)\}$/.test(result)){
package/src/utils.ts CHANGED
@@ -187,11 +187,25 @@ export namespace segment {
187
187
  if (!Array.isArray(content)) content = [content];
188
188
  const toString = (template: string | MessageElement) => {
189
189
  if (typeof template !== "string") return [template];
190
+
191
+ // 安全检查:限制输入长度,防止 ReDoS 攻击
192
+ const MAX_TEMPLATE_LENGTH = 100000; // 100KB
193
+ if (template.length > MAX_TEMPLATE_LENGTH) {
194
+ throw new Error(`Template too large: ${template.length} > ${MAX_TEMPLATE_LENGTH}`);
195
+ }
196
+
190
197
  template = unescape(template);
191
198
  const result: MessageElement[] = [];
192
- const closingReg = /<(\S+)(\s[^>]+)?\/>/;
193
- const twinningReg = /<(\S+)(\s[^>]+)?>([\s\S]*?)<\/\1>/;
194
- while (template.length) {
199
+ // 修复 ReDoS 漏洞:使用更安全的正则表达式
200
+ // 原: /<(\S+)(\s[^>]+)?\/>/ 可能导致回溯
201
+ const closingReg = /<(\w+)(?:\s+[^>]*?)?\/>/;
202
+ // 原: /<(\S+)(\s[^>]+)?>([\s\S]*?)<\/\1>/ 可能导致回溯
203
+ const twinningReg = /<(\w+)(?:\s+[^>]*?)?>([^]*?)<\/\1>/;
204
+
205
+ let iterations = 0;
206
+ const MAX_ITERATIONS = 1000; // 防止无限循环
207
+
208
+ while (template.length && iterations++ < MAX_ITERATIONS) {
195
209
  const [_, type, attrStr = "", child = ""] =
196
210
  template.match(twinningReg) || template.match(closingReg) || [];
197
211
  if (!type) break;
@@ -209,8 +223,10 @@ export namespace segment {
209
223
  },
210
224
  });
211
225
  template = template.slice(index + matched.length);
226
+ // 修复 ReDoS 漏洞:使用更简单的正则表达式
227
+ // 原: /\s([^=]+)(?=(?=="([^"]+)")|(?=='([^']+)'))/g 嵌套前瞻断言
212
228
  const attrArr = [
213
- ...attrStr.matchAll(/\s([^=]+)(?=(?=="([^"]+)")|(?=='([^']+)'))/g),
229
+ ...attrStr.matchAll(/\s+([^=\s]+)=(?:"([^"]*)"|'([^']*)')/g),
214
230
  ];
215
231
  const data = Object.fromEntries(
216
232
  attrArr.map(([source, key, v1, v2]) => {