The 24 CircleCI security checks Black Cat runs
Black Cat SSPM evaluates 24 security policies against your CircleCI configuration on every scan, classifies each finding by risk, and provides remediation steps. Browse them by topic below.
How to connect CircleCI — what access Black Cat needs, and why.
Access control & privilege
7 checks · highest severity: high
Configuration hardening
14 checks · highest severity: high
Access control & privilege (7)
- No Groups Defined severity: medium
- Unrestricted Context severity: high
- User Checkout Key severity: high
- OIDC Not Configured severity: medium
- Empty Group severity: low
- Large Group severity: medium
- OIDC Default Audience severity: medium
Configuration hardening (14)
- Config Policies Disabled severity: medium
- Config Policies Soft Fail severity: low
- Forked PR Builds Enabled severity: high
- Webhook Insecure URL severity: high
- Webhook Unverified TLS severity: medium
- Stale Runner severity: medium
- Schedule Non-Default Branch severity: low
- Pipeline Deprecated Image severity: medium
- Webhook No Signing Secret severity: high
- Pipeline Machine Executor severity: medium
- Pipeline Setup Remote Docker severity: medium
- Excessive Orb Allowlist severity: medium
- Runner Without Name severity: low
- Schedule Without Description severity: low
Other checks (3)
severity: medium Excessive Env Vars fix difficulty: medium #
Reduce project-level environment variables by migrating shared secrets to contexts or OIDC tokens
- Sign in to CircleCI and navigate to the affected project's settings
- Select "Environment Variables" from the left-hand navigation
- Review each variable and determine if it is shared across multiple projects
- Move shared secrets to a named context under Organization Settings > Contexts
- For cloud provider credentials, configure OIDC token authentication to eliminate long-lived keys
- Delete environment variables that have been migrated and confirm pipelines still pass
Satisfies: ISO 27001:2022 A.8.12 SOC 2 Type II CC6.7 CIS Controls v8 CIS-03.1 NIST CSF 2.0 PR.DS-01 GDPR (SaaS Security) GDPR-5.1f.iii HIPAA (SaaS Security) HIPAA-308.a4 NIS2 Directive NIS2-21.a.3 DORA (SaaS Security) DORA-9.11
severity: critical Pipeline Hardcoded Secrets fix difficulty: hard #
Remove hardcoded secrets from pipeline config and store them in CircleCI contexts or environment variables
- Identify the secret values exposed in the pipeline config (API keys, passwords, tokens)
- Immediately rotate each compromised credential with the issuing service
- Remove the hardcoded secret from .circleci/config.yml and commit the sanitized config
- Create a named context under Organization Settings > Contexts and add each secret as an environment variable
- Update the pipeline job to reference the context and use the environment variable instead of the literal value
- Audit git history and use a tool such as git-filter-repo to remove the secret from all previous commits
Satisfies: ISO 27001:2022 A.8.12 SOC 2 Type II CC6.7 CIS Controls v8 CIS-03.1 NIST CSF 2.0 PR.DS-01 GDPR (SaaS Security) GDPR-5.1f.iii HIPAA (SaaS Security) HIPAA-308.a4 NIS2 Directive NIS2-21.a.3 DORA (SaaS Security) DORA-9.11
severity: medium Orb Allowlist Empty fix difficulty: medium #
Configure an orb allowlist to restrict which third-party orbs pipelines may use
- Sign in to CircleCI and navigate to Organization Settings
- Select "Security" from the left-hand navigation
- Under "Orb Security Settings", locate the orb allow-list configuration
- Add each approved orb namespace or specific orb version to the allowlist
- Set the policy to block any orb not present on the allowlist
- Save changes and notify pipeline authors of approved orb sources
Satisfies: ISO 27001:2022 A.5.23 CIS Controls v8 CIS-15.1 NIST CSF 2.0 GV.SC GDPR (SaaS Security) GDPR-28.1 HIPAA (SaaS Security) HIPAA-314.a NIS2 Directive NIS2-21.d DORA (SaaS Security) DORA-28.4