UX Research: Understand secrets leaked outside of code
What did we learn?
| Results |
|---|
|
Important Links
- Recruitment issue
- Screener
- Research Plan & Script
- User Interview Deck
- [Working Document] Leaked Secrets - Session Notes & Analysis
- Dovetail project
Problem
Expanding secret detection capabilities beyond code has created uncertainty around user workflows and resolution processes. Detecting secrets across the GitLab platform will increase security for everyone, however, we lack clarity on whether these findings should be classified as vulnerabilities and how different teams will remediate non-code based leaked secrets.
Goal
What is the ideal user experience for secret detection for leaked secrets outside of the code base?
What's Next?
This research will inform how we expand to detecting secrets throughout the GitLab Platform. We have a FYQ2 deliverable of Secret Detection for CI/CD Jobs Artifacts as an experiment for Q2 with general availability scheduled for Q3.
In the future we also plan on expanding to other CI/CD features, i.e. pipeline job logs and .gitlab-ci.yml. A full list of coverage for all objects/components can be found here.
Intended Impact Type
Impact on Decisions - this work will inform the product design and requirements for the epic Secret Detection is a consistent, platform-wide, on-by-default experience for users.
🌟 Click to see impact type selections
| Impact on Decisions | Impact on Knowledge | Impact on UXR maturity |
|---|---|---|
|
|
|
Timeline
This research will be completed by the end of %17.10 at the latest.
Research Question(s)
- What is the ideal user experience for secret detection for leaked secrets outside of the code base?
- Which of the following approaches are the best fit for user needs when a secret is detected: Stop the artifact from being generated if there is a secret OR Let a user know if a secret is detected in an artifact?
- Where and how should these findings be surfaced to users?
- How should users be notified of detected secrets?
For CI/CD features specifically:
- Do artifacts containing detected secrets need to be quarantined?
- What happens when artifacts are used to pass data between jobs?
- What file formats and types need to be scanned?
- Should a detected secret block the pipeline?
Hypotheses
For CI/CD features (job logs and artifacts) there are two paths we could take;
- Stop the artifact from being generated if there is a secret.
- Let a user know if a secret is detected in an artifact.
Target User Group
- Sasha, Software Developer will prevent these leaks from happening.
- Amy, Application Security Engineer will triage and revoke these leaks.
Relevant Works
- Defend Against ArtiPACKED with StepSecurity: New Feature to Detect Leaked Secrets in GitHub Action Workflow Artifacts
- Scan GitHub Actions Build Logs for Secrets with StepSecurity’s New Feature
- GitHub Actions Artifacts Leak Tokens and Expose Cloud Services and Repositories
Who will be leading the research, and who will be supporting?
- Research DRI: @abellucci
- Supporting Researcher: @amarpatel, @beckalippert