fix: resolve nested PowerShell command tokens

This commit is contained in:
haelyra
2026-09-05 17:38:20 -04:00
parent cb5311222d
commit 99668f0ef5
4 changed files with 16 additions and 7 deletions
@@ -470,6 +470,7 @@ test('classifies static execution primitives', () => {
"$payload = 'Remove-Item -Force C:/tmp/demo'; pwsh -Command \"Write-Output ready; $payload\"",
"$payload = 'Remove-Item -Force C:/tmp/demo'; pwsh -Command \"Write-Output ready; $($payload)\"",
"$payload = 'Remove-Item -Force C:/tmp/demo'; pwsh -Command:$payload",
"$payload = 'Remove-Item'; pwsh -Command $payload -Force C:/tmp/demo",
"$payload = \"Remove-Item `\n-Force C:/tmp/demo\"; pwsh -Command $payload",
]) {
expectRules(command, [RULES.REMOVE_FORCE]);
@@ -482,6 +483,9 @@ test('classifies static execution primitives', () => {
expectRules('pwsh -Command "Write-Output ready; $($runtimeValue)"', [
RULES.DYNAMIC_EXECUTION,
]);
expectRules('pwsh -Command $runtimeValue -Force C:/tmp/demo', [
RULES.DYNAMIC_EXECUTION,
]);
expectSafe("$payload = 'Remove-Item -Force C:/tmp/demo'; pwsh -Command '$payload'");
expectSafe("$payload = 'Remove-Item -Force C:/tmp/demo'; pwsh -Command \"Write-Output `$payload\"");
expectSafe("$payload = 'Remove-Item -Force C:/tmp/demo'; pwsh -Command:`$payload");