Area: B2Simulator (src/simulator/index.ts, authorize)
The auth response returns a fixed full capability set in apiInfo.storageApi.allowed.capabilities for every credential (except when a previously-created key's exact Basic header matches). A key created with, say, only listFiles still reports the full master set, which drives B2Client.hasCapabilities.
Impact: client-side capability-gating logic is tested against an over-broad cap list.
Expected: always derive the response allowed capabilities (and bucket/prefix restrictions) from the authorizing key.
Acceptance criteria:
Source: post-0.1.0 audit.
Area: B2Simulator (
src/simulator/index.ts,authorize)The auth response returns a fixed full capability set in
apiInfo.storageApi.allowed.capabilitiesfor every credential (except when a previously-created key's exact Basic header matches). A key created with, say, onlylistFilesstill reports the full master set, which drivesB2Client.hasCapabilities.Impact: client-side capability-gating logic is tested against an over-broad cap list.
Expected: always derive the response
allowedcapabilities (and bucket/prefix restrictions) from the authorizing key.Acceptance criteria:
allowedSource: post-0.1.0 audit.