Skip to content

Add credential-proxy disclosure for skill command dispatch#142

Merged
dgarson merged 2 commits intodgarson/forkfrom
nate/issue-15210-oauth-skill-disclosure
Mar 3, 2026
Merged

Add credential-proxy disclosure for skill command dispatch#142
dgarson merged 2 commits intodgarson/forkfrom
nate/issue-15210-oauth-skill-disclosure

Conversation

@dgarson
Copy link
Owner

@dgarson dgarson commented Feb 24, 2026

Summary\n- add explicit disclosure text when a non-owner triggers a skill command with deterministic tool dispatch\n- add disclosure guidance to model-routed skill command rewrites for non-owner senders\n- add regression test covering non-owner disclosure on tool-dispatched skill commands\n\n## Why\nMitigates OAuth/API token proxy risk by making credential use transparent when skill commands may route requests through owner-configured credentials.\n\n## Testing\n- pnpm vitest src/auto-reply/reply/get-reply-inline-actions.credential-disclosure.test.ts\n- pnpm vitest src/auto-reply/reply/get-reply-inline-actions.skip-when-config-empty.test.ts

Copy link
Owner Author

@dgarson dgarson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Overall assessment: good direction, one scope concern to address

Summary

This PR adds explicit credential-proxy disclosure for non-owner skill command dispatch:

  • deterministic tool-dispatch replies now prepend a disclosure warning for non-owners
  • model-routed skill rewrites now instruct the model to disclose owner-credential/proxy usage
  • adds regression coverage for non-owner deterministic tool dispatch

What looks good

  • Disclosure is correctly gated by !command.senderIsOwner
  • Message wording is clear and specific about OAuth/API token proxy risk
  • Deterministic dispatch test validates disclosure appears and tool output is preserved

Concerns

  1. PR scope overlap with #141

    • This PR currently includes src/agents/pi-embedded-helpers/errors.ts + related tests, which are the PII-redaction changes tracked separately in PR #141.
    • Keeping both in this PR makes review/merge sequencing noisier and increases cherry-pick/conflict risk.
  2. Test coverage gap (non-blocking)

    • No explicit test here for the owner path (ensuring no disclosure) and no direct assertion for the model-routed disclosure instruction branch.

Suggestions

  • Rebase/split this PR to include only credential-disclosure changes (get-reply-inline-actions*) unless intentionally stacked on #141.
  • Add small tests for:
    • owner deterministic dispatch => no disclosure
    • model-routed rewrite for non-owner => disclosure instruction included

Blocking issues before merge

  • Please resolve/clarify the PR scope overlap with #141 (stack or split).
    • If this is intentionally stacked, note that explicitly in the PR description.

@dgarson dgarson merged commit b5f1b81 into dgarson/fork Mar 3, 2026
2 of 6 checks passed
@dgarson dgarson deleted the nate/issue-15210-oauth-skill-disclosure branch March 3, 2026 01:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant