dsh-agy-link 0.4.84 → 0.4.86
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 +32 -0
- package/dist/index.js +9 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.86 (2026-10-29)
|
|
4
|
+
|
|
5
|
+
### English
|
|
6
|
+
|
|
7
|
+
- **Security(doctor): write the diagnostic report owner-only (dir 0700, file 0600).**
|
|
8
|
+
- `/agy doctor` wrote its (redacted) report with the default umask (typically 0644), so another local user could read config paths and any residual log text. The diagnostics dir is now `0700` and the report `0600`.
|
|
9
|
+
- **Docs(spec): add the spec index and the security-hardening invariants.**
|
|
10
|
+
- `.spec/README.md` indexes the project's truth sources; `.spec/security-hardening.md` records the MCP bridge / HTTP / doctor / media / parser security invariants and the exact test that guards each one, so future changes cannot silently relax them.
|
|
11
|
+
|
|
12
|
+
### 中文
|
|
13
|
+
|
|
14
|
+
- **安全(doctor):诊断报告改为仅本人可读(目录 0700、文件 0600)。**
|
|
15
|
+
- `/agy doctor` 之前按默认 umask 写(通常 0644),同机其他用户可读到配置路径与残留日志。现目录 `0700`、报告 `0600`。
|
|
16
|
+
- **文档(spec):新增 spec 索引与安全不变式文档。**
|
|
17
|
+
- `.spec/README.md` 作为真相源索引;`.spec/security-hardening.md` 记录 MCP 桥接 / HTTP / doctor / media / parser 的安全不变式与对应测试,防止后续改动静默放宽。
|
|
18
|
+
|
|
19
|
+
**Full Changelog**: https://github.com/amlyczz/dsh-agy-link/compare/v0.4.85...v0.4.86
|
|
20
|
+
|
|
21
|
+
## 0.4.85 (2026-10-29)
|
|
22
|
+
|
|
23
|
+
### English
|
|
24
|
+
|
|
25
|
+
- **Security(doctor): redact `Authorization: Basic`, `Cookie` and `X-Api-Key` headers.**
|
|
26
|
+
- `redactLine()` only masked `Bearer …` tokens, so a doctor log line carrying `Authorization: Basic <base64>`, `Cookie:` / `Set-Cookie:`, or `X-Api-Key:` values landed in the report verbatim. All auth-carrying headers are now masked (`<name>: <redacted>`) while ordinary text is preserved. Adds a regression test.
|
|
27
|
+
|
|
28
|
+
### 中文
|
|
29
|
+
|
|
30
|
+
- **安全(doctor):脱敏 `Authorization: Basic`、`Cookie`、`X-Api-Key` 等头。**
|
|
31
|
+
- `redactLine()` 此前只处理 `Bearer …`,因此 doctor 日志中 `Authorization: Basic <base64>`、`Cookie:`/`Set-Cookie:`、`X-Api-Key:` 的值会原样落入报告。现将这些携带凭据的头统一脱敏为 `<name>: <redacted>`,普通文本不变。补充回归测试。
|
|
32
|
+
|
|
33
|
+
**Full Changelog**: https://github.com/amlyczz/dsh-agy-link/compare/v0.4.84...v0.4.85
|
|
34
|
+
|
|
3
35
|
## 0.4.84 (2026-10-29)
|
|
4
36
|
|
|
5
37
|
### English
|
package/dist/index.js
CHANGED
|
@@ -32413,6 +32413,7 @@ function redactLine(line) {
|
|
|
32413
32413
|
out = out.replace(/\beyJ[A-Za-z0-9_-]{6,}\.[A-Za-z0-9_-]{6,}\.[A-Za-z0-9_-]{6,}\b/g, "<jwt-redacted>");
|
|
32414
32414
|
out = out.replace(/\bsk-[A-Za-z0-9_-]{16,}\b/g, "<api-key-redacted>");
|
|
32415
32415
|
out = out.replace(/\bGOCSPX-[A-Za-z0-9_-]{10,}\b/g, "<api-key-redacted>");
|
|
32416
|
+
out = out.replace(/\b((?:proxy-)?authorization|cookie|set-cookie|x-api-key)\s*:\s*[^\r\n]+/gi, "$1: <redacted>");
|
|
32416
32417
|
out = out.replace(/\b(?:https?|socks[45]):\/\/[^\s/]*:[^\s/@]*@[^\s]+/gi, "<proxy-url-redacted>");
|
|
32417
32418
|
return out;
|
|
32418
32419
|
}
|
|
@@ -32447,9 +32448,15 @@ function writeDoctorReport(deps) {
|
|
|
32447
32448
|
lines.push("```");
|
|
32448
32449
|
lines.push("");
|
|
32449
32450
|
const dir = join(stateDir(), "diagnostics");
|
|
32450
|
-
mkdirSync(dir, {
|
|
32451
|
+
mkdirSync(dir, {
|
|
32452
|
+
recursive: true,
|
|
32453
|
+
mode: 448
|
|
32454
|
+
});
|
|
32451
32455
|
const file = join(dir, "doctor-" + (/* @__PURE__ */ new Date()).toISOString().replace(/[^0-9]/g, "").slice(0, 14) + ".md");
|
|
32452
|
-
writeFileSync(file, lines.join("\n"),
|
|
32456
|
+
writeFileSync(file, lines.join("\n"), {
|
|
32457
|
+
encoding: "utf8",
|
|
32458
|
+
mode: 384
|
|
32459
|
+
});
|
|
32453
32460
|
return file;
|
|
32454
32461
|
}
|
|
32455
32462
|
//#endregion
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-agy-link",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.86",
|
|
4
4
|
"description": "Google Antigravity (agy CLI) models for DeepSeek Harness — stream Gemini/Claude/GPT-OSS subscriptions into DSH with thinking, tool activity, token usage and in-GUI Google OAuth login.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|