Fix owner-only auth and overlapping skill env regressions#38548
Fix owner-only auth and overlapping skill env regressions#38548vincentkoc merged 3 commits intomainfrom
Conversation
Greptile SummaryThis PR fixes two regressions: a security issue in owner authorization (where any identified direct-message sender was implicitly granted Changes:
Minor observation: In Confidence Score: 5/5
Last reviewed commit: bb085eb |
* main: (45 commits) chore: update dependencies except carbon test(memory): make mcporter EINVAL retry test deterministic refactor(extensions): reuse shared helper primitives refactor(core): extract shared dedup helpers fix(ci): re-enable detect-secrets on main docs: reorder 2026.3.7 changelog highlights chore: bump version to 2026.3.7 fix(android): align run command with app id docs: add changelog entry for Android package rename (openclaw#38712) fix(android): rename app package to ai.openclaw.app fix(gateway): stop stale-socket restarts before first event (openclaw#38643) fix(gateway): skip stale-socket restarts for Telegram polling (openclaw#38405) fix(gateway): invalidate bootstrap cache on session rollover (openclaw#38535) docs: update changelog for reply media delivery (openclaw#38572) fix: contain final reply media normalization failures fix: contain block reply media failures fix: normalize reply media paths Fix owner-only auth and overlapping skill env regressions (openclaw#38548) fix(feishu): disable block streaming to prevent silent reply drops (openclaw#38422) fix: suppress ACP NO_REPLY fragments in console output (openclaw#38436) ...
Summary
commands.ownerAllowFromwas unset, which widened access toownerOnlytools.operator.adminsessions; overlapping skill env overrides are now reference-counted so ACP child-process env stripping remains active until all overlapping restores complete.Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
User-visible / Behavior Changes
commands.ownerAllowFromis unset.Security Impact (required)
No)Yes)No)Yes)No)Yes, explain risk + mitigation:This narrows owner-only tool eligibility back to explicit owner signals and hardens skill env cleanup so overlapping runs cannot prematurely stop ACP env stripping for injected credentials.
Repro + Verification
Environment
pnpmapiKeyoverrideSteps
pnpm exec vitest run src/auto-reply/command-auth.owner-default.test.ts src/auto-reply/command-control.test.ts src/agents/skills.test.ts src/acp/client.test.ts.pnpm check.ownerAllowFromare not owners and overlapping env restores keepgetActiveSkillEnvKeys()populated until the final restore.Expected
Actual
Evidence
Attach at least one:
Human Verification (required)
What you personally verified (not just CI), and how:
pnpm check.pnpm testsuite on this branch.Compatibility / Migration
Yes)No)No)Failure Recovery (if this breaks)
src/auto-reply/command-auth.ts,src/agents/skills/env-overrides.ts, and their targeted tests.Risks and Mitigations