Skip to content

docs: add security remediation plans from /improve audit - #323

Merged
antfu merged 2 commits into
mainfrom
docs/security-audit-plans
Sep 1, 2026
Merged

docs: add security remediation plans from /improve audit#323
antfu merged 2 commits into
mainfrom
docs/security-audit-plans

Conversation

@antfubot

@antfubot antfubot commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds seven self-contained implementation plans (plus an index) produced by a security-focused audit. No source code is changed — this is planning documentation for follow-up execution by implementer agents/humans.

Findings selected for plans, in recommended execution order:

  1. plans/001-pin-github-actions.md — pin privileged GitHub Actions/reusable-workflow references to reviewed commit SHAs (release job currently grants contents: write + id-token: write to a mutable @main reusable workflow).
  2. plans/002-authenticate-mcp-http.md — require an explicit bearer/callback authorization policy on the route-based MCP HTTP endpoint; Origin is currently treated as identity, and @devframes/next/hub enables the route by default.
  3. plans/003-enforce-mcp-state-policy.md — apply the same exposeSharedState filter to direct MCP resource reads, not just listing (depends on 002).
  4. plans/004-contain-remote-assets.md — validate remote-asset provider listings before materialize() writes them to disk, closing a path-traversal gap in build-time asset fetching.
  5. plans/005-block-data-inspector-prototype-writes.md — restrict Data Inspector's live-object write engine to own properties and reject prototype-sensitive keys.
  6. plans/006-validate-auth-link-origin.md — stop deriving the printed OTP magic-link origin from an unauthenticated first request's Host/URL.
  7. plans/007-enforce-symlink-containment.md — canonicalize filesystem containment checks (static serving, assets plugin, open service) so pre-existing symlinks can't escape a configured root.

Each plan is self-contained (current-state excerpts, exact scope, verification commands, test plan, done criteria, and STOP conditions) per the improve skill's plan template, and was independently reviewed for executability before being finalized.

Considered-and-rejected findings (dependency audit noise without a demonstrated reachable path, by-design OG/code-server behavior, token-lifecycle policy choices) are recorded in plans/README.md so they aren't re-audited.

Test plan

  • N/A — no source changed. git diff --check passes; pnpm lint ran clean via the repo's pre-commit hook.

This PR and the underlying plans were produced with the help of an AI coding agent (OpenCode).

Adds 7 self-contained implementation plans (plus index) covering the
highest-leverage security findings from a focused audit: unauthenticated
MCP HTTP route, prototype-pollution writes in the data inspector, remote
asset path traversal, OTP magic-link origin poisoning, symlink escapes
in served/managed directories, and unpinned privileged GitHub Actions.

No source code changed; plans/ is documentation for follow-up execution.
@vercel

vercel Bot commented Sep 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
devframe Ready Ready Preview Sep 1, 2026 5:59am UTC

@antfu
antfu merged commit 1c9f789 into main Sep 1, 2026
11 of 13 checks passed
@antfu
antfu deleted the docs/security-audit-plans branch September 1, 2026 05:57
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.

2 participants