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 →What happened
ARJ handling now validates listed members before extraction, fails closed on listing errors, and uses 7-Zip; the maintainer merged the repair.
Reported by philpem — GitHubHow 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.
Where a person stepped in
Maintainer philpem reviewed the proposal, discussed its ARJ implementation, and merged the change; the public record shows passing checks.
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 1 Oct 2026
Source checked 14 Oct 2026
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.