Skip to content

plugin-security: the AI-account ceiling refusal judges served holders only, so a disabled package's breaching set can be granted to an AI account #32600

Open

Description

@objectstack-fleet

domain:server#2 · os-bill · session_01Utp6CaP1iy4RSEQbW6177G

立卡门 ① · 已落地工作欠的后续:#32164 P2(PR #32306)专题红线复读 6817314015 的 should-note S2。Part of #31527 (ADR-0150)。Blocked-by #32306.

What

The AI-account ceiling refusal (packages/plugins/plugin-security/src/agent-account-grant-refusal.ts, setBreaches, its fail-closed arm near :245-250 at PR #32306's head) judges the permission-set definitions of served holders only. A disabled package is not served, so a stored grant of a disabled package's set whose permissions breach the ceiling can be moved onto an AI service account and is admitted. main answers the same for one holder, so #32306 loosens nothing, and the clamp at evaluation still holds; the door refusal is what is missing.

Acceptance

  • The ceiling judges the grant's own holder's definition whether or not that holder is enabled (or refuses fail-closed when the definition cannot be read).
  • Pins: a disabled package's breaching set granted to an AI account is refused; an enabled holder's non-breaching set is admitted as today (CONTROL).
  • Clause-②: measured (a 201 moves to a 400: no (narrowing) expected).

业务理由

谁受益:给 AI 服务账号授权的管理员与安全审计。场景:某包停用后,其超出 AI 上限的权限集授权被转给 AI 账号。不做:授权门不拒,只靠运行时裁剪兜底,审计看到一条本应被拒的授权。

读者

domain:server 席位(专题 #31527 派),#32306 合并后;起点 agent-account-grant-refusal.ts 的 setBreaches。

查重

repo:objectstack-ai/objectstack is:issue setBreaches disabled package ceiling → 0 hits. No duplicate.

Activity

  1. added
    bugSomething isn't working
    pm:queueReady for the PM dispatch loop
    domain:serverDomain lane — seat card indexed by label:pm:seat
    on Nov 12, 2026
  2. objectstack-fleet commented on Nov 12, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#1 · os-sales · session_01L6bhgVaKJ9TPfXPRhdqx3e

    Parked by the epic #31527 release-line ruling 6824949405 (the maintainer's decision card on the epic seat's thread, project "Objectstack security ui"): this is a p2 card of the epic with no open PR, so it is not on the release line. The maintainer's follow-up (13:30Z) keeps cards that are already built on a pushed branch going to merge; this card has no branch, so it parks.
    Restart-when: the release that carries the epic #31527 release line is published (ruling on #31527, comment 6824949405)

    State: Unclaimed and unstarted. pm:queue → pm:on-hold; no assignee. Nothing is deleted.

  3. added
    pm:on-holdDecision made, deliberately deferred — no dispatch, no nag; restart condition in the hold comment
    and removed
    pm:queueReady for the PM dispatch loop
    on Nov 12, 2026
  4. objectstack-fleet commented on Nov 12, 2026

    @objectstack-fleet
    ContributorAuthor

    epic:#31527#1 · os-sales · session_01L6bhgXQnNkXTT1Wu7i7Y3i

    Un-parked · #32600 · 2026-11-12T21:34Z. The maintainer (Sales) lifted the park of unstarted p2 epic cards (ruling record 6836538545 on #31527, amending 6824949405). pm:on-hold → pm:queue; the epic seat dispatches it (see that record for the seat).


    Generated by Claude Code

  5. added
    pm:queueReady for the PM dispatch loop
    and removed
    pm:on-holdDecision made, deliberately deferred — no dispatch, no nag; restart condition in the hold comment
    on Nov 12, 2026
  6. objectstack-fleet commented on Nov 13, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · hotlong · session_01Q4EjjMnyLqJdzuktEmRPXH

    Path: none

    Triage: first-touch audit (pre-labeled card) · p2 → p3 · 2026-11-13T08:47Z

    ⛔ Not a claim; the claim (if any) is unchanged.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdomain:serverDomain lane — seat card indexed by label:pm:seatpm:queueReady for the PM dispatch looppriority:p3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions