AOSSIE-Org / AOSSIE-Org/Ell-ena
Vexa API key stored without documented rotation policy - bot integration key leak gives attacker control over meeting bots
- Lingua principale
- Dart
- Stelle
- 54
- Fork
- 110
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
## Problem
The `VEXA_API_KEY` is stored as an environment variable (shown in
`.env.example`) with no documentation on:
- What the Vexa API key authorizes (e.g. whether it can create unlimited bots
that consume transcription minutes).
- How to detect unauthorized usage of the key.
- How to rotate the key if it is leaked.
- Whether the key is scoped to specific meetings or is a global account key.
If the key is leaked (e.g. accidentally committed to the repository or exposed
in server logs), an attacker can start Vexa bots for any meeting, consuming
the account's transcription quota or incurring charges without limit.
## Impact
- Unauthorized meeting bot creation and quota exhaustion.
- Potential exposure of meeting invites and transcription data if bots are
started for meetings the attacker does not own.
- Financial cost from unauthorized usage of a paid transcription service.
## Suggested Fix
1. Document in `BACKEND.md` the minimum required Vexa API permissions and
how to create a restricted-scope key if the Vexa API supports it.
2. Add usage monitoring (Vexa dashboard alerts or webhook notifications) to
detect unexpected bot activity.
3. Document a key rotation procedure in `BACKEND.md`.
4. Store the Vexa key only in Supabase Edge Function secrets, never in the
Flutter client or any client-accessible configuration.
5. Add `.env` to `.gitignore` (verify it is not currently tracked) to prevent
accidental commits.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.