Back to all reviewers

explicit security controls

argoproj/argo-cd
Based on 4 comments
Markdown

Security configurations should use explicit controls and secure defaults rather than implicit permissions or hardcoded credentials. This principle helps prevent accidental privilege escalation and credential exposure.

Security Markdown

Reviewer Prompt

Security configurations should use explicit controls and secure defaults rather than implicit permissions or hardcoded credentials. This principle helps prevent accidental privilege escalation and credential exposure.

Key practices:

  • Use secure defaults that require explicit permission grants rather than implicit access
  • Avoid hardcoding sensitive values like secrets, keys, or credentials directly in configuration files
  • Require explicit RBAC permissions for security-sensitive operations instead of bundling them with broader permissions
  • Implement explicit verification policies for deployment artifacts

Example of explicit RBAC configuration:

# Explicit logs permission instead of implicit access via applications.get
p, dev-team, logs, get, my-app/*, allow
p, dev-team, applications, get, my-app/*, allow

# Explicit override permission with secure default (disabled)
application.sync.externalRevisionConsideredOverride: 'true'
p, dev-team, applications, override, my-app/*, allow

Example of avoiding hardcoded secrets:

# Instead of hardcoding in manifests:
# oidc.clientSecret: "hardcoded-secret-value"

# Use kubectl or external secret management:
kubectl create secret generic argocd-secret \
  --from-literal=oidc.clientSecret="your-secret-value"

This approach reduces security risks by making security boundaries explicit and preventing accidental exposure of sensitive information.

4
Comments Analyzed
Markdown
Primary Language
Security
Category

Source Discussions