Make audit output readable and review Chromium sandbox setuid #6

Merged
mathieu merged 1 commit from fix/issue-5-human-output-setuid into main 2026-08-29 12:25:31 +00:00
Owner

Fixes #5

Summary

  • render audit results as a structured human-readable report with an explicit action;
  • show both the model assessment and medium-risk findings before asking for confirmation;
  • keep interactive terminals compact while preserving the complete v1 machine result whenever stdout is redirected, through --json, and in saved reports;
  • classify only the exact single-target brave-bin command chmod 4755 "$pkgdir/opt/brave-bin/chrome-sandbox" as medium review instead of an automatic high-risk block;
  • keep all unknown setuid/setgid and file-capability operations at high risk.

The Brave exception does not let the LLM lower deterministic risk. It is a narrow static classification from high to medium and therefore still requires explicit human approval.

Verification

  • PYTHONPATH=src python3 -W error -m unittest discover -s tests -v — 35 tests pass
  • bash -n aur/PKGBUILD packaging/PKGBUILD.template — passes
  • python3 -m compileall -q src tests — passes
  • git diff --check — passes
  • rendered a Brave-like fixture: aggregate risk is medium, decision is review, and the interactive machine line is compact

Risk controls

  • a second or additional setuid target remains high risk;
  • the exception requires package base brave-bin and the exact /opt/brave-bin/chrome-sandbox target;
  • chmod 2755, chmod u+s, chmod a+s, chmod -- 4755, leading-zero modes, privileged install -m... forms, and setcap remain high risk;
  • medium risk caused only by the model still explains the model summary before prompting;
  • redirected output retains the full v1 machine-result payload;
  • terminal control characters, including newlines from untrusted model text, are escaped.
Fixes #5 ## Summary - render audit results as a structured human-readable report with an explicit action; - show both the model assessment and medium-risk findings before asking for confirmation; - keep interactive terminals compact while preserving the complete v1 machine result whenever stdout is redirected, through `--json`, and in saved reports; - classify only the exact single-target `brave-bin` command `chmod 4755 "$pkgdir/opt/brave-bin/chrome-sandbox"` as medium review instead of an automatic high-risk block; - keep all unknown setuid/setgid and file-capability operations at high risk. The Brave exception does **not** let the LLM lower deterministic risk. It is a narrow static classification from high to medium and therefore still requires explicit human approval. ## Verification - `PYTHONPATH=src python3 -W error -m unittest discover -s tests -v` — 35 tests pass - `bash -n aur/PKGBUILD packaging/PKGBUILD.template` — passes - `python3 -m compileall -q src tests` — passes - `git diff --check` — passes - rendered a Brave-like fixture: aggregate risk is `medium`, decision is review, and the interactive machine line is compact ## Risk controls - a second or additional setuid target remains high risk; - the exception requires package base `brave-bin` and the exact `/opt/brave-bin/chrome-sandbox` target; - `chmod 2755`, `chmod u+s`, `chmod a+s`, `chmod -- 4755`, leading-zero modes, privileged `install -m...` forms, and `setcap` remain high risk; - medium risk caused only by the model still explains the model summary before prompting; - redirected output retains the full v1 machine-result payload; - terminal control characters, including newlines from untrusted model text, are escaped.
hephaistos force-pushed fix/issue-5-human-output-setuid from 3253367635 to beae7f34eb 2026-08-29 03:56:44 +00:00 Compare
hephaistos force-pushed fix/issue-5-human-output-setuid from beae7f34eb to 4b168e7d49 2026-08-29 03:58:25 +00:00 Compare
mathieu approved these changes 2026-08-29 12:25:26 +00:00
mathieu deleted branch fix/issue-5-human-output-setuid 2026-08-29 12:25:32 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
2027a/paru-llm-audit!6
No description provided.