When implementing security features that involve access control, authentication, or authorization, carefully validate that the changes don't inadvertently grant broader access than intended. This is particularly critical when dealing with secret access, trust domains, or credential handling.
When implementing security features that involve access control, authentication, or authorization, carefully validate that the changes don’t inadvertently grant broader access than intended. This is particularly critical when dealing with secret access, trust domains, or credential handling.
Key areas to scrutinize:
Example from the codebase:
// PROBLEMATIC: Allows proxy to access secrets for any WasmPlugin they request
wasmPlugins := push.WasmPluginsByName(proxy, core.ParseExtensionName(resourceNames))
// BETTER: Only allow access to WasmPlugins that actually apply to the proxy
wasmPlugins := push.WasmPlugins(proxy)
Always ask: “Could this change allow a client to access resources they shouldn’t have access to?” If the answer is unclear, implement additional validation or use more restrictive approaches like RBAC-style permission checks.
Enter the URL of a public GitHub repository