#25550 [Bug]: Model Access Groups leak into `/v1/models` response
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate.
### What happened?
/v1/models returns access-group names alongside real models
When `/v1/models` is called with a virtual key whose `models` field references **non-existent** model / model access group, LiteLLM returns these "model"/"access groups" strings themselves as model entries in the response. Downstream OpenAI-compatible clients then render these as if they were selectable models.
Access groups are an authorization primitive — not models. They should never appear in `/v1/models`.
### Steps to Reproduce
1. Start LiteLLM proxy with any default config (at least one model defined).
2. Create a virtual key whose `models` field contains a name that does not exist as either a real model name or either of the a `access_groups` on any model:
```bash curl -X POST "$LITELLM_BASE/key/generate" \ -H "Authorization: Bearer $MASTER_KEY" \ -H "Content-Type: application/json" \ -d '{"models": ["team-sales-api"]}'
3. Call /v1/models with the resulting key:
curl -s "$LITELLM_BASE/v1/models" -H "Authorization: Bearer $VIRTUAL_…