
PEACH
Uma estrutura de isolamento de inquilino
README says the agent "never gets a shell, never reads evidence or writes the workspace outside the audit log". Two gaps undercut that boundary. An agent that is steered by content inside hostile evidence (prompt injection) can use them.
-:run_clamav: ["clamscan", "-r", "--no-summary", target_path]run_strings, run_hashdeep, run_exiftool, run_ssdeep (extract/misc.py)yara scans (yara.py)run_mmls (extract/tsk.py)log2timeline (extract/plaso.py)
A path such as --log=/any/file becomes a flag.path_policy.resolve_allowed_path guards only list_directory and read_evidence_file, plus extract_to of extract_archive. Most other path-taking tools pass the raw string to the filesystem or a subprocess.evidence_root, which the agent itself sets through scan_evidence(evidence_path) without validation.Tested against main @ 10628fa with ClamAV 1.5.4, calling the real tool functions on a temporary case:
| Call | Result |
|---|---|
run_clamav(target_path="--log=<outside>/written-by-clamscan.log") | success; the log file is created outside every allowed root (and clamscan scans the server's working directory instead) |
run_clamav(target_path="--remove=yes") with an EICAR file in the server's cwd | success; the file is deleted |
read_evidence_file("/etc/hostname") | Access denied: path is outside allowed directories |
run_strings(target_path="/etc/hostname") | success; the host file is indexed and readable via search/get_raw_output |
scan_evidence("/etc", case_id="x"), then read_evidence_file("/etc/hostname") | success; the agent chose its own root |
A prompt-injected agent gets file write/append and deletion primitives through clamscan (--log, --remove, --move, --copy), plus the equivalent flags of the other tools. It can also read host files through any unguarded tool. Every call is still audited, but nothing prevents it.
The fix branch I will push to the temporary private fork handles part 1:
helpers.cli_path() rewrites a leading - to ./-….clamscan (--log= no longer creates a file).
Part 2 is a design choice for the maintainer, so I did not change it. Options:resolve_allowed_path to every path-taking tool.evidence_root from the CLI (for example alongside MULDER_CASE_ID) instead of taking it from scan_evidence.Origem: NVD
Avaliação Gratuita de Vulnerabilidades
Avalie suas práticas de segurança em nuvem em 9 domínios de segurança para avaliar seu nível de risco e identificar lacunas em suas defesas.
Marque uma demonstração personalizada
"A melhor experiência do usuário que eu já vi, fornece visibilidade total para cargas de trabalho na nuvem."
"A Wiz fornece um único painel de vidro para ver o que está acontecendo em nossos ambientes de nuvem."
"Sabemos que se a Wiz identifica algo como crítico, na verdade é."