zara-shell: reject non-string allowlist and root configuration #152

Closed
opened 2026-09-08 02:03:05 +00:00 by nsaspy · 0 comments
Owner

Problem

ZaraShellPlugin._string_list() currently coerces arbitrary sequence items with str(item). That turns malformed configuration such as integer/bool allowed_programs or allowed_roots entries into strings instead of rejecting them. This weakens the typed policy boundary and can hide operator mistakes.

Required behavior

  • deterministic RED proving non-string items are rejected;
  • require every allowed_programs and allowed_roots item to already be a string;
  • continue rejecting empty/blank values;
  • no change to approval or argv execution semantics;
  • plugin tests, compatibility gates and Nix/package checks green.

This is a local dependency-ready slice toward #5; cancellation remains separately blocked on Zara Core #388.

## Problem `ZaraShellPlugin._string_list()` currently coerces arbitrary sequence items with `str(item)`. That turns malformed configuration such as integer/bool `allowed_programs` or `allowed_roots` entries into strings instead of rejecting them. This weakens the typed policy boundary and can hide operator mistakes. ## Required behavior - deterministic RED proving non-string items are rejected; - require every `allowed_programs` and `allowed_roots` item to already be a string; - continue rejecting empty/blank values; - no change to approval or argv execution semantics; - plugin tests, compatibility gates and Nix/package checks green. This is a local dependency-ready slice toward #5; cancellation remains separately blocked on Zara Core #388.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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
nsaspy/zara-plugins#152
No description provided.