fix(googlechat): inherit shared defaults for multi-account webhook auth#38492
fix(googlechat): inherit shared defaults for multi-account webhook auth#38492Takhoffman merged 4 commits intomainfrom
Conversation
🔒 Aisle Security AnalysisWe found 1 potential security issue(s) in this PR:
1. 🟡 Named Google Chat accounts inherit access-control settings from accounts.default (policy/allowlists)
Description
Impact in multi-account deployments:
Vulnerable code: const {
enabled: _ignoredEnabled,
dangerouslyAllowNameMatching: _ignoredDangerouslyAllowNameMatching,
serviceAccount: _ignoredServiceAccount,
serviceAccountRef: _ignoredServiceAccountRef,
serviceAccountFile: _ignoredServiceAccountFile,
...defaultAccountShared
} = defaultAccountConfig;
return { ...defaultAccountShared, ...base, ...account } as GoogleChatAccountConfig;This is security-sensitive because RecommendationLimit what is inherited from For example: const defaultAccountConfig = resolveAccountConfig(cfg, DEFAULT_ACCOUNT_ID) ?? {};
const sharedFromDefault: Partial<GoogleChatAccountConfig> = {
audienceType: defaultAccountConfig.audienceType,
audience: defaultAccountConfig.audience,
webhookPath: defaultAccountConfig.webhookPath,
webhookUrl: defaultAccountConfig.webhookUrl,
// optionally: botUser if it is truly shared
};
return { ...sharedFromDefault, ...base, ...account } as GoogleChatAccountConfig;Alternatively, if broader inheritance is desired, explicitly exclude access-control and policy keys (e.g., Analyzed PR: #38492 at commit Last updated on: 2026-03-07T03:54:25Z |
Greptile SummaryThis PR fixes a regression in multi-account Google Chat webhook authentication by making
Confidence Score: 3/5
Last reviewed commit: 3a621e6 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3a621e6d7e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eb75ca6332
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 62744e9b3e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
…th (#38492) * fix(googlechat): inherit shared defaults from accounts.default * fix(googlechat): do not inherit default enabled state * fix(googlechat): avoid inheriting default credentials * fix(googlechat): keep dangerous auth flags account-local
…th (openclaw#38492) * fix(googlechat): inherit shared defaults from accounts.default * fix(googlechat): do not inherit default enabled state * fix(googlechat): avoid inheriting default credentials * fix(googlechat): keep dangerous auth flags account-local
…th (openclaw#38492) * fix(googlechat): inherit shared defaults from accounts.default * fix(googlechat): do not inherit default enabled state * fix(googlechat): avoid inheriting default credentials * fix(googlechat): keep dangerous auth flags account-local
…th (openclaw#38492) * fix(googlechat): inherit shared defaults from accounts.default * fix(googlechat): do not inherit default enabled state * fix(googlechat): avoid inheriting default credentials * fix(googlechat): keep dangerous auth flags account-local
…th (openclaw#38492) * fix(googlechat): inherit shared defaults from accounts.default * fix(googlechat): do not inherit default enabled state * fix(googlechat): avoid inheriting default credentials * fix(googlechat): keep dangerous auth flags account-local (cherry picked from commit a01978b)
…th (openclaw#38492) * fix(googlechat): inherit shared defaults from accounts.default * fix(googlechat): do not inherit default enabled state * fix(googlechat): avoid inheriting default credentials * fix(googlechat): keep dangerous auth flags account-local (cherry picked from commit a01978b)
…th (openclaw#38492) * fix(googlechat): inherit shared defaults from accounts.default * fix(googlechat): do not inherit default enabled state * fix(googlechat): avoid inheriting default credentials * fix(googlechat): keep dangerous auth flags account-local
…th (openclaw#38492) * fix(googlechat): inherit shared defaults from accounts.default * fix(googlechat): do not inherit default enabled state * fix(googlechat): avoid inheriting default credentials * fix(googlechat): keep dangerous auth flags account-local
…th (openclaw#38492) * fix(googlechat): inherit shared defaults from accounts.default * fix(googlechat): do not inherit default enabled state * fix(googlechat): avoid inheriting default credentials * fix(googlechat): keep dangerous auth flags account-local
Summary
channels.googlechat.accounts.defaultfor named accountsWhy
Fixes a regression where multi-account Google Chat setups can stop processing inbound webhook events when shared audience/webhook settings live under
accounts.default.Fixes #38369
Verification