Agents In Use
What’s new todayLast update
108 use cases added today

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.

Source published github.comAgent: Codex
OUR ADAPTATION

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.

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 caseOpen correction email

Opens your email app with the case link included. Nothing is sent automatically.

How the agent did it

  1. Codex identified that ARJ extraction occurred before the project validated member paths.
  2. The patch listed members through 7-Zip and rejected unsafe destinations before extraction.
  3. 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.