HIGH
Exposed cassette API key reaches Cassette Files and 1 other service
Anyone holding this key can read private data or spend money against this account. Rotate now.
- Provider
cassette(generic)- Key
csst******************************aaa- Status
- valid
- Generated
- Account
- acct_demo
- Plan or tier
- team
Why this severity
- Reaches private or user data: Cassette Files (read) — Can list uploaded files.
Capabilities
| Service | Access | Detail | Data | Cost | Restricted |
|---|---|---|---|---|---|
| Cassette Files | read | Can list uploaded files | yes | no | no |
| Cassette Metadata | read | Can read project metadata | no | no | no |
Evidence
Each entry is a read-only request and the response summary that proves the access. Keys are masked.
Cassette Files — read
Can list uploaded files
GET https://api.cassette.invalid/v1/files?key=<key> -> 200, 2 files
Cassette Metadata — read
Can read project metadata
GET https://api.cassette.invalid/v1/metadata?key=<key> -> 200, project metadata returned
Remediation
- Revoke or rotate this key now. It was found outside the systems that should hold it, so treat it as known to others.
- Remove the key from wherever it leaked — including git history, build logs and image layers, not only the current file.
- Check the provider's audit or usage logs for calls made with this key, especially from addresses or times you do not recognise.
- Scope the replacement: least-privilege permissions, plus referrer, IP or app restrictions where the provider supports them.
- Store the replacement in a secret manager and re-scan the repository before the next deployment.
- Rotation guide: https://example.invalid/rotate
- Provider documentation: https://example.invalid/docs