How to use Codex to preflight ARJ archive paths
Codex changed ARJ extraction to validate archive members before disk writes, reject unsafe paths, and stop on listing failures, with maintainer review.
Suggested prompt
Suggested prompt written by Agents In Use, not the source author. Replace bracketed inputs and review tool permissions first.
Review our ARJ extraction path for writes that occur before validation. List archive members before extraction, reject traversal and absolute paths, fail closed when listing fails, and add regression cases for symlinks and safe archives. Present the patch and dependency changes for maintainer review.
Reach people exploring AI agents
See placements →Evidence at a glance
Sourced account- Source author
- philpem
- Original account
- Read the source ↗
- Published
- Source link checked
- Reported result
- ARJ handling now validates listed members before extraction, fails closed on listing errors, and uses 7-Zip; the maintainer merged the repair.
- Human involvement
- Maintainer philpem reviewed the proposal, discussed its ARJ implementation, and merged the change; the public record shows passing checks.
A linked account supports attribution. It does not mean we independently reproduced its result.
Report an issue with this case
Open correction emailOpens your email app with the case link included. Nothing is sent automatically.
How the agent did it
- Codex identified that ARJ extraction occurred before the project validated member paths.
- The patch listed members through 7-Zip and rejected unsafe destinations before extraction.
- It added focused failure cases and removed the unused native ARJ dependency.
Arcology’s ARJ support checked extracted files after the native extractor had already written them. That ordering mattered: finding a dangerous path afterward could not undo an earlier write outside the destination. A Codex Security pull request changed the boundary to inspect archive members before extraction.
The patch replaced the native ARJ path with a 7-Zip listing followed by member validation and extraction. Traversal paths, Unix absolute paths, and Windows drive paths were rejected. If listing failed, extraction stopped rather than proceeding with incomplete evidence. The Docker image also dropped the now-unused ARJ executable.
The public record includes focused cases for unsafe member paths, symlinks, listing failures, and safe dispatch, alongside Python checks. Maintainer philpem inspected the proposal, commented on discovering 7-Zip’s ARJ support, and merged it into master the same day.
The useful change is the order of operations: validate the proposed write set before a tool can touch disk. This record supports that particular extraction repair; it does not establish that every archive format or extractor in the project was audited.
Prompt
Suggested prompt (written by Agents In Use, not the author's)
Source: GitHub · philpem
Frequently asked questions
Why was the previous check too late?
It ran after the extractor could already write outside the destination.
What happens if listing fails?
Extraction stops; the patch does not treat an incomplete listing as safe.
Was the proposal accepted?
Yes. Maintainer philpem merged it into master on October 1.
More details
About this account
Codex identified that ARJ extraction occurred before the project validated member paths. The patch listed members through 7-Zip and rejected unsafe destinations before extraction.
Opened original PR and public API dates. Codex Security attribution appears in the PR body. Tests and merge are public source reports; no independent execution was performed. Suggested prompt written by Agents In Use; no original task prompt was published in the verified account.
Credit: philpem — GitHub
Source published
Added to Agents In Use
Source checked
Tools and topics
Codex Security · 7-Zip · Python · Docker
archive extraction · path traversal · regression tests
Editorial completeness: 100/100. Measures documented fields, not agent performance or verified outcomes.