Peter Steinberger
6a42d09129
refactor: dedupe gateway config and infra flows
2026-03-03 00:15:14 +00:00
Peter Steinberger
21d6d878ce
fix: harden exec allowlist regex literal handling ( #32162 ) (thanks @stakeswky)
2026-03-02 21:26:24 +00:00
User
8da8756f76
fix(exec): escape regex literals in allowlist path matching
2026-03-02 21:26:24 +00:00
Peter Steinberger
b1c30f0ba9
refactor: dedupe cli config cron and install flows
2026-03-02 19:57:33 +00:00
Peter Steinberger
d3e0c0b29c
test(gateway): dedupe gateway and infra test scaffolds
2026-03-02 07:13:10 +00:00
Peter Steinberger
a9ce6bd79b
refactor: dedupe exec wrapper denial plan and test setup
2026-02-25 00:43:29 +00:00
Peter Steinberger
57c9a18180
fix(security): block env depth-overflow approval bypass
2026-02-25 00:14:13 +00:00
Marcus Widing
0f0b2c0255
fix(exec): match bare * wildcard in allowlist entries ( #25082 )
...
The matchAllowlist() function skipped patterns without path separators
(/, \, ~), causing a bare "*" wildcard entry to never reach the glob
matcher. Since glob's single * maps to [^/]*, it would also fail against
absolute paths. Handle bare "*" as a special case that matches any
resolved executable path.
Closes #25082
2026-02-24 14:20:11 +00:00
Peter Steinberger
ffd63b7a2c
fix(security): trust resolved skill-bin paths in allowlist auto-allow
2026-02-24 03:12:43 +00:00
Peter Steinberger
64aab80201
test(exec): add regressions for safe-bin metadata and chain semantics
2026-02-24 03:10:19 +00:00
Peter Steinberger
90383e00e9
fix(security): harden autoAllowSkills exec matching
2026-02-24 02:53:47 +00:00
Peter Steinberger
3f923e8313
test: add env -S allowlist bypass regressions
2026-02-24 02:28:00 +00:00
Peter Steinberger
a1c4bf07c6
fix(security): harden exec wrapper allowlist execution parity
2026-02-24 01:52:17 +00:00
Peter Steinberger
cd919ebd2d
refactor(exec): unify wrapper resolution and split approvals tests
2026-02-22 23:20:09 +01:00
Peter Steinberger
24c954d972
fix(security): harden allow-always wrapper persistence
2026-02-22 22:55:33 +01:00
Peter Steinberger
64b273a71c
fix(exec): harden safe-bin trust and add explicit trusted dirs
2026-02-22 22:43:18 +01:00
Peter Steinberger
3f0b9dbb36
fix(security): block shell-wrapper line-continuation allowlist bypass
2026-02-22 22:36:29 +01:00
Peter Steinberger
47c3f742b6
fix(exec): require explicit safe-bin profiles
2026-02-22 12:58:55 +01:00
Peter Steinberger
a96d89f343
refactor: unify exec wrapper resolution and parity fixtures
2026-02-22 10:26:44 +01:00
Peter Steinberger
2b63592be5
fix: harden exec allowlist wrapper resolution
2026-02-22 09:52:02 +01:00
Vignesh Natarajan
98b2b16ac3
Security/Exec: persist inner commands for shell-wrapper approvals
2026-02-21 21:26:20 -08:00
Brian Mendonca
21087c5c70
test: fix rebase-introduced tsgo regressions
2026-02-21 23:57:34 +01:00
Brian Mendonca
a186036814
test: fix latest tsgo inference regressions in test suites
2026-02-21 23:57:34 +01:00
Gustavo Madeira Santana
0e1aa77928
chore(tsgo/format): fix CI errors
2026-02-21 17:51:56 -05:00
Peter Steinberger
21b0eac917
test: consolidate infra approval and heartbeat test matrices
2026-02-21 22:23:43 +00:00
Peter Steinberger
1bc5c2a7e9
refactor: unify exec shell parser parity and gateway websocket test helpers
2026-02-21 23:17:12 +01:00
Peter Steinberger
89aad7b922
refactor: tighten safe-bin policy model and docs parity
2026-02-21 19:24:23 +01:00
Peter Steinberger
57fbbaebca
fix: block safeBins sort --compress-program bypass
2026-02-21 19:13:53 +01:00
Peter Steinberger
f23da067f6
fix(security): harden heredoc allowlist parsing
2026-02-21 14:27:51 +01:00
orlyjamie
92cada2aca
fix(security): block command substitution in unquoted heredoc bodies
...
The shell command analyzer (splitShellPipeline) skipped all token
validation while parsing heredoc bodies. When the heredoc delimiter
was unquoted, bash performs command substitution on the body content,
allowing $(cmd) and backtick expressions to execute arbitrary commands
that bypass the exec allowlist.
Track whether heredoc delimiters are quoted or unquoted. When unquoted,
scan the body for $( , ${ , and backtick tokens and reject the command.
Quoted heredocs (<<'EOF' / <<"EOF") are safe - the shell treats their
body as literal text.
Ref: https://github.com/openclaw/openclaw/security/advisories/GHSA-65rx-fvh6-r4h2
2026-02-21 14:27:35 +01:00
Peter Steinberger
c6ee14d60e
fix(security): block grep safe-bin file-read bypass
2026-02-21 11:18:29 +01:00
Peter Steinberger
a688ccf24a
refactor(security): unify safe-bin argv parsing and harden regressions
2026-02-19 16:04:58 +01:00
Peter Steinberger
165c18819e
refactor(security): simplify safe-bin validation structure
2026-02-19 14:33:58 +01:00
Peter Steinberger
fec48a5006
refactor(exec): split host flows and harden safe-bin trust
2026-02-19 14:22:01 +01:00
Peter Steinberger
bafdbb6f11
fix(security): eliminate safeBins file-existence oracle
2026-02-19 14:18:11 +01:00
Peter Steinberger
cfe8457a0f
fix(security): harden safeBins stdin-only enforcement
2026-02-19 14:10:45 +01:00
Peter Steinberger
b73a2de9f6
refactor(infra): reuse shared home prefix expansion
2026-02-18 17:48:02 +00:00
Peter Steinberger
ac0db68235
refactor(security): extract safeBins trust resolver
2026-02-18 05:01:31 +01:00
Peter Steinberger
28bac46c92
fix(security): harden safeBins path trust
2026-02-18 04:55:31 +01:00
cpojer
49bd9f75f4
chore: Fix types in tests 33/N.
2026-02-17 15:50:07 +09:00
Peter Steinberger
04892ee230
refactor(core): dedupe shared config and runtime helpers
2026-02-16 14:59:30 +00:00
Peter Steinberger
fdd0e78d1b
perf(test): fold exec approvals socket defaults into main suite
2026-02-16 00:18:27 +00:00
Peter Steinberger
513576b487
fix(test): disable safeBins expectations on Windows
2026-02-15 01:37:38 +00:00
Peter Steinberger
24d2c6292e
refactor(security): refine safeBins hardening
2026-02-14 19:59:13 +01:00
Peter Steinberger
77b89719d5
fix(security): block safeBins shell expansion
2026-02-14 19:44:14 +01:00
Marcus Castro
e90caa66d8
fix(exec): allow heredoc operator (<<) in allowlist security mode ( #13811 )
...
* fix(exec): allow heredoc operator (<<) in allowlist security mode
* fix: allow multiline heredoc parsing in exec approvals (#13811 ) (thanks @mcaxtr)
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-02-13 04:41:51 +01:00
George Pickett
141f551a4c
fix(exec-approvals): coerce bare string allowlist entries ( #9903 ) (thanks @mcaxtr)
2026-02-05 15:52:51 -08:00
Marcus Castro
6ff209e932
fix(exec-approvals): coerce bare string allowlist entries to objects ( #9790 )
2026-02-05 15:52:51 -08:00
Peter Steinberger
a7f4a53ce8
fix: harden Windows exec allowlist
2026-02-03 09:34:25 -08:00
Peter Steinberger
d1ecb46076
fix: harden exec allowlist parsing
2026-02-02 16:53:15 -08:00