feat: v0.8.2 安全纵深补全 · 协议保真 · 断链修复 — 图片SSRF/根MEMORY.md保护根治 · Anthropic thinking回传+pause_turn续传 · 2523 用例全量回归 + E2E 扩充
CI / 类型检查 + Lint + 单元测试 (push) Failing after 9m45s
CI / 全量测试 (Electron ABI) (push) Failing after 6m28s
CI / 产物编译验证 (push) Successful in 11m18s

This commit is contained in:
2026-09-08 14:30:27 +08:00
parent 69776e447f
commit 4cd6e997b5
86 changed files with 4303 additions and 956 deletions
+8 -2
View File
@@ -10,6 +10,8 @@ import log from 'electron-log';
import type { IPCContext } from './context';
import { broadcast } from './context';
import { isSensitiveConfigKey } from '../utils/secure-config';
// v0.8.2 P1-5: 掩码实现单源
import { maskSensitiveValue } from '../utils/mask';
// v0.8.1 P2-1: 工具自定义策略解析
import { parseToolPolicy } from '../harness/sandbox/permissions';
// v0.8.0 P1-5: 配置 URL 深校验(域名真实 DNS 解析,拦"解析到云元数据 IP"绕过)
@@ -77,10 +79,14 @@ export const LLM_CONFIG_KEYS = [
'llm.fallbackBaseURL',
];
/** 敏感配置值脱敏(审计日志用:长值保留后 4 位,短值完全掩码) */
/**
* 敏感配置值脱敏(长值保留后 4 位,短值完全掩码)
* v0.8.2 P1-5: 掩码实现单源到 utils/mask.maskSensitiveValue
* (原就地实现与审计脱敏存在漂移风险)
*/
export function maskSensitive(key: string, value: unknown): unknown {
if (isSensitiveConfigKey(key) && typeof value === 'string' && value.length > 0) {
return value.length > 4 ? '***' + value.slice(-4) : '***';
return maskSensitiveValue(value);
}
return value;
}