@skillsmith/core 0.12.2 → 0.12.4
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.
- package/CHANGELOG.md +173 -0
- package/README.md +2 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/config/owned-lock.acquire.d.ts +8 -0
- package/dist/src/config/owned-lock.acquire.d.ts.map +1 -1
- package/dist/src/config/owned-lock.acquire.js +19 -4
- package/dist/src/config/owned-lock.acquire.js.map +1 -1
- package/dist/src/config/owned-lock.claim.d.ts +4 -2
- package/dist/src/config/owned-lock.claim.d.ts.map +1 -1
- package/dist/src/config/owned-lock.claim.js +42 -8
- package/dist/src/config/owned-lock.claim.js.map +1 -1
- package/dist/src/config/owned-lock.d.ts.map +1 -1
- package/dist/src/config/owned-lock.js +1 -0
- package/dist/src/config/owned-lock.js.map +1 -1
- package/dist/src/config/owned-lock.test.js +126 -2
- package/dist/src/config/owned-lock.test.js.map +1 -1
- package/dist/src/config/owned-lock.types.d.ts +9 -0
- package/dist/src/config/owned-lock.types.d.ts.map +1 -1
- package/dist/src/db/createDatabase.d.ts.map +1 -1
- package/dist/src/db/createDatabase.js +0 -2
- package/dist/src/db/createDatabase.js.map +1 -1
- package/dist/src/exports/services.install.d.ts +1 -0
- package/dist/src/exports/services.install.d.ts.map +1 -1
- package/dist/src/exports/services.install.js +5 -0
- package/dist/src/exports/services.install.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/install/fan-out.cleanup.d.ts +37 -0
- package/dist/src/install/fan-out.cleanup.d.ts.map +1 -0
- package/dist/src/install/fan-out.cleanup.js +75 -0
- package/dist/src/install/fan-out.cleanup.js.map +1 -0
- package/dist/src/install/fan-out.d.ts +41 -31
- package/dist/src/install/fan-out.d.ts.map +1 -1
- package/dist/src/install/fan-out.js +213 -112
- package/dist/src/install/fan-out.js.map +1 -1
- package/dist/src/install/fan-out.leftovers.d.ts +60 -0
- package/dist/src/install/fan-out.leftovers.d.ts.map +1 -0
- package/dist/src/install/fan-out.leftovers.js +251 -0
- package/dist/src/install/fan-out.leftovers.js.map +1 -0
- package/dist/src/install/fan-out.locks.d.ts +12 -0
- package/dist/src/install/fan-out.locks.d.ts.map +1 -0
- package/dist/src/install/fan-out.locks.js +114 -0
- package/dist/src/install/fan-out.locks.js.map +1 -0
- package/dist/src/install/fan-out.manifest.d.ts +64 -0
- package/dist/src/install/fan-out.manifest.d.ts.map +1 -0
- package/dist/src/install/fan-out.manifest.js +130 -0
- package/dist/src/install/fan-out.manifest.js.map +1 -0
- package/dist/src/install/fan-out.overwrite.d.ts +51 -0
- package/dist/src/install/fan-out.overwrite.d.ts.map +1 -0
- package/dist/src/install/fan-out.overwrite.js +343 -0
- package/dist/src/install/fan-out.overwrite.js.map +1 -0
- package/dist/src/install/remove-if-same.d.ts +58 -0
- package/dist/src/install/remove-if-same.d.ts.map +1 -0
- package/dist/src/install/remove-if-same.js +222 -0
- package/dist/src/install/remove-if-same.js.map +1 -0
- package/dist/src/provenance/backfill.d.ts.map +1 -1
- package/dist/src/provenance/backfill.js +15 -2
- package/dist/src/provenance/backfill.js.map +1 -1
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js +9 -1
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
- package/dist/src/scripts/scan-imported-skills.d.ts +7 -1
- package/dist/src/scripts/scan-imported-skills.d.ts.map +1 -1
- package/dist/src/scripts/scan-imported-skills.js +15 -2
- package/dist/src/scripts/scan-imported-skills.js.map +1 -1
- package/dist/src/scripts/skill-scanner/allowlist.d.ts +10 -0
- package/dist/src/scripts/skill-scanner/allowlist.d.ts.map +1 -1
- package/dist/src/scripts/skill-scanner/allowlist.js +10 -0
- package/dist/src/scripts/skill-scanner/allowlist.js.map +1 -1
- package/dist/src/scripts/skill-scanner/index.d.ts +8 -0
- package/dist/src/scripts/skill-scanner/index.d.ts.map +1 -1
- package/dist/src/scripts/skill-scanner/index.js +13 -5
- package/dist/src/scripts/skill-scanner/index.js.map +1 -1
- package/dist/src/scripts/skill-scanner/trust-scorer.d.ts.map +1 -1
- package/dist/src/scripts/skill-scanner/trust-scorer.js +6 -0
- package/dist/src/scripts/skill-scanner/trust-scorer.js.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.action-context.d.ts +15 -0
- package/dist/src/security/scanner/SecurityScanner.action-context.d.ts.map +1 -0
- package/dist/src/security/scanner/SecurityScanner.action-context.js +209 -0
- package/dist/src/security/scanner/SecurityScanner.action-context.js.map +1 -0
- package/dist/src/security/scanner/SecurityScanner.d.ts +25 -0
- package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.helpers.d.ts +40 -1
- package/dist/src/security/scanner/SecurityScanner.helpers.d.ts.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.helpers.js +88 -51
- package/dist/src/security/scanner/SecurityScanner.helpers.js.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.js +39 -6
- package/dist/src/security/scanner/SecurityScanner.js.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.pii.d.ts +30 -0
- package/dist/src/security/scanner/SecurityScanner.pii.d.ts.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.pii.js +8 -1
- package/dist/src/security/scanner/SecurityScanner.pii.js.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.prose-lexicon.d.ts +60 -0
- package/dist/src/security/scanner/SecurityScanner.prose-lexicon.d.ts.map +1 -0
- package/dist/src/security/scanner/SecurityScanner.prose-lexicon.js +228 -0
- package/dist/src/security/scanner/SecurityScanner.prose-lexicon.js.map +1 -0
- package/dist/src/security/scanner/SecurityScanner.scanners.d.ts.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.scanners.js +42 -5
- package/dist/src/security/scanner/SecurityScanner.scanners.js.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.value-gate.d.ts +69 -0
- package/dist/src/security/scanner/SecurityScanner.value-gate.d.ts.map +1 -0
- package/dist/src/security/scanner/SecurityScanner.value-gate.js +271 -0
- package/dist/src/security/scanner/SecurityScanner.value-gate.js.map +1 -0
- package/dist/src/security/scanner/SecurityScanner.weak-passwords.d.ts +55 -0
- package/dist/src/security/scanner/SecurityScanner.weak-passwords.d.ts.map +1 -0
- package/dist/src/security/scanner/SecurityScanner.weak-passwords.js +308 -0
- package/dist/src/security/scanner/SecurityScanner.weak-passwords.js.map +1 -0
- package/dist/src/security/scanner/patterns.d.ts +61 -6
- package/dist/src/security/scanner/patterns.d.ts.map +1 -1
- package/dist/src/security/scanner/patterns.js +70 -61
- package/dist/src/security/scanner/patterns.js.map +1 -1
- package/dist/src/security/scanner/patterns.sensitive-path.d.ts +73 -0
- package/dist/src/security/scanner/patterns.sensitive-path.d.ts.map +1 -0
- package/dist/src/security/scanner/patterns.sensitive-path.js +192 -0
- package/dist/src/security/scanner/patterns.sensitive-path.js.map +1 -0
- package/dist/src/security/scanner/regex-utils.d.ts +31 -17
- package/dist/src/security/scanner/regex-utils.d.ts.map +1 -1
- package/dist/src/security/scanner/regex-utils.js +31 -17
- package/dist/src/security/scanner/regex-utils.js.map +1 -1
- package/dist/src/security/scanner/types.d.ts +9 -0
- package/dist/src/security/scanner/types.d.ts.map +1 -1
- package/dist/src/services/agent-pack/prompt-source.d.ts.map +1 -1
- package/dist/src/services/agent-pack/prompt-source.js +3 -2
- package/dist/src/services/agent-pack/prompt-source.js.map +1 -1
- package/dist/src/services/skill-installation.content.d.ts +7 -2
- package/dist/src/services/skill-installation.content.d.ts.map +1 -1
- package/dist/src/services/skill-installation.content.js +75 -28
- package/dist/src/services/skill-installation.content.js.map +1 -1
- package/dist/src/services/skill-installation.helpers.d.ts.map +1 -1
- package/dist/src/services/skill-installation.helpers.js +8 -0
- package/dist/src/services/skill-installation.helpers.js.map +1 -1
- package/dist/src/services/skill-installation.io.d.ts +1 -29
- package/dist/src/services/skill-installation.io.d.ts.map +1 -1
- package/dist/src/services/skill-installation.io.dirs.d.ts +15 -0
- package/dist/src/services/skill-installation.io.dirs.d.ts.map +1 -0
- package/dist/src/services/skill-installation.io.dirs.js +84 -0
- package/dist/src/services/skill-installation.io.dirs.js.map +1 -0
- package/dist/src/services/skill-installation.io.js +6 -176
- package/dist/src/services/skill-installation.io.js.map +1 -1
- package/dist/src/services/skill-installation.io.rollback.d.ts +138 -0
- package/dist/src/services/skill-installation.io.rollback.d.ts.map +1 -0
- package/dist/src/services/skill-installation.io.rollback.js +218 -0
- package/dist/src/services/skill-installation.io.rollback.js.map +1 -0
- package/dist/src/services/skill-installation.io.write.d.ts +69 -0
- package/dist/src/services/skill-installation.io.write.d.ts.map +1 -0
- package/dist/src/services/skill-installation.io.write.js +417 -0
- package/dist/src/services/skill-installation.io.write.js.map +1 -0
- package/dist/src/services/skill-installation.service.d.ts.map +1 -1
- package/dist/src/services/skill-installation.service.finalize.d.ts +62 -0
- package/dist/src/services/skill-installation.service.finalize.d.ts.map +1 -0
- package/dist/src/services/skill-installation.service.finalize.js +136 -0
- package/dist/src/services/skill-installation.service.finalize.js.map +1 -0
- package/dist/src/services/skill-installation.service.js +66 -80
- package/dist/src/services/skill-installation.service.js.map +1 -1
- package/dist/src/services/skill-installation.target-guard.d.ts +82 -0
- package/dist/src/services/skill-installation.target-guard.d.ts.map +1 -0
- package/dist/src/services/skill-installation.target-guard.js +410 -0
- package/dist/src/services/skill-installation.target-guard.js.map +1 -0
- package/dist/src/services/skill-installation.types.d.ts +13 -1
- package/dist/src/services/skill-installation.types.d.ts.map +1 -1
- package/dist/src/services/skill-installation.types.js.map +1 -1
- package/dist/src/services/skill-installation.uninstall.d.ts +3 -1
- package/dist/src/services/skill-installation.uninstall.d.ts.map +1 -1
- package/dist/src/services/skill-installation.uninstall.helpers.d.ts +59 -0
- package/dist/src/services/skill-installation.uninstall.helpers.d.ts.map +1 -0
- package/dist/src/services/skill-installation.uninstall.helpers.js +124 -0
- package/dist/src/services/skill-installation.uninstall.helpers.js.map +1 -0
- package/dist/src/services/skill-installation.uninstall.js +148 -25
- package/dist/src/services/skill-installation.uninstall.js.map +1 -1
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +2 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/safe-fs.d.ts +69 -0
- package/dist/src/utils/safe-fs.d.ts.map +1 -1
- package/dist/src/utils/safe-fs.js +113 -2
- package/dist/src/utils/safe-fs.js.map +1 -1
- package/dist/src/utils/skill-name.d.ts +19 -0
- package/dist/src/utils/skill-name.d.ts.map +1 -0
- package/dist/src/utils/skill-name.js +26 -0
- package/dist/src/utils/skill-name.js.map +1 -0
- package/dist/src/utils/skill-name.test.d.ts +2 -0
- package/dist/src/utils/skill-name.test.d.ts.map +1 -0
- package/dist/src/utils/skill-name.test.js +34 -0
- package/dist/src/utils/skill-name.test.js.map +1 -0
- package/dist/tests/install/fan-out.test.js +1951 -13
- package/dist/tests/install/fan-out.test.js.map +1 -1
- package/dist/tests/install/remove-if-same.test.d.ts +2 -0
- package/dist/tests/install/remove-if-same.test.d.ts.map +1 -0
- package/dist/tests/install/remove-if-same.test.js +298 -0
- package/dist/tests/install/remove-if-same.test.js.map +1 -0
- package/dist/tests/integration/fan-out-lock-contention.test.d.ts +11 -0
- package/dist/tests/integration/fan-out-lock-contention.test.d.ts.map +1 -0
- package/dist/tests/integration/fan-out-lock-contention.test.js +53 -0
- package/dist/tests/integration/fan-out-lock-contention.test.js.map +1 -0
- package/dist/tests/provenance/backfill.test.js +43 -0
- package/dist/tests/provenance/backfill.test.js.map +1 -1
- package/dist/tests/security/ContinuousSecurity.performance.test.js +12 -7
- package/dist/tests/security/ContinuousSecurity.performance.test.js.map +1 -1
- package/dist/tests/security/ContinuousSecurity.test.js +14 -2
- package/dist/tests/security/ContinuousSecurity.test.js.map +1 -1
- package/dist/tests/security/ai-defence-multiline-promotion.test.d.ts +10 -12
- package/dist/tests/security/ai-defence-multiline-promotion.test.d.ts.map +1 -1
- package/dist/tests/security/ai-defence-multiline-promotion.test.js +26 -33
- package/dist/tests/security/ai-defence-multiline-promotion.test.js.map +1 -1
- package/dist/tests/security/nested-instruction-long-attribute.test.js +20 -10
- package/dist/tests/security/nested-instruction-long-attribute.test.js.map +1 -1
- package/dist/tests/security/scanner-evidence-tiers.test.js +15 -0
- package/dist/tests/security/scanner-evidence-tiers.test.js.map +1 -1
- package/dist/tests/security/scanner-multiline-cap.test.d.ts +21 -0
- package/dist/tests/security/scanner-multiline-cap.test.d.ts.map +1 -0
- package/dist/tests/security/scanner-multiline-cap.test.js +152 -0
- package/dist/tests/security/scanner-multiline-cap.test.js.map +1 -0
- package/dist/tests/security/scanner-regression-guard.test.js +66 -1
- package/dist/tests/security/scanner-regression-guard.test.js.map +1 -1
- package/dist/tests/security/scanner-witness-sw1.test.d.ts +32 -0
- package/dist/tests/security/scanner-witness-sw1.test.d.ts.map +1 -0
- package/dist/tests/security/scanner-witness-sw1.test.js +255 -0
- package/dist/tests/security/scanner-witness-sw1.test.js.map +1 -0
- package/dist/tests/security/sensitive-path-adversarial-review.test.d.ts +2 -0
- package/dist/tests/security/sensitive-path-adversarial-review.test.d.ts.map +1 -0
- package/dist/tests/security/sensitive-path-adversarial-review.test.js +313 -0
- package/dist/tests/security/sensitive-path-adversarial-review.test.js.map +1 -0
- package/dist/tests/security/sensitive-path-boolean-flag.test.d.ts +2 -0
- package/dist/tests/security/sensitive-path-boolean-flag.test.d.ts.map +1 -0
- package/dist/tests/security/sensitive-path-boolean-flag.test.js +151 -0
- package/dist/tests/security/sensitive-path-boolean-flag.test.js.map +1 -0
- package/dist/tests/security/sensitive-path-fp.test.js +314 -0
- package/dist/tests/security/sensitive-path-fp.test.js.map +1 -1
- package/dist/tests/security/sensitive-path-prefixed-secrets.test.d.ts +2 -0
- package/dist/tests/security/sensitive-path-prefixed-secrets.test.d.ts.map +1 -0
- package/dist/tests/security/sensitive-path-prefixed-secrets.test.js +176 -0
- package/dist/tests/security/sensitive-path-prefixed-secrets.test.js.map +1 -0
- package/dist/tests/security/smi5879-corroboration.core.test.js +44 -0
- package/dist/tests/security/smi5879-corroboration.core.test.js.map +1 -1
- package/dist/tests/security/weak-password-lexicon.test.d.ts +18 -0
- package/dist/tests/security/weak-password-lexicon.test.d.ts.map +1 -0
- package/dist/tests/security/weak-password-lexicon.test.js +132 -0
- package/dist/tests/security/weak-password-lexicon.test.js.map +1 -0
- package/dist/tests/skill-scanner/allowlist.test.js +58 -4
- package/dist/tests/skill-scanner/allowlist.test.js.map +1 -1
- package/dist/tests/skill-scanner/categorizer.test.d.ts +2 -0
- package/dist/tests/skill-scanner/categorizer.test.d.ts.map +1 -0
- package/dist/tests/skill-scanner/categorizer.test.js +71 -0
- package/dist/tests/skill-scanner/categorizer.test.js.map +1 -0
- package/dist/tests/skill-scanner/cli-guard.test.d.ts +23 -0
- package/dist/tests/skill-scanner/cli-guard.test.d.ts.map +1 -0
- package/dist/tests/skill-scanner/cli-guard.test.js +71 -0
- package/dist/tests/skill-scanner/cli-guard.test.js.map +1 -0
- package/dist/tests/unit/services/skill-installation.content.test.js +59 -0
- package/dist/tests/unit/services/skill-installation.content.test.js.map +1 -1
- package/dist/tests/unit/services/skill-installation.io.client-agent-path.test.js +35 -14
- package/dist/tests/unit/services/skill-installation.io.client-agent-path.test.js.map +1 -1
- package/dist/tests/unit/services/skill-installation.io.rollback.test.d.ts +2 -0
- package/dist/tests/unit/services/skill-installation.io.rollback.test.d.ts.map +1 -0
- package/dist/tests/unit/services/skill-installation.io.rollback.test.js +984 -0
- package/dist/tests/unit/services/skill-installation.io.rollback.test.js.map +1 -0
- package/dist/tests/unit/services/skill-installation.io.rollback.unit.test.d.ts +2 -0
- package/dist/tests/unit/services/skill-installation.io.rollback.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/services/skill-installation.io.rollback.unit.test.js +148 -0
- package/dist/tests/unit/services/skill-installation.io.rollback.unit.test.js.map +1 -0
- package/dist/tests/unit/services/skill-installation.service.error-codes.test.js +19 -0
- package/dist/tests/unit/services/skill-installation.service.error-codes.test.js.map +1 -1
- package/dist/tests/unit/services/skill-installation.service.finalize.test.d.ts +2 -0
- package/dist/tests/unit/services/skill-installation.service.finalize.test.d.ts.map +1 -0
- package/dist/tests/unit/services/skill-installation.service.finalize.test.js +147 -0
- package/dist/tests/unit/services/skill-installation.service.finalize.test.js.map +1 -0
- package/dist/tests/unit/services/skill-installation.service.sensitive-path-fp.test.d.ts +29 -0
- package/dist/tests/unit/services/skill-installation.service.sensitive-path-fp.test.d.ts.map +1 -0
- package/dist/tests/unit/services/skill-installation.service.sensitive-path-fp.test.js +200 -0
- package/dist/tests/unit/services/skill-installation.service.sensitive-path-fp.test.js.map +1 -0
- package/dist/tests/unit/services/skill-installation.service.test.js +43 -0
- package/dist/tests/unit/services/skill-installation.service.test.js.map +1 -1
- package/dist/tests/unit/services/skill-installation.target-guard.test.d.ts +2 -0
- package/dist/tests/unit/services/skill-installation.target-guard.test.d.ts.map +1 -0
- package/dist/tests/unit/services/skill-installation.target-guard.test.js +590 -0
- package/dist/tests/unit/services/skill-installation.target-guard.test.js.map +1 -0
- package/dist/tests/unit/services/skill-installation.uninstall.guard.test.d.ts +2 -0
- package/dist/tests/unit/services/skill-installation.uninstall.guard.test.d.ts.map +1 -0
- package/dist/tests/unit/services/skill-installation.uninstall.guard.test.js +473 -0
- package/dist/tests/unit/services/skill-installation.uninstall.guard.test.js.map +1 -0
- package/dist/tests/utils/safe-fs.test.js +129 -2
- package/dist/tests/utils/safe-fs.test.js.map +1 -1
- package/package.json +6 -1
|
@@ -35,6 +35,7 @@ import { JAILBREAK_PATTERNS, AI_DEFENCE_PATTERNS, } from '../../src/security/sca
|
|
|
35
35
|
// SMI-5881: EVIDENCE_TYPE_BY_PATTERN moved to patterns.jailbreak.evidence.ts.
|
|
36
36
|
import { EVIDENCE_TYPE_BY_PATTERN } from '../../src/security/scanner/patterns.jailbreak.evidence.js';
|
|
37
37
|
import { classifyEvidence } from '../../src/security/scanner/SecurityScanner.evidence.js';
|
|
38
|
+
import { DIRECTIVE_JAILBREAK_PATTERNS } from '../../src/security/scanner/SecurityScanner.js';
|
|
38
39
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
39
40
|
describe('SMI-5876 — EVIDENCE_TYPE_BY_PATTERN exhaustiveness', () => {
|
|
40
41
|
it('classifies every pattern in JAILBREAK_PATTERNS', () => {
|
|
@@ -255,4 +256,18 @@ describe('SMI-5876 — the new directive patterns still reach critical for real
|
|
|
255
256
|
expect(report.passed).toBe(false);
|
|
256
257
|
});
|
|
257
258
|
});
|
|
259
|
+
describe('SMI-5879 (design §5) — quickCheck derived directive-only pattern set', () => {
|
|
260
|
+
it('is non-empty', () => {
|
|
261
|
+
expect(DIRECTIVE_JAILBREAK_PATTERNS.length).toBeGreaterThan(0);
|
|
262
|
+
});
|
|
263
|
+
it('contains no mention-tier pattern', () => {
|
|
264
|
+
for (const pattern of DIRECTIVE_JAILBREAK_PATTERNS) {
|
|
265
|
+
expect(classifyEvidence(pattern)).not.toBe('mention');
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
it('is a strict subset of JAILBREAK_PATTERNS, excluding exactly the mention-tier entries', () => {
|
|
269
|
+
const mentionCount = JAILBREAK_PATTERNS.filter((p) => classifyEvidence(p) === 'mention').length;
|
|
270
|
+
expect(DIRECTIVE_JAILBREAK_PATTERNS.length).toBe(JAILBREAK_PATTERNS.length - mentionCount);
|
|
271
|
+
});
|
|
272
|
+
});
|
|
258
273
|
//# sourceMappingURL=scanner-evidence-tiers.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-evidence-tiers.test.js","sourceRoot":"","sources":["../../../tests/security/scanner-evidence-tiers.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scanner-evidence-tiers.test.js","sourceRoot":"","sources":["../../../tests/security/scanner-evidence-tiers.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-5879 (design §3.3): the RC-1 two-bound multiline-scan cap.
|
|
3
|
+
*
|
|
4
|
+
* Verifies scanPatternsWithMultilineSupport's pass-1 loop against the
|
|
5
|
+
* required test table in design §3.3.7 — the round-3 raw-match cap counted
|
|
6
|
+
* the wrong unit (regex matches, not scoring units); this file pins the
|
|
7
|
+
* corrected behavior: MAX_MULTILINE_LINES_PER_PATTERN bounds distinct
|
|
8
|
+
* SCORING lines per pattern (score-neutral, Lemma 3.3-B), while
|
|
9
|
+
* MAX_MULTILINE_ITERATIONS_PER_PATTERN is a separate, non-score-neutral
|
|
10
|
+
* wall-clock liveness bound.
|
|
11
|
+
*
|
|
12
|
+
* Uses real, already-scoped production patterns (JAILBREAK_PATTERNS[17] =
|
|
13
|
+
* JB_JS3A_DEV_MODE_THEN_CAPABILITY, a same-line-repeatable 'content'-scope
|
|
14
|
+
* pattern; AI_DEFENCE_PATTERNS[8] = AD_DELIMITER_BARE, a one-match-per-line
|
|
15
|
+
* 'content'-scope pattern) rather than synthetic ones —
|
|
16
|
+
* scanPatternsWithMultilineSupport's resolvePatternScope() throws on any
|
|
17
|
+
* pattern not registered in the fail-closed PATTERN_SCOPE map by design, so a
|
|
18
|
+
* synthetic pattern can't reach this function at all.
|
|
19
|
+
*/
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=scanner-multiline-cap.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanner-multiline-cap.test.d.ts","sourceRoot":"","sources":["../../../tests/security/scanner-multiline-cap.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-5879 (design §3.3): the RC-1 two-bound multiline-scan cap.
|
|
3
|
+
*
|
|
4
|
+
* Verifies scanPatternsWithMultilineSupport's pass-1 loop against the
|
|
5
|
+
* required test table in design §3.3.7 — the round-3 raw-match cap counted
|
|
6
|
+
* the wrong unit (regex matches, not scoring units); this file pins the
|
|
7
|
+
* corrected behavior: MAX_MULTILINE_LINES_PER_PATTERN bounds distinct
|
|
8
|
+
* SCORING lines per pattern (score-neutral, Lemma 3.3-B), while
|
|
9
|
+
* MAX_MULTILINE_ITERATIONS_PER_PATTERN is a separate, non-score-neutral
|
|
10
|
+
* wall-clock liveness bound.
|
|
11
|
+
*
|
|
12
|
+
* Uses real, already-scoped production patterns (JAILBREAK_PATTERNS[17] =
|
|
13
|
+
* JB_JS3A_DEV_MODE_THEN_CAPABILITY, a same-line-repeatable 'content'-scope
|
|
14
|
+
* pattern; AI_DEFENCE_PATTERNS[8] = AD_DELIMITER_BARE, a one-match-per-line
|
|
15
|
+
* 'content'-scope pattern) rather than synthetic ones —
|
|
16
|
+
* scanPatternsWithMultilineSupport's resolvePatternScope() throws on any
|
|
17
|
+
* pattern not registered in the fail-closed PATTERN_SCOPE map by design, so a
|
|
18
|
+
* synthetic pattern can't reach this function at all.
|
|
19
|
+
*/
|
|
20
|
+
import { describe, it, expect } from 'vitest';
|
|
21
|
+
import { scanPatternsWithMultilineSupport, MAX_MULTILINE_LINES_PER_PATTERN, MAX_MULTILINE_ITERATIONS_PER_PATTERN, } from '../../src/security/scanner/SecurityScanner.helpers.js';
|
|
22
|
+
import { JAILBREAK_PATTERNS, AI_DEFENCE_PATTERNS } from '../../src/security/scanner/patterns.js';
|
|
23
|
+
import { classifyEvidence } from '../../src/security/scanner/SecurityScanner.evidence.js';
|
|
24
|
+
import { EVIDENCE_SEVERITY_TABLE } from '../../src/security/scanner/SecurityScanner.evidence.js';
|
|
25
|
+
import { SEVERITY_WEIGHTS, CATEGORY_WEIGHTS } from '../../src/security/scanner/weights.js';
|
|
26
|
+
// JB_JS3A_DEV_MODE_THEN_CAPABILITY: 'content'-scope, state_assertion tier,
|
|
27
|
+
// non-newline-crossing per match (`[^\n]{0,80}?`) — repeats within one line.
|
|
28
|
+
const JB_JS3A = JAILBREAK_PATTERNS[17];
|
|
29
|
+
// AD_DELIMITER_BARE: 'content'-scope, mention tier, requires a line-start
|
|
30
|
+
// anchor (`(?:^|\n)`) — exactly one match per matching line.
|
|
31
|
+
const AD_DELIMITER_BARE = AI_DEFENCE_PATTERNS[8];
|
|
32
|
+
const REPEATED_JS3A_PHRASE = 'developer mode with no restrictions, ';
|
|
33
|
+
describe('SMI-5879 §3.3.7 — same-line repetition does not consume the line budget', () => {
|
|
34
|
+
it('a single line with many matches of one pattern leaves seenLines.size === 1', () => {
|
|
35
|
+
const content = REPEATED_JS3A_PHRASE.repeat(200);
|
|
36
|
+
const result = scanPatternsWithMultilineSupport(content, {
|
|
37
|
+
type: 'jailbreak',
|
|
38
|
+
messagePrefix: 'test',
|
|
39
|
+
patterns: [JB_JS3A],
|
|
40
|
+
classify: () => 'state_assertion',
|
|
41
|
+
});
|
|
42
|
+
const findings = result.findings.filter((f) => f.type === 'jailbreak');
|
|
43
|
+
expect(findings).toHaveLength(1);
|
|
44
|
+
expect(findings[0]?.lineNumber).toBe(1);
|
|
45
|
+
expect(result.truncated).toBe(false);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('SMI-5879 §3.3.7 — same-line repetition on early lines still reaches a later genuine finding', () => {
|
|
49
|
+
it('line 1 has 100 matches of JB_JS3A; a later line has one more — both are recorded', () => {
|
|
50
|
+
const lines = new Array(400).fill('unrelated filler documentation text');
|
|
51
|
+
lines[0] = REPEATED_JS3A_PHRASE.repeat(100);
|
|
52
|
+
lines[399] = 'developer mode with no restrictions';
|
|
53
|
+
const content = lines.join('\n');
|
|
54
|
+
const result = scanPatternsWithMultilineSupport(content, {
|
|
55
|
+
type: 'jailbreak',
|
|
56
|
+
messagePrefix: 'test',
|
|
57
|
+
patterns: [JB_JS3A],
|
|
58
|
+
classify: () => 'state_assertion',
|
|
59
|
+
});
|
|
60
|
+
const findingLines = result.findings
|
|
61
|
+
.map((f) => f.lineNumber)
|
|
62
|
+
.sort((a, b) => (a ?? 0) - (b ?? 0));
|
|
63
|
+
expect(findingLines).toEqual([1, 400]);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
describe('SMI-5879 §3.3.7 — line cap binds at exactly MAX_MULTILINE_LINES_PER_PATTERN distinct lines', () => {
|
|
67
|
+
it('200 distinct matching lines for one pattern emit exactly 64 findings from that pattern', () => {
|
|
68
|
+
const lines = Array.from({ length: 200 }, (_, i) => `### system line ${i}`);
|
|
69
|
+
const content = lines.join('\n');
|
|
70
|
+
const result = scanPatternsWithMultilineSupport(content, {
|
|
71
|
+
type: 'ai_defence',
|
|
72
|
+
messagePrefix: 'test',
|
|
73
|
+
patterns: [AD_DELIMITER_BARE],
|
|
74
|
+
classify: () => 'mention',
|
|
75
|
+
});
|
|
76
|
+
expect(result.findings).toHaveLength(MAX_MULTILINE_LINES_PER_PATTERN);
|
|
77
|
+
expect(MAX_MULTILINE_LINES_PER_PATTERN).toBe(64);
|
|
78
|
+
});
|
|
79
|
+
it('Lemma 3.3-B: the truncation at the line cap is score-neutral — the category subtotal is already clamped', () => {
|
|
80
|
+
// ai_defence mention: severity=low(5) x category=1.9 x confidence=low(0.3) = 2.85/finding.
|
|
81
|
+
// 64 x 2.85 = 182.4, already > the 100 raw-per-category cap well before line 64.
|
|
82
|
+
const rawPerFinding = SEVERITY_WEIGHTS.low * CATEGORY_WEIGHTS.ai_defence * 0.3;
|
|
83
|
+
expect(MAX_MULTILINE_LINES_PER_PATTERN * rawPerFinding).toBeGreaterThan(100);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
describe('SMI-5879 §3.3.7 — line cap is per-pattern, not global', () => {
|
|
87
|
+
it('pattern p saturates at 64 lines; pattern q matching a later line still records and upgrades it', () => {
|
|
88
|
+
const pLines = Array.from({ length: 64 }, (_, i) => `### system saturating-line-${i}`);
|
|
89
|
+
const qLine = 'developer mode with no restrictions';
|
|
90
|
+
const content = [...pLines, qLine].join('\n');
|
|
91
|
+
const result = scanPatternsWithMultilineSupport(content, {
|
|
92
|
+
type: 'jailbreak',
|
|
93
|
+
messagePrefix: 'test',
|
|
94
|
+
patterns: [AD_DELIMITER_BARE, JB_JS3A],
|
|
95
|
+
classify: (pattern) => (pattern === JB_JS3A ? 'state_assertion' : 'mention'),
|
|
96
|
+
});
|
|
97
|
+
// p contributes exactly 64 mention-tier findings (lines 1-64); q's match on
|
|
98
|
+
// line 65 is a DIFFERENT pattern's own seenLines set, so it is not
|
|
99
|
+
// blocked by p's saturation — it must still appear, upgraded to
|
|
100
|
+
// state_assertion (the strongest tier).
|
|
101
|
+
const line65 = result.findings.find((f) => f.lineNumber === 65);
|
|
102
|
+
expect(line65).toBeDefined();
|
|
103
|
+
expect(line65?.evidenceType).toBe('state_assertion');
|
|
104
|
+
expect(result.findings.filter((f) => f.evidenceType === 'mention')).toHaveLength(64);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
describe('SMI-5879 §3.3.7 — derived floor is recomputed from live weight tables', () => {
|
|
108
|
+
it('MAX_MULTILINE_LINES_PER_PATTERN >= ceil(100 / min_raw_per_finding), computed at test time', () => {
|
|
109
|
+
const confidenceWeights = {
|
|
110
|
+
high: 1.0,
|
|
111
|
+
medium: 0.7,
|
|
112
|
+
low: 0.3,
|
|
113
|
+
};
|
|
114
|
+
const tiers = Object.keys(EVIDENCE_SEVERITY_TABLE);
|
|
115
|
+
const contexts = ['doc', 'nonDoc'];
|
|
116
|
+
const categories = ['jailbreak', 'ai_defence'];
|
|
117
|
+
let minRaw = Infinity;
|
|
118
|
+
for (const tier of tiers) {
|
|
119
|
+
for (const ctx of contexts) {
|
|
120
|
+
const { severity, confidence } = EVIDENCE_SEVERITY_TABLE[tier][ctx];
|
|
121
|
+
for (const category of categories) {
|
|
122
|
+
const raw = SEVERITY_WEIGHTS[severity] * CATEGORY_WEIGHTS[category] * confidenceWeights[confidence];
|
|
123
|
+
minRaw = Math.min(minRaw, raw);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
const derivedFloor = Math.ceil(100 / minRaw);
|
|
128
|
+
expect(MAX_MULTILINE_LINES_PER_PATTERN).toBeGreaterThanOrEqual(derivedFloor);
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
describe('SMI-5879 §3.3.7 — iteration ceiling marks the scan truncated', () => {
|
|
132
|
+
it('a synthetic input producing > MAX_MULTILINE_ITERATIONS_PER_PATTERN matches of one pattern sets truncated: true', () => {
|
|
133
|
+
const content = REPEATED_JS3A_PHRASE.repeat(MAX_MULTILINE_ITERATIONS_PER_PATTERN + 500);
|
|
134
|
+
const result = scanPatternsWithMultilineSupport(content, {
|
|
135
|
+
type: 'jailbreak',
|
|
136
|
+
messagePrefix: 'test',
|
|
137
|
+
patterns: [JB_JS3A],
|
|
138
|
+
classify: () => 'state_assertion',
|
|
139
|
+
});
|
|
140
|
+
expect(result.truncated).toBe(true);
|
|
141
|
+
// The line cap still binds first for the scoring output — truncation
|
|
142
|
+
// does not itself inflate finding count beyond the score-neutral cap.
|
|
143
|
+
expect(result.findings).toHaveLength(1);
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
describe('SMI-5879 §3.3.7 — raw-vs-final saturation', () => {
|
|
147
|
+
it('classifyEvidence + resolveEvidenceSeverity produce the documented raw-per-finding numbers', () => {
|
|
148
|
+
expect(classifyEvidence(JB_JS3A)).toBe('state_assertion');
|
|
149
|
+
expect(classifyEvidence(AD_DELIMITER_BARE)).toBe('mention');
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
//# sourceMappingURL=scanner-multiline-cap.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanner-multiline-cap.test.js","sourceRoot":"","sources":["../../../tests/security/scanner-multiline-cap.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,13 +62,22 @@
|
|
|
62
62
|
*/
|
|
63
63
|
import { describe, it, expect } from 'vitest';
|
|
64
64
|
import { SecurityScanner, compareScanReports, SENSITIVE_PATH_PATTERNS, JAILBREAK_PATTERNS, SUSPICIOUS_PATTERNS, SOCIAL_ENGINEERING_PATTERNS, PROMPT_LEAKING_PATTERNS, DATA_EXFILTRATION_PATTERNS, PRIVILEGE_ESCALATION_PATTERNS, SSRF_INSTRUCTION_PATTERNS, AI_DEFENCE_PATTERNS, PII_PATTERNS, CODE_EXECUTION_PATTERNS, } from '../../src/security/scanner/index.js';
|
|
65
|
+
// SMI-5207 Wave 1 Step 3(e): PATH_FORM_PATTERNS / VALUE_GATED_ASSIGNMENT_PATTERNS
|
|
66
|
+
// / ENV_PATH_PATTERN are not re-exported from scanner/index.ts (confirmed by
|
|
67
|
+
// grep — only SENSITIVE_PATH_PATTERNS is), so the partition-totality guard
|
|
68
|
+
// below imports them directly from patterns.ts, which re-exports the whole
|
|
69
|
+
// sensitive_path family from patterns.sensitive-path.ts unchanged (reference
|
|
70
|
+
// identity preserved — see that file's own header comment). VALUE_GATED_
|
|
71
|
+
// KEYWORD_PATTERNS is imported alongside for the same reason, even though it
|
|
72
|
+
// is also reachable via SecurityScanner.scanners.ts.
|
|
73
|
+
import { ENV_PATH_PATTERN, PATH_FORM_PATTERNS, VALUE_GATED_ASSIGNMENT_PATTERNS, VALUE_GATED_KEYWORD_PATTERNS, OBSERVE_ONLY_MEDIUM_PATTERNS, } from '../../src/security/scanner/patterns.js';
|
|
65
74
|
/**
|
|
66
75
|
* Minimum pattern counts per category (April 2026 baseline).
|
|
67
76
|
* These are floors, not ceilings — adding patterns is fine,
|
|
68
77
|
* removing patterns requires updating this file with justification.
|
|
69
78
|
*/
|
|
70
79
|
const BASELINE_PATTERN_COUNTS = {
|
|
71
|
-
SENSITIVE_PATH_PATTERNS:
|
|
80
|
+
SENSITIVE_PATH_PATTERNS: 16, // SMI-6508: 15 → 16 (+SECRETS_PREFIXED_ASSIGN, MF-5 observe-only MEDIUM). SMI-4396 Wave 2: 12 → 15 (bare-keyword tightened + /etc/passwd explicit); SMI-5359 Wave 4 narrowed .env/api_key/auth_token in place (count unchanged)
|
|
72
81
|
JAILBREAK_PATTERNS: 23, // SMI-5876: 15 → 18 (+J-N1/J-N2/J-N3); 18 → 23 (design-pass follow-up: +J-S1/J-S2/J-S3a/J-S3b/J-S4 state_assertion + obedience-compulsion patterns, closing a 12-fixture recall gap; 4 existing bare-vocabulary entries reclassified `mention`-tier in place, not removed)
|
|
73
82
|
SUSPICIOUS_PATTERNS: 11,
|
|
74
83
|
SOCIAL_ENGINEERING_PATTERNS: 12,
|
|
@@ -379,5 +388,61 @@ describe('Scanner Regression Guard (SMI-3864)', () => {
|
|
|
379
388
|
expect(verdict.riskDelta).toBeLessThanOrEqual(0);
|
|
380
389
|
});
|
|
381
390
|
});
|
|
391
|
+
// SMI-5207 Wave 1 Step 3(e): partition-totality guard for the severity-gate
|
|
392
|
+
// classification. Plan item 2: "1 (ENV) + 9 (PATH_FORM) + 3 (ASSIGNMENT) +
|
|
393
|
+
// 2 (VALUE_GATED_KEYWORD) = 15 — total and disjoint. A dedicated test...
|
|
394
|
+
// guards this durably: an unclassified future pattern falls through to the
|
|
395
|
+
// fail-closed `else` branch."
|
|
396
|
+
describe('SENSITIVE_PATH_PATTERNS severity-gate partition (SMI-5207)', () => {
|
|
397
|
+
it('every entry belongs to exactly one of {ENV, PATH_FORM, VALUE_GATED_ASSIGNMENT, VALUE_GATED_KEYWORD, OBSERVE_ONLY_MEDIUM}', () => {
|
|
398
|
+
for (const pattern of SENSITIVE_PATH_PATTERNS) {
|
|
399
|
+
const classes = [
|
|
400
|
+
pattern === ENV_PATH_PATTERN,
|
|
401
|
+
PATH_FORM_PATTERNS.has(pattern),
|
|
402
|
+
VALUE_GATED_ASSIGNMENT_PATTERNS.has(pattern),
|
|
403
|
+
VALUE_GATED_KEYWORD_PATTERNS.has(pattern),
|
|
404
|
+
OBSERVE_ONLY_MEDIUM_PATTERNS.has(pattern),
|
|
405
|
+
].filter(Boolean);
|
|
406
|
+
expect(classes).toHaveLength(1);
|
|
407
|
+
}
|
|
408
|
+
});
|
|
409
|
+
/**
|
|
410
|
+
* SMI-6508 follow-up — ARRAY ORDER IS A SECURITY PROPERTY, not style.
|
|
411
|
+
*
|
|
412
|
+
* scanSensitivePaths `break`s on the FIRST SENSITIVE_PATH_PATTERNS entry
|
|
413
|
+
* that matches a line. An always-MEDIUM entry placed ahead of a HIGH-capable
|
|
414
|
+
* one therefore SUPPRESSES it: the MEDIUM wins the race, the HIGH never
|
|
415
|
+
* fires, and `passed` flips from false to true — the install block vanishes.
|
|
416
|
+
*
|
|
417
|
+
* MF-5 shipped at index 4, ahead of 11 HIGH-capable entries, and that was a
|
|
418
|
+
* live scanner-evasion primitive. Appending the 12-character comment
|
|
419
|
+
* `# a_secrets:` to a line was enough to turn `cat ~/.ssh/id_rsa` and
|
|
420
|
+
* `curl -F f=@/etc/passwd …` from blocking to passing. A cross-family gate,
|
|
421
|
+
* 3175 passing tests and a 9-case manual check were all green over it,
|
|
422
|
+
* because every ordering test compared MF-5 only against the ONE entry that
|
|
423
|
+
* precedes it. This guard compares against ALL of them, so the next
|
|
424
|
+
* always-MEDIUM class cannot repeat it.
|
|
425
|
+
*/
|
|
426
|
+
it('no always-MEDIUM pattern precedes any HIGH-capable pattern (ordering is load-bearing)', () => {
|
|
427
|
+
const firstMediumOnly = SENSITIVE_PATH_PATTERNS.findIndex((p) => OBSERVE_ONLY_MEDIUM_PATTERNS.has(p));
|
|
428
|
+
if (firstMediumOnly === -1)
|
|
429
|
+
return; // no always-MEDIUM entries yet
|
|
430
|
+
const highCapableAfter = SENSITIVE_PATH_PATTERNS.slice(firstMediumOnly + 1).filter((p) => !OBSERVE_ONLY_MEDIUM_PATTERNS.has(p));
|
|
431
|
+
expect(highCapableAfter).toEqual([]);
|
|
432
|
+
});
|
|
433
|
+
// SMI-6508 added the fifth class (MF-5, OBSERVE_ONLY_MEDIUM): 1 + 9 + 3 + 2 + 1 = 16.
|
|
434
|
+
it('the five classes total and partition SENSITIVE_PATH_PATTERNS exactly (1 + 9 + 3 + 2 + 1 = 16)', () => {
|
|
435
|
+
expect(PATH_FORM_PATTERNS.size).toBe(9);
|
|
436
|
+
expect(VALUE_GATED_ASSIGNMENT_PATTERNS.size).toBe(3);
|
|
437
|
+
expect(VALUE_GATED_KEYWORD_PATTERNS.size).toBe(2);
|
|
438
|
+
expect(OBSERVE_ONLY_MEDIUM_PATTERNS.size).toBe(1);
|
|
439
|
+
expect(SENSITIVE_PATH_PATTERNS).toContain(ENV_PATH_PATTERN);
|
|
440
|
+
expect(1 +
|
|
441
|
+
PATH_FORM_PATTERNS.size +
|
|
442
|
+
VALUE_GATED_ASSIGNMENT_PATTERNS.size +
|
|
443
|
+
VALUE_GATED_KEYWORD_PATTERNS.size +
|
|
444
|
+
OBSERVE_ONLY_MEDIUM_PATTERNS.size).toBe(SENSITIVE_PATH_PATTERNS.length);
|
|
445
|
+
});
|
|
446
|
+
});
|
|
382
447
|
});
|
|
383
448
|
//# sourceMappingURL=scanner-regression-guard.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-regression-guard.test.js","sourceRoot":"","sources":["../../../tests/security/scanner-regression-guard.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scanner-regression-guard.test.js","sourceRoot":"","sources":["../../../tests/security/scanner-regression-guard.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-5879 (design §3.5): required witness fixture SW-1.
|
|
3
|
+
*
|
|
4
|
+
* A single realistic fixture, with a fully specified category budget, that
|
|
5
|
+
* makes the RC-1 verdict swing concrete: the pre-fix "first-match-only" bug
|
|
6
|
+
* (packages/core/src/security/scanner/SecurityScanner.helpers.ts's
|
|
7
|
+
* scanPatternsWithMultilineSupport, before commit 82d2ccaa0) finds only the
|
|
8
|
+
* FIRST occurrence of a 'content'/'both'-scope pattern in the whole document;
|
|
9
|
+
* the RC-1 fix records every distinct matching line. `baselineScanWithFirstMatchOnly`
|
|
10
|
+
* below is a frozen, verbatim reconstruction of the exact pre-fix pass-1 loop
|
|
11
|
+
* (git show 82d2ccaa0^:.../SecurityScanner.helpers.ts) — not a synthetic
|
|
12
|
+
* approximation — reusing the SAME (unchanged-by-RC-1) evidence
|
|
13
|
+
* classification/severity/scope functions the real scanner uses today, so the
|
|
14
|
+
* ONLY behavioral difference under test is the traversal bug itself.
|
|
15
|
+
*
|
|
16
|
+
* Category budget (see design §3.5 for the exact numbers):
|
|
17
|
+
* - privilege_escalation: 2 non-doc critical findings -> saturated at 11.00
|
|
18
|
+
* - data_exfiltration: 2 non-doc high findings -> saturated at 8.00
|
|
19
|
+
* - suspicious_pattern: 6 non-doc medium findings -> saturated at 7.00
|
|
20
|
+
* - jailbreak: 7 non-doc mention findings -> 4.20 (unaffected by the RC-1
|
|
21
|
+
* bug: all 4 mention-tier patterns used here are 'line'-scope, so pass 2 —
|
|
22
|
+
* always per-line, never buggy — finds all 7 both before and after the fix)
|
|
23
|
+
* - ai_defence (design's "prompt_injection"): 1 non-doc role_turn_with_body
|
|
24
|
+
* finding (AD_AN2_ROLE_BODY_NEXT_LINE) under the baseline bug -> 6.84;
|
|
25
|
+
* both occurrences under the fix -> 12.00
|
|
26
|
+
*
|
|
27
|
+
* non-AI subtotal: 11.00 + 8.00 + 7.00 + 4.20 = 30.20 (design's stated value).
|
|
28
|
+
* baseline total: 30.20 + 6.84 = 37.04 -> round 37 (< 40, clean).
|
|
29
|
+
* ported total: 30.20 + 12.00 = 42.20 -> round 42 (>= 40, quarantine).
|
|
30
|
+
*/
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=scanner-witness-sw1.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanner-witness-sw1.test.d.ts","sourceRoot":"","sources":["../../../tests/security/scanner-witness-sw1.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG"}
|