fix(repo-fleet-hygiene): disclose skipped intermediate symlink dirs (#2711) - #2769
Conversation
Discovery still does not follow symlinks or Windows junctions, but each skipped intermediate path is now an UNKNOWN discovery-symlink-skip finding and counted on the Discovery skips header (#2711). Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
Claude finished @kyle-sexton's task in 1m 26s —— View job Security review complete ✅
No security issues found in this PR. Scope reviewed: What the change does: audit-fleet.sh#L1219-L1227 reworks the Checked specifically for the failure modes this kind of change usually introduces:
Given the diff only changes disclosure behavior in a read-only discovery walk, and non-descent into symlinks is unchanged and test-covered, there's no exploitable path in this change. |
|
Claude finished @kyle-sexton's task in 2m 51s —— View job Code review —
|
|
Last security-reviewed head: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7da900a555
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Claude has reviewed this PR 2 times. The lane skips further automatic reviews after 5; deleting this comment resets the count. |
ShellCheck SC2249 required a default case on the discovery name filter. Fleet-level discovery-symlink-skip (and other idx=-1 UNKNOWN) findings already printed as BLOCKED but were excluded from fleet_blocked, so a symlink-only root could still report Fleet verdict CLEAN. Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
|
Claude finished @cursor[bot]'s task in 3m 3s —— View job Code review —
|
Closes #2711
Summary
Discovery under
--rootstill does not follow symbolic links or Windows directory junctions, but skipped intermediate paths are no longer silent — they become visibleUNKNOWNfindings and appear on the discovery-skips header.Fix
DISCOVERY_SYMLINK_PATHSduringdiscover_repositoriesand emitdiscovery-symlink-skipfindings (evidence notes that Windows junctions test as symlinks under Git Bash).Discovery skips:header with a symlink count.security-review.md,confidence-model.md, and skill prose so the non-following bound is disclosed rather than sounding complete-and-silent.repo-fleet-hygieneto 0.22.5 with CHANGELOG entry.stale-config-entry); unchanged.Verification
bash scripts/check-fleet-finding-test-coverage.sh --check— passed (40 kinds)bash plugins/repo-fleet-hygiene/skills/audit/scripts/audit-fleet.test.sh— all collector tests passed, includingintermediate symlink under --root is disclosed without descendingbash scripts/check-changelog-parity.sh --checkand--check-bump origin/mainRelated
Refs #2711 (closed by keyword above)