Context secrets exposed when project visibility changes to public
0 reputation · 25 Dec 2023, 23:01 UTC
Context secrets exposed when project visibility changes to public
Problem statement
CircleCI contexts allow sharing environment variables across projects, but the documentation does not clearly specify whether secrets stored in contexts remain accessible to users with read-only permissions when a project's visibility changes from private to public. This creates uncertainty about potential unintended exposure of sensitive credentials.
Relevant constraints
When a CircleCI project is made public, the pipeline configuration files are processed in plaintext, and any embedded secrets would be visible. However, contexts themselves have no built-in access control mechanism, meaning any user with project read access could potentially retrieve context variables. The concern is whether making a project public after secrets have been stored in contexts creates a window where those secrets become accessible to unauthorized users.
Specific questions
- Does changing a project's visibility to public after storing secrets in contexts make those context secrets accessible to users who only have read permissions?
- What is the exact behavior of CircleCI's permission system when project visibility and context usage intersect?
- Is there any audit capability to track unauthorized access to context secrets after visibility changes?