High-confidence secret in CodeBuild PLAINTEXT environment variable
- Severity
- Critical
- Service
- Secrets exposure
- Check ID
- SECRETS_CODEBUILD_ENV_HIGH
What this check finds
A CodeBuild project PLAINTEXT environment variable matches a high-confidence credential pattern. PLAINTEXT env vars are visible in build logs and readable by any principal with codebuild:BatchGetProjects. Use PARAMETER_STORE or SECRETS_MANAGER types instead.
Passing looks like: No secrets in CodeBuild environment variables.
How to fix it
Change the environment variable type from PLAINTEXT to PARAMETER_STORE or SECRETS_MANAGER in the CodeBuild project configuration and store the value in SSM SecureString or Secrets Manager.
Compliance controls it is evidence for
A failing result counts against these controls in KloudLytics; a passing one is evidence towards them. How compliance mapping works
| Framework | Controls |
|---|---|
| NIST SP 800-53 Rev5 (Moderate) |
|
| NIST Cybersecurity Framework 2.0 |
|
| ISO/IEC 27001:2022 Annex A |
|
Checked on every scan
KloudLytics runs this check each time it scans a connected AWS account, through a read-only role, and lists every affected resource with its region. On Pro and Business a fix is written for the specific resource rather than the general case above. The exact access it needs
More Secrets exposure checks
- CriticalHigh-confidence secret in API Gateway stage variable
- CriticalHigh-confidence secret in CloudFormation stack parameter (NoEcho disabled)
- CriticalHigh-confidence secret in EC2 user-data
- CriticalHigh-confidence secret in ECS running task environment variable
- CriticalHigh-confidence secret in ECS task definition environment variable
- CriticalHigh-confidence secret in Elastic Beanstalk environment variable
- CriticalHigh-confidence secret in Lambda environment variable
- CriticalHigh-confidence secret in SSM String parameter (unencrypted)