This commit is contained in:
2026-06-22 08:55:57 +08:00
parent dbb87823e8
commit 6ade6e8fa9
325 changed files with 41131 additions and 855 deletions
+8 -1
View File
@@ -318,8 +318,15 @@ func (s *Service) SubscribeLogs(ctx context.Context, c workspace.Caller, profile
// buildEnv 构造被托管命令的环境:宿主白名单基础变量 + profile 覆盖。
// 不继承宿主全部环境,避免泄漏 APP_MASTER_KEY / DB DSN / git 凭据等敏感变量。
func (s *Service) buildEnv(overrides map[string]string) []string {
return buildEnvFromWhitelist(s.cfg.EnvWhitelist, overrides)
}
// buildEnvFromWhitelist 是 env 构造的包级可复用实现:仅透传 whitelist 列出的宿主
// 环境变量,再叠加 overrides。供 run profile(长驻)与 ExecService(一次性 exec)
// 共用,保证两条路径相同的安全取舍——绝不泄漏 APP_MASTER_KEY / DB DSN / git 凭据。
func buildEnvFromWhitelist(whitelist []string, overrides map[string]string) []string {
base := map[string]string{}
for _, k := range s.cfg.EnvWhitelist {
for _, k := range whitelist {
if v, ok := os.LookupEnv(k); ok {
base[k] = v
}