Implemented unified secrets sanitization and env. redaction options (#15348)

This commit is contained in:
Christian Gunderman
2025-12-22 19:18:27 -08:00
committed by GitHub
parent 2ac9fe08f7
commit 3b1dbcd42d
18 changed files with 817 additions and 103 deletions

View File

@@ -619,8 +619,12 @@ export async function loadCliConfig(
mcpServers: settings.mcpServers,
allowedMcpServers: argv.allowedMcpServerNames ?? settings.mcp?.allowed,
blockedMcpServers: argv.allowedMcpServerNames
? [] // explicitly allowed servers overrides everything
? undefined
: settings.mcp?.excluded,
blockedEnvironmentVariables:
settings.security?.environmentVariableRedaction?.blocked,
enableEnvironmentVariableRedaction:
settings.security?.environmentVariableRedaction?.enabled,
userMemory: memoryContent,
geminiMdFileCount: fileCount,
geminiMdFilePaths: filePaths,

View File

@@ -1203,6 +1203,48 @@ const SETTINGS_SCHEMA = {
},
},
},
environmentVariableRedaction: {
type: 'object',
label: 'Environment Variable Redaction',
category: 'Security',
requiresRestart: false,
default: {},
description: 'Settings for environment variable redaction.',
showInDialog: false,
properties: {
allowed: {
type: 'array',
label: 'Allowed Environment Variables',
category: 'Security',
requiresRestart: true,
default: [] as string[],
description:
'Environment variables to always allow (bypass redaction).',
showInDialog: false,
items: { type: 'string' },
},
blocked: {
type: 'array',
label: 'Blocked Environment Variables',
category: 'Security',
requiresRestart: true,
default: [] as string[],
description: 'Environment variables to always redact.',
showInDialog: false,
items: { type: 'string' },
},
enabled: {
type: 'boolean',
label: 'Enable Environment Variable Redaction',
category: 'Security',
requiresRestart: true,
default: false,
description:
'Enable redaction of environment variables that may contain secrets.',
showInDialog: true,
},
},
},
auth: {
type: 'object',
label: 'Authentication',