wso2 / wso2/api-platform

[Bug]: LLM Provider "Models" tab access control is not enforced at the gateway

Open
#2,991 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Aspect/API Type/Bug
Dominant language
Go
Stars
71
Forks
111
Avg merge
1d 14h
Merged PRs (30d)
110

Description

Please select the area the issue is related to

AI Workspace

Please select the aspect the issue is related to

Aspect/API (API backends, definitions, contracts, interfaces, OpenAPI)

Description

The Models tab in AI Workspace is documented to block access to any model that is disabled or not present in the "Models Available" list . Even without adding a model to the Models tab for a specific provider, it can still be used through the gateway. Also tried adding a model and then removing it from the list even then, it can still be used. The Models tab does not appear to restrict access at the gateway as expected.

Steps to Reproduce
  1. Create an LLM provider (e.g. Gemini) in AI Workspace.
  2. Go to the Models tab and note a model that is NOT in "Models Available" (or remove one that is), then Deploy.
  3. Invoke a request related to that model.
  4. Observe the request succeeds with a normal upstream response, instead of being blocked.
Severity Level of the Issue

Severity/Blocker (Core functionality is broken and consumer is blocked. Need immediate attention)

Environment Details (with versions)

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the request through the gateway after deploying an AI Workspace provider with a model absent from, or removed from, the Models Available list. Trace the gateway entry point for provider model requests and compare allowed and disallowed models. Done means disabled or unlisted models are blocked while permitted models continue to receive normal upstream responses.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
ai, api, authorization, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.