In confined evaluation runs, publishing re-checks a file's identity before reading it.
What's wrong with this entry?
In confined evaluation runs, publishing an artifact from a local file now re-opens the file by descriptor and confirms it is not a symlink, has exactly one hard link, and still has the inode and device seen earlier, before reading any bytes. A mismatch throws source_unverified.
- Closes the window between checking a file and reading it, where the path could be swapped.
- Only runs when
CLAUDE_CODE_EVAL_CONFINEDis set; otherwise the file is read directly as before.
a.CLAUDE_CODE_EVAL_CONFINED
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.
-
v2.1.234
plugin evalno longer swallows piped inputBoth mention eval
-
v2.1.234
Plugin eval reference documents image grading and new exit codes
Both mention eval
-
v2.1.234
claude plugin evalhandles termination signals and cleans up its outputBoth mention eval