5 Commits

Author SHA1 Message Date
Claudio Ortolina 8127eccd41 Reduce sensitive paths guard to paths in actual use in this application 2026-05-22 23:47:20 +01:00
Claudio Ortolina a88c704fe5 ML-175: parse bash commands structurally via unbash
Replace regex-based command blocking with structural AST parsing
using unbash (zero-dependency TypeScript bash parser). The walker
collects command names only from executable positions (simple
commands, pipelines, subshells, command substitutions, control-flow
bodies), excluding arguments, comments, and quoted strings.

- Convert to directory-style extension with pinned unbash@3.0.0
- Add AST walker (ast.ts) covering 15 shell construct types
- Update blocked_commands to plain names instead of regexes
- Keep regex fallback for parse failures (degradation path)
- Path-based blocking unchanged for non-bash tools
- 41 tests cover blocked/allowed cases including false positives
2026-05-11 17:42:48 +01:00
Claudio Ortolina a425327162 Remove unnecessary blocked command 2026-05-09 19:01:28 +01:00
Claudio Ortolina 7bf89d9a1d Run prettier on .pi folder 2026-05-04 21:21:10 +01:00
Claudio Ortolina 5981970039 ML-157: implementation and configuration 2026-05-03 16:33:23 +01:00