specweave 1.0.305 → 1.0.306

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"security-scanner.d.ts","sourceRoot":"","sources":["../../../../src/core/fabric/security-scanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,wBAAwB,EAAyB,MAAM,sBAAsB,CAAC;AA4UvF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB,CA2D1E"}
1
+ {"version":3,"file":"security-scanner.d.ts","sourceRoot":"","sources":["../../../../src/core/fabric/security-scanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,wBAAwB,EAAyB,MAAM,sBAAsB,CAAC;AAsbvF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB,CA8D1E"}
@@ -3,6 +3,10 @@
3
3
  * Detects destructive commands, remote code execution, credential access,
4
4
  * prompt injection, frontmatter issues, and network access patterns.
5
5
  */
6
+ /** Safe DCI patterns — the canonical skill-memories lookup */
7
+ const SAFE_DCI_CONTEXTS = [
8
+ /^!\s*`for\s+d\s+in\s+\.specweave\/skill-memories/,
9
+ ];
6
10
  /** Temp-dir path patterns (reused across short-form and long-form rm) */
7
11
  const TEMP_DIR_PATTERNS = [
8
12
  /\$\{?TMPDIR\}?/i,
@@ -253,6 +257,106 @@ const PATTERN_CHECKS = [
253
257
  category: 'remote-code-execution',
254
258
  message: 'new Function() constructor detected (dynamic code generation)',
255
259
  },
260
+ // --- DCI Block Abuse (critical) ---
261
+ // DCI blocks are shell commands in SKILL.md executed via ! prefix.
262
+ {
263
+ pattern: /^!\s*`[^`]*(?:~\/\.ssh\/|~\/\.aws\/|\.env\b|\.gnupg\/)/,
264
+ severity: 'critical',
265
+ category: 'dci-abuse',
266
+ message: 'DCI block reads credential files (~/.ssh/, ~/.aws/, .env)',
267
+ safeContexts: SAFE_DCI_CONTEXTS,
268
+ },
269
+ {
270
+ pattern: /^!\s*`[^`]*\b(?:curl|wget)\b/,
271
+ severity: 'critical',
272
+ category: 'dci-abuse',
273
+ message: 'DCI block uses curl/wget for network access',
274
+ safeContexts: SAFE_DCI_CONTEXTS,
275
+ },
276
+ {
277
+ pattern: /^!\s*`[^`]*\b(?:fetch|nc|ncat|netcat)\b/,
278
+ severity: 'critical',
279
+ category: 'dci-abuse',
280
+ message: 'DCI block uses fetch or netcat for network access',
281
+ safeContexts: SAFE_DCI_CONTEXTS,
282
+ },
283
+ {
284
+ pattern: /^!\s*`[^`]*(?:>\s*.*(?:CLAUDE\.md|AGENTS\.md|\.claude\/|\.specweave\/))/,
285
+ severity: 'critical',
286
+ category: 'dci-abuse',
287
+ message: 'DCI block writes to agent config files (CLAUDE.md, AGENTS.md, .claude/)',
288
+ safeContexts: SAFE_DCI_CONTEXTS,
289
+ },
290
+ {
291
+ pattern: /^!\s*`[^`]*(?:tee|sed\s+-i|echo\s+.*>>)\s*.*(?:CLAUDE\.md|AGENTS\.md|\.claude\/)/,
292
+ severity: 'critical',
293
+ category: 'dci-abuse',
294
+ message: 'DCI block modifies agent config via tee/sed/echo append',
295
+ safeContexts: SAFE_DCI_CONTEXTS,
296
+ },
297
+ {
298
+ pattern: /^!\s*`[^`]*\b(?:base64\s+(?:-[dD]|--decode)|atob\s*\()/,
299
+ severity: 'critical',
300
+ category: 'dci-abuse',
301
+ message: 'DCI block contains base64 decoding (obfuscation)',
302
+ safeContexts: SAFE_DCI_CONTEXTS,
303
+ },
304
+ {
305
+ pattern: /^!\s*`[^`]*\\x[0-9a-fA-F]{2}(?:\\x[0-9a-fA-F]{2}){3,}/,
306
+ severity: 'critical',
307
+ category: 'dci-abuse',
308
+ message: 'DCI block contains hex escape sequences (obfuscation)',
309
+ safeContexts: SAFE_DCI_CONTEXTS,
310
+ },
311
+ {
312
+ pattern: /^!\s*`[^`]*\beval\b/,
313
+ severity: 'critical',
314
+ category: 'dci-abuse',
315
+ message: 'DCI block uses eval for code execution',
316
+ safeContexts: SAFE_DCI_CONTEXTS,
317
+ },
318
+ {
319
+ pattern: /^!\s*`[^`]*\b(?:curl|wget)\b[^`]*\|\s*(?:ba|z|da|k)?sh\b/,
320
+ severity: 'critical',
321
+ category: 'dci-abuse',
322
+ message: 'DCI block pipes downloaded content to shell (download-and-execute)',
323
+ safeContexts: SAFE_DCI_CONTEXTS,
324
+ },
325
+ {
326
+ pattern: /^!\s*`[^`]*(?:\/dev\/tcp\/|bash\s+-i\s+>&|mkfifo|nc\s+-[a-z]*e)/,
327
+ severity: 'critical',
328
+ category: 'dci-abuse',
329
+ message: 'DCI block establishes a reverse shell connection',
330
+ safeContexts: SAFE_DCI_CONTEXTS,
331
+ },
332
+ {
333
+ pattern: /^!\s*`[^`]*\bsudo\b/,
334
+ severity: 'critical',
335
+ category: 'dci-abuse',
336
+ message: 'DCI block uses sudo for privilege escalation',
337
+ safeContexts: SAFE_DCI_CONTEXTS,
338
+ },
339
+ {
340
+ pattern: /^!\s*`[^`]*\brm\s+-[a-zA-Z]*r[a-zA-Z]*f/,
341
+ severity: 'critical',
342
+ category: 'dci-abuse',
343
+ message: 'DCI block executes destructive rm -rf command',
344
+ safeContexts: SAFE_DCI_CONTEXTS,
345
+ },
346
+ {
347
+ pattern: /^!\s*`[^`]*(?:cat|less|head|tail|strings)\s+[^`]*(?:~\/\.|\/home\/[^`]*\.)/,
348
+ severity: 'critical',
349
+ category: 'dci-abuse',
350
+ message: 'DCI block reads from home directory sensitive paths',
351
+ safeContexts: SAFE_DCI_CONTEXTS,
352
+ },
353
+ {
354
+ pattern: /^!\s*`[^`]*(?:cat|tar|zip)\s+[^|`]*\|\s*(?:curl|wget|nc)\b/,
355
+ severity: 'critical',
356
+ category: 'dci-abuse',
357
+ message: 'DCI block pipes local data to a network command',
358
+ safeContexts: SAFE_DCI_CONTEXTS,
359
+ },
256
360
  // --- Network access (info) ---
257
361
  {
258
362
  pattern: /\bfetch\s*\(/,
@@ -345,8 +449,11 @@ export function scanSkillContent(content) {
345
449
  if (isSafe)
346
450
  continue;
347
451
  }
348
- // Downgrade severity inside balanced fenced code blocks only
349
- const severity = (inCodeBlock && codeBlocksBalanced) ? 'info' : check.severity;
452
+ // Downgrade severity inside balanced fenced code blocks only.
453
+ // DCI-abuse findings are NEVER downgraded DCI blocks execute even inside code fences.
454
+ const severity = (inCodeBlock && codeBlocksBalanced && check.category !== 'dci-abuse')
455
+ ? 'info'
456
+ : check.severity;
350
457
  findings.push({
351
458
  severity,
352
459
  category: check.category,
@@ -1 +1 @@
1
- {"version":3,"file":"security-scanner.js","sourceRoot":"","sources":["../../../../src/core/fabric/security-scanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,yEAAyE;AACzE,MAAM,iBAAiB,GAAG;IACxB,iBAAiB;IACjB,cAAc;IACd,UAAU;IACV,aAAa;CACd,CAAC;AAEF,8DAA8D;AAC9D,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAE3G,kEAAkE;AAClE,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,wCAAwC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAWvI,MAAM,cAAc,GAAmB;IACrC,0CAA0C;IAC1C;QACE,OAAO,EAAE,sEAAsE;QAC/E,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,kDAAkD;QAC3D,YAAY,EAAE,gBAAgB;KAC/B;IACD;QACE,OAAO,EAAE,uCAAuC;QAChD,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,mDAAmD;QAC5D,YAAY,EAAE,0BAA0B;KACzC;IACD;QACE,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,8BAA8B;KACxC;IACD;QACE,OAAO,EAAE,8BAA8B;QACvC,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,6BAA6B;KACvC;IACD;QACE,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,+BAA+B;KACzC;IACD;QACE,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,yCAAyC;KACnD;IACD;QACE,OAAO,EAAE,sEAAsE;QAC/E,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,iDAAiD;KAC3D;IAED,2CAA2C;IAC3C;QACE,OAAO,EAAE,4BAA4B;QACrC,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,4CAA4C;KACtD;IACD;QACE,OAAO,EAAE,4BAA4B;QACrC,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,4CAA4C;KACtD;IACD;QACE,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,sBAAsB;KAChC;IACD;QACE,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,sBAAsB;KAChC;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,8BAA8B;KACxC;IACD;QACE,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,+DAA+D;KACzE;IAED,mCAAmC;IACnC;QACE,OAAO,EAAE,+DAA+D;QACxE,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,2CAA2C;KACrD;IACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,qCAAqC;KAC/C;IACD;QACE,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,mCAAmC;KAC7C;IACD;QACE,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,gCAAgC;KAC1C;IACD;QACE,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,uCAAuC;KACjD;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,mCAAmC;KAC7C;IAED,uCAAuC;IACvC;QACE,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,iDAAiD;KAC3D;IAED,kCAAkC;IAClC;QACE,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,kDAAkD;KAC5D;IACD;QACE,OAAO,EAAE,uCAAuC;QAChD,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,4DAA4D;KACtE;IACD;QACE,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,qDAAqD;QAC9D,YAAY,EAAE;YACZ,oKAAoK;SACrK;KACF;IACD;QACE,OAAO,EAAE,iCAAiC;QAC1C,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,sDAAsD;KAChE;IAED,iCAAiC;IACjC;QACE,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,uDAAuD;KACjE;IACD;QACE,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,uDAAuD;KACjE;IACD;QACE,OAAO,EAAE,+BAA+B;QACxC,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,8DAA8D;KACxE;IACD;QACE,OAAO,EAAE,0CAA0C;QACnD,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,sDAAsD;KAChE;IACD;QACE,OAAO,EAAE,8BAA8B;QACvC,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,gDAAgD;KAC1D;IAED,wCAAwC;IACxC;QACE,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,yCAAyC;KACnD;IACD;QACE,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,qDAAqD;KAC/D;IACD;QACE,OAAO,EAAE,sCAAsC;QAC/C,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,4CAA4C;KACtD;IAED,sCAAsC;IACtC;QACE,OAAO,EAAE,kEAAkE;QAC3E,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,8DAA8D;KACxE;IACD;QACE,OAAO,EAAE,qDAAqD;QAC9D,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,sDAAsD;KAChE;IAED,mCAAmC;IACnC;QACE,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,oDAAoD;KAC9D;IAED,2CAA2C;IAC3C;QACE,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,wCAAwC;KAClD;IAED,kCAAkC;IAClC;QACE,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,+DAA+D;KACzE;IAED,gCAAgC;IAChC;QACE,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,uBAAuB;KACjC;IACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,0BAA0B;KACpC;IACD;QACE,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,sBAAsB;KAChC;IACD;QACE,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,iCAAiC;KAC3C;CACF,CAAC;AAEF;;;GAGG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC3C,0DAA0D;IAC1D,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACtE,IAAI,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,mDAAmD;IACnD,MAAM,oBAAoB,GAAG,CAAC,CAAC;IAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACjC,4CAA4C;QAC5C,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAClC,OAAO;gBACL,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,mBAAmB;gBAC7B,OAAO,EAAE,gEAAgE;gBACzE,IAAI,EAAE,oBAAoB,GAAG,CAAC;aAC/B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,oCAAoC;IACpC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,kBAAkB,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACpC,CAAC;IAED,sDAAsD;IACtD,oFAAoF;IACpF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,MAAM,kBAAkB,GAAG,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC;IAEhD,wCAAwC;IACxC,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QAEtB,kEAAkE;QAClE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,WAAW,GAAG,CAAC,WAAW,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,wDAAwD;QACxD,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,IAAI,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,SAAS;QACX,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,0DAA0D;gBAC1D,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC9D,IAAI,MAAM;wBAAE,SAAS;gBACvB,CAAC;gBAED,6DAA6D;gBAC7D,MAAM,QAAQ,GAAG,CAAC,WAAW,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAe,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAExF,QAAQ,CAAC,IAAI,CAAC;oBACZ,QAAQ;oBACR,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,OAAO;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC;QAC/E,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"security-scanner.js","sourceRoot":"","sources":["../../../../src/core/fabric/security-scanner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "1.0.305",
3
+ "version": "1.0.306",
4
4
  "description": "Spec-driven development framework for AI coding agents. Works with Claude Code, Codex, Antigravity, Cursor, Copilot & more. 100+ skills, 49 CLI commands, verified skill certification, autonomous execution, and living documentation.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -95,7 +95,7 @@ else
95
95
  fi
96
96
 
97
97
  # ==============================================================================
98
- # EARLY EXIT FOR BUILT-IN SLASH COMMANDS (v1.0.280)
98
+ # EARLY EXIT FOR BUILT-IN SLASH COMMANDS (v1.0.280, fixed v1.0.305)
99
99
  # ==============================================================================
100
100
  # Claude Code has built-in slash commands (/context, /help, /clear, /compact,
101
101
  # /memory, /permissions, /cost, /doctor, /login, /logout, /config, etc.)
@@ -105,8 +105,15 @@ fi
105
105
  # Without this guard, built-in commands like /context go through the LLM
106
106
  # detect-intent pipeline (5-15s delay) and may get incorrect additionalContext
107
107
  # injected, causing them to fail or behave unexpectedly.
108
- if echo "$PROMPT" | grep -qE "^[[:space:]]*/[a-zA-Z][a-zA-Z0-9_-]*($|[[:space:]])" && \
109
- ! echo "$PROMPT" | grep -qiE "^[[:space:]]*/sw[-:]"; then
108
+ #
109
+ # v1.0.305: Strip IDE metadata tags before checking. In VSCode, the prompt may
110
+ # have <ide_opened_file>...</ide_opened_file> or <ide_selection>...</ide_selection>
111
+ # prefixed on the same line as the command, causing the ^-anchored regex to fail.
112
+ # Uses sed to strip everything up to the last closing </ide_*> tag (handles content
113
+ # with < chars like code selections), then trims leading whitespace.
114
+ CLEAN_PROMPT=$(echo "$PROMPT" | sed 's/.*<\/ide_[a-z_]*>//; s/^[[:space:]]*//')
115
+ if echo "$CLEAN_PROMPT" | grep -qE "^[[:space:]]*/[a-zA-Z][a-zA-Z0-9_-]*($|[[:space:]])" && \
116
+ ! echo "$CLEAN_PROMPT" | grep -qiE "^[[:space:]]*/sw[-:]"; then
110
117
  echo '{"decision":"approve"}'
111
118
  exit 0
112
119
  fi