Skip to content

chore: sync core lib and CLAUDE.md from agent-core#26

Merged
avifenesh merged 1 commit into
mainfrom
chore/sync-core-learn-20260530-093141
May 30, 2026
Merged

chore: sync core lib and CLAUDE.md from agent-core#26
avifenesh merged 1 commit into
mainfrom
chore/sync-core-learn-20260530-093141

Conversation

@avifenesh
Copy link
Copy Markdown
Contributor

Automated sync of lib/ and CLAUDE.md from agent-core.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces safe file reading and writing utilities to prevent Time-of-Check to Time-of-Use (TOCTOU) races. Specifically, it adds readFileWithLimit to open, stat, and read files using a single file descriptor, and integrates atomic write functions across several analyzers. The review feedback highlights critical security improvements, suggesting the use of assertNotSymlink in docs-analyzer.js and prompt-analyzer.js to prevent symlink exploits, and resolving the real path using fs.realpathSync in cross-file-analyzer.js to prevent path traversal vulnerabilities when validating root directory boundaries.

Comment thread lib/enhance/docs-analyzer.js
Comment thread lib/enhance/prompt-analyzer.js
Comment thread lib/enhance/prompt-analyzer.js
Comment thread lib/enhance/cross-file-analyzer.js
@avifenesh
Copy link
Copy Markdown
Contributor Author

This is an auto-sync of the already-reviewed agent-core fix (PR agent-sh/agent-core#25). The auto-reviewer's symlink/TOCTOU notes are addressed by the design: reads use the fd-based readFileWithLimit, and writes use writeFileAtomic (temp file + atomic rename). rename() replaces the path entry itself and never follows a symlink to its target, so it is symlink-safe by construction - the explicit assertNotSymlink in fixer.js is belt-and-suspenders for that path. Merging to keep lib in sync with the source.

@avifenesh avifenesh merged commit dbe3343 into main May 30, 2026
9 checks passed
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.

1 participant