You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Runtime-decoded command bypasses (malicious skill example that bypasses this static detection model) #478
The problem is that the scanner does not detect commands that are encoded and decoded at runtime. The _sk_dec function reconstructs the command, bypassing the static detection. I would first look into enhancing the scanner to evaluate and deobfuscate such patterns. This could involve analyzing byte sequences and decoding functions to identify potential command reconstructions. I would test the fix by ensuring both the original and variant commands trigger the same detection.
The problem is that the scanner does not detect encoded commands that are decoded at runtime. I will first look into the part of the code responsible for command detection. Specifically, I will examine how it processes string literals. A small fix would involve adding a step to evaluate or deobfuscate these encoded expressions before the detection logic runs. To prove the fix, I will test both the original and the encoded variants to ensure they trigger the same detection.
Implementation is in progress in PR #546, currently covering literal XOR-decoded command reconstruction. Keeping the broader runtime-decoding issue open until the PR merges and its exact covered scope is verified against the report.
Resolution verification: PR #546 merged and automatically closed this issue. Current main at 844ac30 statically reconstructs literal byte arrays passed to the supported local XOR-helper shape and applies SC2 to the recovered command. The literal-XOR, Unicode-line-separator, and malformed-helper regression tests pass.
This supersedes the earlier in-progress comment. The fix addresses the statically recoverable XOR case reported here; it does not claim arbitrary dynamic runtime evaluation. It is merged on main but not yet included in the latest published release, v2.11.2.
Activity
modelpath-dev commentedon Sep 6, 2026
I will take this issue. Please assign it to me.
The problem is that the scanner does not detect commands that are encoded and decoded at runtime. The
_sk_decfunction reconstructs the command, bypassing the static detection. I would first look into enhancing the scanner to evaluate and deobfuscate such patterns. This could involve analyzing byte sequences and decoding functions to identify potential command reconstructions. I would test the fix by ensuring both the original and variant commands trigger the same detection.modelpath-dev commentedon Sep 6, 2026
I will take this issue. Please assign it to me.
The problem is that the scanner does not detect encoded commands that are decoded at runtime. I will first look into the part of the code responsible for command detection. Specifically, I will examine how it processes string literals. A small fix would involve adding a step to evaluate or deobfuscate these encoded expressions before the detection logic runs. To prove the fix, I will test both the original and the encoded variants to ensure they trigger the same detection.
2002lcy0401 commentedon Sep 7, 2026
@hartsock @rodboev hello,please assign it to @modelpath-dev .
rng1995 commentedon Sep 16, 2026
Implementation is in progress in PR #546, currently covering literal XOR-decoded command reconstruction. Keeping the broader runtime-decoding issue open until the PR merges and its exact covered scope is verified against the report.
rng1995 commentedon Sep 22, 2026
Resolution verification: PR #546 merged and automatically closed this issue. Current
mainat844ac30statically reconstructs literal byte arrays passed to the supported local XOR-helper shape and applies SC2 to the recovered command. The literal-XOR, Unicode-line-separator, and malformed-helper regression tests pass.This supersedes the earlier in-progress comment. The fix addresses the statically recoverable XOR case reported here; it does not claim arbitrary dynamic runtime evaluation. It is merged on
mainbut not yet included in the latest published release, v2.11.2.