fix(security): Harden skill activation and loading flows

Harden batch activation, dev refresh gating, Microsoft sync path
handling, and Jetski skill loading against command injection,
symlink traversal, and client-side star tampering.

Add regression coverage for the security-sensitive paths and
update the internal triage addendum for the Jetski loader fix.
This commit is contained in:
sickn33
2026-03-18 18:49:15 +01:00
parent 55033462ff
commit 4883b0dbb4
21 changed files with 410 additions and 96 deletions

View File

@@ -0,0 +1,20 @@
const assert = require("assert");
const fs = require("fs");
const path = require("path");
const repoRoot = path.resolve(__dirname, "../..", "..");
const batchScript = fs.readFileSync(
path.join(repoRoot, "scripts", "activate-skills.bat"),
"utf8",
);
assert.doesNotMatch(
batchScript,
/for %%s in \(!ESSENTIALS!\) do \(/,
"activate-skills.bat must not iterate untrusted skills with tokenized FOR syntax",
);
assert.match(
batchScript,
/for \/f .*%%s in \("%SKILLS_LIST_FILE%"\) do \(/i,
"activate-skills.bat should read one validated skill id per line from the temp file",
);