Skip to content

phone-control: require operator.admin for arm/disarm across channels#2

Merged
lifelikezzh merged 1 commit into
mainfrom
codex/fix-authorization-bypass-for-phone-control
Mar 28, 2026
Merged

phone-control: require operator.admin for arm/disarm across channels#2
lifelikezzh merged 1 commit into
mainfrom
codex/fix-authorization-bypass-for-phone-control

Conversation

@lifelikezzh

Copy link
Copy Markdown
Owner

Motivation

  • Close an authorization bypass that allowed external channels to arm/disarm phone control and persist gateway node allow/deny changes without operator.admin.

Description

  • Require operator.admin for both /phone arm and /phone disarm on all channels by removing the ctx.channel === "webchat" conditional in extensions/phone-control/index.ts.
  • Update extensions/phone-control/index.test.ts to assert external callers without operator.admin are blocked for both arm and disarm paths while preserving admin behavior.
  • Keep existing arm/disarm behavior intact for callers that include the operator.admin scope.

Testing

  • Ran the targeted unit tests with pnpm test -- extensions/phone-control/index.test.ts, and the test file passed (6 passed).
  • Executed repository checks via the commit helper (scripts/committer) which runs pnpm check and linters, and they completed without errors.

Codex Task

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant