Skip to content

fix: audit cache symlinks without traversal - #320

Draft
seonghobae wants to merge 14 commits into
feat/macos-generated-cache-reclaim-v1from
feat/generated-cache-symlink-manifest-v1
Draft

fix: audit cache symlinks without traversal#320
seonghobae wants to merge 14 commits into
feat/macos-generated-cache-reclaim-v1from
feat/generated-cache-symlink-manifest-v1

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • fingerprint cache-internal symlink entries without resolving or traversing their targets
  • keep allowlisted root symlinks and special files fail-closed
  • document the live uv/Playwright planning gap and focused regression proof

Validation

  • cargo test --manifest-path src-tauri/Cargo.toml generated_cache_reclaim::tests:: --lib (11 passed)
  • git diff --check

No live cache, cloud-provider, Photos, container, or VM mutation was performed.


Devin Review

Protected prerequisite status

This PR remains Draft while the generated-cache owner PR #295 and its protected safety prerequisites remain Proposed and unmerged. Parent-handle checks reduce a reproduced gap; they do not prove exclusion of arbitrary late writers. Atomic no-replace restoration and current-head validation remain acceptance work. Unique changes are preserved through normal non-force parent integration; this status change is not a close or a shipped-safety claim.

@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Devin Review found 1 new potential issue.

⚠️ 1 issue in files not directly in the diff

⚠️ Partial deletions appear unexecuted

When an exact-delete command removes some candidates before returning nonzero, executed becomes false despite the completed mutations. Audit consumers can treat a destructive attempt as harmless failure.

Devin Review

@seonghobae
seonghobae marked this pull request as draft September 6, 2026 15:55
@seonghobae seonghobae added bug Something isn't working priority: medium Normal-priority or P2 work status: draft Draft pull request type: bug Defect or incorrect behavior labels Sep 7, 2026 — with ChatGPT Codex Connector
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working priority: medium Normal-priority or P2 work status: draft Draft pull request type: bug Defect or incorrect behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant