extract_archive
Extract archive entries safely into a destination folder by validating paths and limits first, blocking traversal, symlink escapes, and decompression bombs before writing.
Instructions
Safely extract an archive (all of it, or selected members) into dest.
Everything is checked BEFORE the first byte is written; if anything is unsafe the whole call is refused and nothing is written. Refused: '..' traversal, absolute and drive-letter paths, backslash tricks, symlinks that point outside dest (or through a link), hardlinks, device/FIFO files, duplicate names, and decompression bombs (too large, too high a compression ratio, too many entries). Nested archives are NOT extracted.
members: names, directory prefixes ('src/') or globs ('*.txt'); use it to take only the safe entries from an archive that was refused. Existing files are never overwritten unless overwrite=true. dry_run=true validates and lists what would be written without touching the disk. symlinks='skip' (default) reports links instead of creating them; 'create' makes in-bounds links (needs privileges on Windows). If a failure happens mid-way, files created by this call are removed. max_total_mb / max_ratio / max_entries can only make the server's limits stricter, never looser.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dest | Yes | ||
| path | Yes | ||
| dry_run | No | ||
| members | No | ||
| encoding | No | ||
| password | No | ||
| symlinks | No | skip | |
| max_ratio | No | ||
| overwrite | No | ||
| max_entries | No | ||
| max_total_mb | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |