Bitbucket workspaces and every pull request, read for risk
Connect a workspace, project or repository access token. CloudLens scans each repository for secrets in code and history, insecure code, vulnerable packages, IaC and bitbucket-pipelines.yml, and checks every pull request the signed webhook sends it.
- 1#58 adds a Stripe live key
A pull request on payments-service adds a hard-coded key.
- 2The signed webhook reaches CloudLens
pullrequest:created arrives with an HMAC signature; CloudLens scans the source branch.
- 3Policy fails, then passes
The new secret fails the policy in CloudLens. The updated event after the fix commit rescans and passes.
Code risk ships long before anyone looks
A secret, a vulnerable package or a risky workflow is cheapest to fix in review, and most expensive once it is in production.
Deleted is not gone
What usually happens: A developer removes a cloud key from the code. It stays in git history, readable by anyone who can clone the repository.
How CloudLens resolves it: Gitleaks reads the last 2,000 commits too, so the key is found, rotated and purged.
ResolvedReviewers miss what scanners catch
What usually happens: A pull request adds a live payment key in a config file. Two approvals later, it is on main.
How CloudLens resolves it: The PR is scanned and fails your policy in CloudLens while it is still in review.
ResolvedCI has production access
What usually happens: Bitbucket Pipelines holds long-lived cloud keys or an over-trusting role, and nobody connects it to what it can change.
How CloudLens resolves it: Every pipeline file is judged line by line, and its role or key is traced to the AWS resources it can reach.
ResolvedRead-only, set up once in Bitbucket
Paste a workspace, project or repository access token — or an Atlassian API token with your email.
Write scopes are refused when Bitbucket reports them · if it does not, CloudLens says it could not confirm read-only.
- repository · read
- pullrequest · read
- repository:write · refused
- repository:admin · refused
- 1Choose Bitbucket
Workspace access token · Bitbucket Cloud.
- 2See exactly what is granted
repository: Read · pullrequest: Read · repository:write: Refused · repository:admin: Refused.
- 3Repositories are found and scanned
4 repositories in the lumora workspace start their first scan.
Secrets, code, packages, IaC and CI — in one pass
Every repository is scanned by Gitleaks (current files and git history), Opengrep running CloudLens's own rules, and Trivy for dependencies, SBOM, licences and IaC.
Each finding carries its evidence and the fix. Send it to Jira, Slack or Microsoft Teams in one click.
- Secrets + history
- SAST
- SCA + SBOM
- IaC + Dockerfiles
- CI/CD config
- 1Four engines run on each repository
Results are grouped into secrets, code, dependencies, IaC and CI/CD.
- 2A key that was deleted, but not gone
A cloud access key removed six weeks ago is still in commit 4f2a91c.
- 3Fix it, and track it
Three steps to rotate and purge it, and SEC-91 opened in Jira from the finding.
Every pull request, checked against your policy
Add the CloudLens webhook (HMAC-signed) for pull request created and updated. CloudLens scans the source branch; results and the verdict stay in CloudLens.
The PR head is scanned in full and compared with the default branch by fingerprint, so only new findings count. Your policy passes, warns or fails on new secrets, vulnerabilities, code findings and misconfigurations.
- webhook · pullrequest:created
- New findings only
- Pass / warn / fail policy
- Verdict in CloudLens
- 1#58 adds a Stripe live key
A pull request on payments-service adds a hard-coded key.
- 2The signed webhook reaches CloudLens
pullrequest:created arrives with an HMAC signature; CloudLens scans the source branch.
- 3Policy fails, then passes
The new secret fails the policy in CloudLens. The updated event after the fix commit rescans and passes.
Bitbucket Pipelines, judged line by line
bitbucket-pipelines.yml is parsed as text — never executed — and every risky line is flagged with its rule and severity.
The roles and long-lived keys a pipeline uses are matched to your AWS inventory. So you see what a compromised pipeline could change in production.
- image tag can change under you
- package install runs lifecycle scripts
- long-lived key in the pipeline file
- 1Open bitbucket-pipelines.yml
3 lines are flagged as the file is read.
- 2Each line gets a rule and severity
unpinned image: image tag can change under you · install script: package install runs lifecycle scripts.
- 3Traced to the cloud
The deploy-prod role leads to the checkout-api service and orders-db in prod-core.
What CloudLens reads in Bitbucket today
Straight from the product. Where something is not assessed, we say so rather than imply it.
One week with Bitbucket connected
Lumora Retail is a fictional company. The steps are how CloudLens behaves.
Lumora Retail is a fictional company. The people, names and numbers are sample data.
Connects the lumora workspace
Adds the pull request webhook
Catches a key in the pipeline
Scan your repositories with read-only access
The rest of your code and CI
GitHub
GitHub App · github.com
Learn moreGitLab
Group access token · gitlab.com or your self-managed GitLab
Learn moreAzure DevOps
Personal access token · dev.azure.com
Learn moreJenkins
Through your code host · Any repository CloudLens scans
Learn moreRead-only
CloudLens never pushes, comments or merges. On GitHub, the one write is a check run, and only if you grant Checks: write.
History included
Secrets are looked for in the last 2,000 commits within a year, not just today's files.
Code to cloud
Container images, Terraform and pipeline roles are matched to the AWS resources they run as or deploy.
One finding list
Code findings sit next to cloud findings in Atlas, with the same Jira, Slack and Teams actions.
Bitbucket FAQ
Bitbucket Cloud. Bitbucket Data Center and Server are not supported today.
Workspace, project or repository access tokens, or an Atlassian API token with your email. App passwords are no longer offered by Bitbucket.
When Bitbucket reports the token's scopes, write scopes are refused. When it doesn't, CloudLens tells you it could not confirm read-only — and still only ever issues reads.
Not yet. Bitbucket shows branch restrictions only to repository admins, so CloudLens reports them as not assessed rather than guessing.
Ready to see CloudLens in action?
Connect a read-only AWS role or Azure service principal. We'll walk you through your bill, your security graph and the first things worth fixing.