Skip to content

Prevent marketplace identity spoofing - #39165

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/a610bdc382857f306dd3e244f0992de2ec279673
Aug 18, 2026
Merged

Prevent marketplace identity spoofing#39165
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/a610bdc382857f306dd3e244f0992de2ec279673

Conversation

@copyberry

@copyberry copyberry Bot commented Aug 18, 2026

Copy link
Copy Markdown

Prevent marketplace identity spoofing

Why

Repository manifests and user-configured sources must not be able to claim names reserved for managed or remote marketplaces.

What changed

  • Reject reserved marketplace names from unmanaged sources during discovery, installation, configuration projection, and configured marketplace upgrades, even when source restrictions are disabled.
  • Recognize managed marketplaces only at their expected paths. Preserve the required macOS and Windows path equivalences without allowing symlink aliases to inherit managed provenance.

Testing

  • Cover reserved-name rejection for plugin list and install RPCs, configured upgrades, unrestricted policy, and remote marketplace names.
  • Cover symlink spoofing and Windows managed-path normalization.

## Why

Repository manifests and user-configured sources must not be able to claim names reserved for managed or remote marketplaces.

## What changed

- Reject reserved marketplace names from unmanaged sources during discovery, installation, configuration projection, and configured marketplace upgrades, even when source restrictions are disabled.
- Recognize managed marketplaces only at their expected paths. Preserve the required macOS and Windows path equivalences without allowing symlink aliases to inherit managed provenance.

## Testing

- Cover reserved-name rejection for plugin list and install RPCs, configured upgrades, unrestricted policy, and remote marketplace names.
- Cover symlink spoofing and Windows managed-path normalization.

GitOrigin-RevId: a610bdc382857f306dd3e244f0992de2ec279673
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/a610bdc382857f306dd3e244f0992de2ec279673 branch from 49963fb to 0acf302 Compare August 18, 2026 07:57
@copyberry
copyberry Bot merged commit 0acf302 into main Aug 18, 2026
27 of 32 checks passed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/a610bdc382857f306dd3e244f0992de2ec279673 branch August 18, 2026 07:59
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 18, 2026
@dundunge
dundunge deployed to issue-triage August 18, 2026 08:00 — with GitHub Actions Active
@dundunge
dundunge deployed to issue-triage August 18, 2026 08:00 — with GitHub Actions Active
@dundunge
dundunge deployed to issue-triage August 18, 2026 08:00 — with GitHub Actions Active
@akivavh
akivavh deployed to issue-triage August 18, 2026 08:03 — with GitHub Actions Active
@akivavh
akivavh deployed to issue-triage August 18, 2026 08:03 — with GitHub Actions Active
@akivavh
akivavh deployed to issue-triage August 18, 2026 08:03 — with GitHub Actions Active
@samuelbushi
samuelbushi deployed to issue-triage August 18, 2026 08:04 — with GitHub Actions Active
@samuelbushi
samuelbushi deployed to issue-triage August 18, 2026 08:04 — with GitHub Actions Active
@samuelbushi
samuelbushi deployed to issue-triage August 18, 2026 08:04 — with GitHub Actions Active
@samuelbushi
samuelbushi deployed to issue-triage August 18, 2026 08:05 — with GitHub Actions Active
@davorg
davorg deployed to issue-triage August 18, 2026 08:05 — with GitHub Actions Active
@davorg
davorg deployed to issue-triage August 18, 2026 08:05 — with GitHub Actions Active
@davorg
davorg deployed to issue-triage August 18, 2026 08:05 — with GitHub Actions Active
@liuyangyi0
liuyangyi0 deployed to issue-triage August 18, 2026 08:12 — with GitHub Actions Active
@liuyangyi0
liuyangyi0 deployed to issue-triage August 18, 2026 08:12 — with GitHub Actions Active
@liuyangyi0
liuyangyi0 deployed to issue-triage August 18, 2026 08:12 — with GitHub Actions Active
@lucamungo
lucamungo deployed to issue-triage August 18, 2026 08:38 — with GitHub Actions Active
@lucamungo
lucamungo deployed to issue-triage August 18, 2026 08:38 — with GitHub Actions Active
@lucamungo
lucamungo deployed to issue-triage August 18, 2026 08:38 — with GitHub Actions Active
@lucamungo
lucamungo deployed to issue-triage August 18, 2026 08:39 — with GitHub Actions Active
@yhgalaxy
yhgalaxy deployed to issue-triage August 18, 2026 08:41 — with GitHub Actions Active
@yhgalaxy
yhgalaxy deployed to issue-triage August 18, 2026 08:41 — with GitHub Actions Active
@yhgalaxy
yhgalaxy deployed to issue-triage August 18, 2026 08:41 — with GitHub Actions Active
@yhgalaxy
yhgalaxy deployed to issue-triage August 18, 2026 08:42 — with GitHub Actions Active
@MrVibe
MrVibe deployed to issue-triage August 18, 2026 09:19 — with GitHub Actions Active
@MrVibe
MrVibe deployed to issue-triage August 18, 2026 09:19 — with GitHub Actions Active
@MrVibe
MrVibe deployed to issue-triage August 18, 2026 09:19 — with GitHub Actions Active
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants