zara-shell: reject non-mapping environment payloads #138

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

Follow-up to #5.

ShellRunner.run() currently normalizes env with env or {}. Falsey non-mapping values such as [], "", 0, and False are silently accepted as an empty environment, while other non-mappings can leak implementation exceptions. Structured tool inputs must fail closed before execution.

Acceptance:

  • deterministic RED proves falsey/truthy non-mapping env payloads are rejected before process creation;
  • rejection is a useful ShellError;
  • None continues to mean no extra environment and valid mappings retain existing allowlist/byte bounds;
  • full registry/source+installed compatibility/plugin/package gate stays green.
Follow-up to #5. `ShellRunner.run()` currently normalizes `env` with `env or {}`. Falsey non-mapping values such as `[]`, `""`, `0`, and `False` are silently accepted as an empty environment, while other non-mappings can leak implementation exceptions. Structured tool inputs must fail closed before execution. Acceptance: - deterministic RED proves falsey/truthy non-mapping env payloads are rejected before process creation; - rejection is a useful `ShellError`; - `None` continues to mean no extra environment and valid mappings retain existing allowlist/byte bounds; - full registry/source+installed compatibility/plugin/package gate stays green.
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#138
No description provided.