vaspera 2.13.0 → 2.15.0
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 +78 -0
- package/README.md +15 -2
- package/dist/__tests__/antagonist-integration.test.d.ts +6 -0
- package/dist/__tests__/antagonist-integration.test.d.ts.map +1 -0
- package/dist/__tests__/antagonist-integration.test.js +239 -0
- package/dist/__tests__/antagonist-integration.test.js.map +1 -0
- package/dist/__tests__/certification/agent-certificate-e2e.test.d.ts +2 -0
- package/dist/__tests__/certification/agent-certificate-e2e.test.d.ts.map +1 -0
- package/dist/__tests__/certification/agent-certificate-e2e.test.js +90 -0
- package/dist/__tests__/certification/agent-certificate-e2e.test.js.map +1 -0
- package/dist/__tests__/certification/agent-certificate-map.test.d.ts +2 -0
- package/dist/__tests__/certification/agent-certificate-map.test.d.ts.map +1 -0
- package/dist/__tests__/certification/agent-certificate-map.test.js +107 -0
- package/dist/__tests__/certification/agent-certificate-map.test.js.map +1 -0
- package/dist/__tests__/certification/agent-certificate.test.d.ts +2 -0
- package/dist/__tests__/certification/agent-certificate.test.d.ts.map +1 -0
- package/dist/__tests__/certification/agent-certificate.test.js +78 -0
- package/dist/__tests__/certification/agent-certificate.test.js.map +1 -0
- package/dist/__tests__/certification/verify-endpoint.test.d.ts +2 -0
- package/dist/__tests__/certification/verify-endpoint.test.d.ts.map +1 -0
- package/dist/__tests__/certification/verify-endpoint.test.js +81 -0
- package/dist/__tests__/certification/verify-endpoint.test.js.map +1 -0
- package/dist/__tests__/compliance/ai-frameworks.test.d.ts +2 -0
- package/dist/__tests__/compliance/ai-frameworks.test.d.ts.map +1 -0
- package/dist/__tests__/compliance/ai-frameworks.test.js +87 -0
- package/dist/__tests__/compliance/ai-frameworks.test.js.map +1 -0
- package/dist/__tests__/eval/llm-analyzer.test.d.ts +2 -0
- package/dist/__tests__/eval/llm-analyzer.test.d.ts.map +1 -0
- package/dist/__tests__/eval/llm-analyzer.test.js +93 -0
- package/dist/__tests__/eval/llm-analyzer.test.js.map +1 -0
- package/dist/__tests__/eval/redteam-harness.test.d.ts +2 -0
- package/dist/__tests__/eval/redteam-harness.test.d.ts.map +1 -0
- package/dist/__tests__/eval/redteam-harness.test.js +136 -0
- package/dist/__tests__/eval/redteam-harness.test.js.map +1 -0
- package/dist/__tests__/evidence/evidence.test.d.ts +2 -0
- package/dist/__tests__/evidence/evidence.test.d.ts.map +1 -0
- package/dist/__tests__/evidence/evidence.test.js +240 -0
- package/dist/__tests__/evidence/evidence.test.js.map +1 -0
- package/dist/__tests__/history/decisions.test.d.ts +2 -0
- package/dist/__tests__/history/decisions.test.d.ts.map +1 -0
- package/dist/__tests__/history/decisions.test.js +54 -0
- package/dist/__tests__/history/decisions.test.js.map +1 -0
- package/dist/__tests__/http-auth.test.d.ts +2 -0
- package/dist/__tests__/http-auth.test.d.ts.map +1 -0
- package/dist/__tests__/http-auth.test.js +55 -0
- package/dist/__tests__/http-auth.test.js.map +1 -0
- package/dist/__tests__/http-policy.test.d.ts +2 -0
- package/dist/__tests__/http-policy.test.d.ts.map +1 -0
- package/dist/__tests__/http-policy.test.js +69 -0
- package/dist/__tests__/http-policy.test.js.map +1 -0
- package/dist/__tests__/http-server-transport.test.d.ts +2 -0
- package/dist/__tests__/http-server-transport.test.d.ts.map +1 -0
- package/dist/__tests__/http-server-transport.test.js +132 -0
- package/dist/__tests__/http-server-transport.test.js.map +1 -0
- package/dist/__tests__/integration/destructive-guards.test.d.ts +2 -0
- package/dist/__tests__/integration/destructive-guards.test.d.ts.map +1 -0
- package/dist/__tests__/integration/destructive-guards.test.js +49 -0
- package/dist/__tests__/integration/destructive-guards.test.js.map +1 -0
- package/dist/__tests__/logger-redaction.test.d.ts +2 -0
- package/dist/__tests__/logger-redaction.test.d.ts.map +1 -0
- package/dist/__tests__/logger-redaction.test.js +74 -0
- package/dist/__tests__/logger-redaction.test.js.map +1 -0
- package/dist/__tests__/manifest-schema.test.d.ts +2 -0
- package/dist/__tests__/manifest-schema.test.d.ts.map +1 -0
- package/dist/__tests__/manifest-schema.test.js +43 -0
- package/dist/__tests__/manifest-schema.test.js.map +1 -0
- package/dist/__tests__/scanners/builtin-rules.test.d.ts +2 -0
- package/dist/__tests__/scanners/builtin-rules.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/builtin-rules.test.js +51 -0
- package/dist/__tests__/scanners/builtin-rules.test.js.map +1 -0
- package/dist/__tests__/scanners/runtime/golden-path-runner.test.js +13 -1
- package/dist/__tests__/scanners/runtime/golden-path-runner.test.js.map +1 -1
- package/dist/__tests__/tool-guard.test.d.ts +2 -0
- package/dist/__tests__/tool-guard.test.d.ts.map +1 -0
- package/dist/__tests__/tool-guard.test.js +97 -0
- package/dist/__tests__/tool-guard.test.js.map +1 -0
- package/dist/__tests__/util/contained-file.test.d.ts +2 -0
- package/dist/__tests__/util/contained-file.test.d.ts.map +1 -0
- package/dist/__tests__/util/contained-file.test.js +78 -0
- package/dist/__tests__/util/contained-file.test.js.map +1 -0
- package/dist/__tests__/util/subprocess.test.d.ts +2 -0
- package/dist/__tests__/util/subprocess.test.d.ts.map +1 -0
- package/dist/__tests__/util/subprocess.test.js +48 -0
- package/dist/__tests__/util/subprocess.test.js.map +1 -0
- package/dist/action/diff-mode.d.ts.map +1 -1
- package/dist/action/diff-mode.js +31 -12
- package/dist/action/diff-mode.js.map +1 -1
- package/dist/agents/antagonist/challenger.d.ts +46 -0
- package/dist/agents/antagonist/challenger.d.ts.map +1 -0
- package/dist/agents/antagonist/challenger.js +257 -0
- package/dist/agents/antagonist/challenger.js.map +1 -0
- package/dist/agents/antagonist/index.d.ts +31 -0
- package/dist/agents/antagonist/index.d.ts.map +1 -0
- package/dist/agents/antagonist/index.js +175 -0
- package/dist/agents/antagonist/index.js.map +1 -0
- package/dist/agents/antagonist/prioritizer.d.ts +27 -0
- package/dist/agents/antagonist/prioritizer.d.ts.map +1 -0
- package/dist/agents/antagonist/prioritizer.js +181 -0
- package/dist/agents/antagonist/prioritizer.js.map +1 -0
- package/dist/agents/antagonist/prompts.d.ts +12 -0
- package/dist/agents/antagonist/prompts.d.ts.map +1 -0
- package/dist/agents/antagonist/prompts.js +155 -0
- package/dist/agents/antagonist/prompts.js.map +1 -0
- package/dist/agents/antagonist/synthesizer.d.ts +34 -0
- package/dist/agents/antagonist/synthesizer.d.ts.map +1 -0
- package/dist/agents/antagonist/synthesizer.js +451 -0
- package/dist/agents/antagonist/synthesizer.js.map +1 -0
- package/dist/agents/antagonist/types.d.ts +145 -0
- package/dist/agents/antagonist/types.d.ts.map +1 -0
- package/dist/agents/antagonist/types.js +63 -0
- package/dist/agents/antagonist/types.js.map +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +2 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/certification/agent-certificate-map.d.ts +51 -0
- package/dist/certification/agent-certificate-map.d.ts.map +1 -0
- package/dist/certification/agent-certificate-map.js +265 -0
- package/dist/certification/agent-certificate-map.js.map +1 -0
- package/dist/certification/agent-certificate-sample.d.ts +25 -0
- package/dist/certification/agent-certificate-sample.d.ts.map +1 -0
- package/dist/certification/agent-certificate-sample.js +207 -0
- package/dist/certification/agent-certificate-sample.js.map +1 -0
- package/dist/certification/agent-certificate.d.ts +1981 -0
- package/dist/certification/agent-certificate.d.ts.map +1 -0
- package/dist/certification/agent-certificate.js +309 -0
- package/dist/certification/agent-certificate.js.map +1 -0
- package/dist/certification/autofix.d.ts.map +1 -1
- package/dist/certification/autofix.js +5 -3
- package/dist/certification/autofix.js.map +1 -1
- package/dist/certification/consensus.test.js +2 -0
- package/dist/certification/consensus.test.js.map +1 -1
- package/dist/certification/store.d.ts.map +1 -1
- package/dist/certification/store.js +11 -3
- package/dist/certification/store.js.map +1 -1
- package/dist/certification/types.d.ts +1 -1
- package/dist/certification/types.d.ts.map +1 -1
- package/dist/certification/types.js +2 -0
- package/dist/certification/types.js.map +1 -1
- package/dist/certification/verify-endpoint.d.ts +48 -0
- package/dist/certification/verify-endpoint.d.ts.map +1 -0
- package/dist/certification/verify-endpoint.js +79 -0
- package/dist/certification/verify-endpoint.js.map +1 -0
- package/dist/compliance/index.d.ts +2 -0
- package/dist/compliance/index.d.ts.map +1 -1
- package/dist/compliance/index.js +4 -0
- package/dist/compliance/index.js.map +1 -1
- package/dist/compliance/iso42001.d.ts +21 -0
- package/dist/compliance/iso42001.d.ts.map +1 -0
- package/dist/compliance/iso42001.js +160 -0
- package/dist/compliance/iso42001.js.map +1 -0
- package/dist/compliance/mapper.d.ts.map +1 -1
- package/dist/compliance/mapper.js +12 -0
- package/dist/compliance/mapper.js.map +1 -1
- package/dist/compliance/nist-ai-rmf.d.ts +20 -0
- package/dist/compliance/nist-ai-rmf.d.ts.map +1 -0
- package/dist/compliance/nist-ai-rmf.js +140 -0
- package/dist/compliance/nist-ai-rmf.js.map +1 -0
- package/dist/config/flags.d.ts +4 -4
- package/dist/eval/fixtures.d.ts.map +1 -1
- package/dist/eval/fixtures.js +161 -119
- package/dist/eval/fixtures.js.map +1 -1
- package/dist/eval/fixtures.test.js +4 -2
- package/dist/eval/fixtures.test.js.map +1 -1
- package/dist/eval/llm-analyzer.d.ts +40 -0
- package/dist/eval/llm-analyzer.d.ts.map +1 -0
- package/dist/eval/llm-analyzer.js +154 -0
- package/dist/eval/llm-analyzer.js.map +1 -0
- package/dist/eval/redteam-harness.d.ts +95 -0
- package/dist/eval/redteam-harness.d.ts.map +1 -0
- package/dist/eval/redteam-harness.js +137 -0
- package/dist/eval/redteam-harness.js.map +1 -0
- package/dist/evidence/collector.d.ts.map +1 -1
- package/dist/evidence/collector.js +21 -1
- package/dist/evidence/collector.js.map +1 -1
- package/dist/evidence/store.d.ts.map +1 -1
- package/dist/evidence/store.js +29 -5
- package/dist/evidence/store.js.map +1 -1
- package/dist/evidence/types.d.ts +16 -9
- package/dist/evidence/types.d.ts.map +1 -1
- package/dist/history/decisions.d.ts +63 -0
- package/dist/history/decisions.d.ts.map +1 -0
- package/dist/history/decisions.js +60 -0
- package/dist/history/decisions.js.map +1 -0
- package/dist/history/index.d.ts +2 -0
- package/dist/history/index.d.ts.map +1 -1
- package/dist/history/index.js +2 -0
- package/dist/history/index.js.map +1 -1
- package/dist/history/types.d.ts +34 -5
- package/dist/history/types.d.ts.map +1 -1
- package/dist/history/types.js +2 -0
- package/dist/history/types.js.map +1 -1
- package/dist/http-auth.d.ts +22 -0
- package/dist/http-auth.d.ts.map +1 -0
- package/dist/http-auth.js +58 -0
- package/dist/http-auth.js.map +1 -0
- package/dist/http-policy.d.ts +30 -0
- package/dist/http-policy.d.ts.map +1 -0
- package/dist/http-policy.js +54 -0
- package/dist/http-policy.js.map +1 -0
- package/dist/http-server.js +195 -12
- package/dist/http-server.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +411 -15
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +56 -2
- package/dist/logger.js.map +1 -1
- package/dist/plugins/types.d.ts +2 -2
- package/dist/sbom/provenance.test.js +2 -2
- package/dist/sbom/provenance.test.js.map +1 -1
- package/dist/sbom/signing.d.ts.map +1 -1
- package/dist/sbom/signing.js +5 -3
- package/dist/sbom/signing.js.map +1 -1
- package/dist/scanners/agent/prompt-injection-fuzzer.d.ts.map +1 -1
- package/dist/scanners/agent/prompt-injection-fuzzer.js +26 -0
- package/dist/scanners/agent/prompt-injection-fuzzer.js.map +1 -1
- package/dist/scanners/agent/types.d.ts +10 -10
- package/dist/scanners/bandit.d.ts.map +1 -1
- package/dist/scanners/bandit.js +35 -29
- package/dist/scanners/bandit.js.map +1 -1
- package/dist/scanners/binary-analysis.d.ts.map +1 -1
- package/dist/scanners/binary-analysis.js +24 -49
- package/dist/scanners/binary-analysis.js.map +1 -1
- package/dist/scanners/brakeman.d.ts.map +1 -1
- package/dist/scanners/brakeman.js +19 -33
- package/dist/scanners/brakeman.js.map +1 -1
- package/dist/scanners/builtin-rules.d.ts +24 -0
- package/dist/scanners/builtin-rules.d.ts.map +1 -0
- package/dist/scanners/builtin-rules.js +175 -0
- package/dist/scanners/builtin-rules.js.map +1 -0
- package/dist/scanners/dast.d.ts.map +1 -1
- package/dist/scanners/dast.js +24 -34
- package/dist/scanners/dast.js.map +1 -1
- package/dist/scanners/deploy/types.d.ts +6 -6
- package/dist/scanners/eslint.d.ts.map +1 -1
- package/dist/scanners/eslint.js +15 -24
- package/dist/scanners/eslint.js.map +1 -1
- package/dist/scanners/gosec.d.ts.map +1 -1
- package/dist/scanners/gosec.js +14 -62
- package/dist/scanners/gosec.js.map +1 -1
- package/dist/scanners/index.d.ts.map +1 -1
- package/dist/scanners/index.js +38 -7
- package/dist/scanners/index.js.map +1 -1
- package/dist/scanners/memory-safety.d.ts.map +1 -1
- package/dist/scanners/memory-safety.js +27 -28
- package/dist/scanners/memory-safety.js.map +1 -1
- package/dist/scanners/openapi.d.ts.map +1 -1
- package/dist/scanners/openapi.js +14 -22
- package/dist/scanners/openapi.js.map +1 -1
- package/dist/scanners/race-condition.d.ts.map +1 -1
- package/dist/scanners/race-condition.js +17 -16
- package/dist/scanners/race-condition.js.map +1 -1
- package/dist/scanners/runtime/types.d.ts +4 -4
- package/dist/scanners/rust.d.ts.map +1 -1
- package/dist/scanners/rust.js +38 -37
- package/dist/scanners/rust.js.map +1 -1
- package/dist/scanners/scale/types.d.ts +16 -16
- package/dist/scanners/secrets.d.ts.map +1 -1
- package/dist/scanners/secrets.js +66 -78
- package/dist/scanners/secrets.js.map +1 -1
- package/dist/scanners/semgrep.d.ts +2 -0
- package/dist/scanners/semgrep.d.ts.map +1 -1
- package/dist/scanners/semgrep.js +12 -0
- package/dist/scanners/semgrep.js.map +1 -1
- package/dist/scanners/terraform.d.ts.map +1 -1
- package/dist/scanners/terraform.js +47 -40
- package/dist/scanners/terraform.js.map +1 -1
- package/dist/scanners/trivy.d.ts.map +1 -1
- package/dist/scanners/trivy.js +38 -30
- package/dist/scanners/trivy.js.map +1 -1
- package/dist/tool-guard.d.ts +40 -0
- package/dist/tool-guard.d.ts.map +1 -0
- package/dist/tool-guard.js +55 -0
- package/dist/tool-guard.js.map +1 -0
- package/dist/util/index.d.ts +2 -1
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +2 -1
- package/dist/util/index.js.map +1 -1
- package/dist/util/paths.d.ts +20 -3
- package/dist/util/paths.d.ts.map +1 -1
- package/dist/util/paths.js +84 -4
- package/dist/util/paths.js.map +1 -1
- package/dist/util/subprocess.d.ts +51 -0
- package/dist/util/subprocess.d.ts.map +1 -0
- package/dist/util/subprocess.js +77 -0
- package/dist/util/subprocess.js.map +1 -0
- package/package.json +12 -2
- package/dist/eval/fixtures/healthcare/audit-gaps.d.ts +0 -28
- package/dist/eval/fixtures/healthcare/audit-gaps.d.ts.map +0 -1
- package/dist/eval/fixtures/healthcare/audit-gaps.js +0 -90
- package/dist/eval/fixtures/healthcare/audit-gaps.js.map +0 -1
- package/dist/eval/fixtures/healthcare/consent-bypass.d.ts +0 -31
- package/dist/eval/fixtures/healthcare/consent-bypass.d.ts.map +0 -1
- package/dist/eval/fixtures/healthcare/consent-bypass.js +0 -61
- package/dist/eval/fixtures/healthcare/consent-bypass.js.map +0 -1
- package/dist/eval/fixtures/healthcare/phi-in-logs.d.ts +0 -24
- package/dist/eval/fixtures/healthcare/phi-in-logs.d.ts.map +0 -1
- package/dist/eval/fixtures/healthcare/phi-in-logs.js +0 -41
- package/dist/eval/fixtures/healthcare/phi-in-logs.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/eval/fixtures.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/eval/fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,10 +71,12 @@ describe("fixtures", () => {
|
|
|
71
71
|
expect(reactFixture).toBeDefined();
|
|
72
72
|
expect(reactFixture.files[0].language).toBe("tsx");
|
|
73
73
|
});
|
|
74
|
-
it("includes
|
|
74
|
+
it("includes a reflected-output XSS test case", () => {
|
|
75
75
|
const domFixture = xssFixtures.find((f) => f.id === "xss-002");
|
|
76
76
|
expect(domFixture).toBeDefined();
|
|
77
|
-
|
|
77
|
+
// realistic reflected XSS: request input echoed into the response
|
|
78
|
+
expect(domFixture.files[0].content).toMatch(/res\.(send|write)/);
|
|
79
|
+
expect(domFixture.files[0].content).toContain("req.query");
|
|
78
80
|
});
|
|
79
81
|
});
|
|
80
82
|
describe("secretsFixtures", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.test.js","sourceRoot":"","sources":["../../src/eval/fixtures.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fixtures.test.js","sourceRoot":"","sources":["../../src/eval/fixtures.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM security analyzer for the accuracy benchmark.
|
|
3
|
+
*
|
|
4
|
+
* Runs the LLM layer (Anthropic, optionally OpenAI for cross-model
|
|
5
|
+
* consensus) over a code sample and returns structured findings in the
|
|
6
|
+
* same shape the eval harness matches against ground truth. This lets
|
|
7
|
+
* the benchmark measure the *full pipeline*, not just the deterministic
|
|
8
|
+
* scanners — and it's where the logic/semantic classes (auth-bypass,
|
|
9
|
+
* RLS, deserialization) the scanners miss should get caught.
|
|
10
|
+
*
|
|
11
|
+
* Providers are loaded via dynamic import so neither SDK is a hard
|
|
12
|
+
* runtime dependency (openai is only needed for consensus).
|
|
13
|
+
*
|
|
14
|
+
* @module eval/llm-analyzer
|
|
15
|
+
*/
|
|
16
|
+
import type { ActualFinding } from "./types.js";
|
|
17
|
+
export type LlmProvider = "anthropic" | "openai";
|
|
18
|
+
/** Whether a given provider can run (API key present). */
|
|
19
|
+
export declare function providerAvailable(provider: LlmProvider): boolean;
|
|
20
|
+
/** Analyze a single file with one provider. */
|
|
21
|
+
export declare function analyzeCode(file: string, code: string, provider: LlmProvider): Promise<ActualFinding[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Two findings agree if they name the same file, the same category, and a
|
|
24
|
+
* line within tolerance. Category is the part after the `<provider>:`
|
|
25
|
+
* prefix in ruleId, so cross-provider findings compare correctly.
|
|
26
|
+
*/
|
|
27
|
+
export declare function findingsAgree(a: ActualFinding, b: ActualFinding): boolean;
|
|
28
|
+
/** The findings from `primary` that at least one `other` finding agrees with. */
|
|
29
|
+
export declare function consensusOf(primary: ActualFinding[], other: ActualFinding[]): ActualFinding[];
|
|
30
|
+
/**
|
|
31
|
+
* Cross-model consensus: run both providers and keep findings both agree
|
|
32
|
+
* on (same file, category, and line within tolerance). Trades recall for
|
|
33
|
+
* confidence — every kept finding has two-model corroboration. That's the
|
|
34
|
+
* value proposition of multi-model consensus for certification.
|
|
35
|
+
*/
|
|
36
|
+
export declare function analyzeWithConsensus(file: string, code: string): Promise<{
|
|
37
|
+
consensus: ActualFinding[];
|
|
38
|
+
byProvider: Record<string, ActualFinding[]>;
|
|
39
|
+
}>;
|
|
40
|
+
//# sourceMappingURL=llm-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-analyzer.d.ts","sourceRoot":"","sources":["../../src/eval/llm-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;AA4EjD,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAIhE;AA2DD,+CAA+C;AAC/C,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,aAAa,EAAE,CAAC,CAI1B;AAKD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAMzE;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CACzB,OAAO,EAAE,aAAa,EAAE,EACxB,KAAK,EAAE,aAAa,EAAE,GACrB,aAAa,EAAE,CAEjB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,SAAS,EAAE,aAAa,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;CAAE,CAAC,CAOtF"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM security analyzer for the accuracy benchmark.
|
|
3
|
+
*
|
|
4
|
+
* Runs the LLM layer (Anthropic, optionally OpenAI for cross-model
|
|
5
|
+
* consensus) over a code sample and returns structured findings in the
|
|
6
|
+
* same shape the eval harness matches against ground truth. This lets
|
|
7
|
+
* the benchmark measure the *full pipeline*, not just the deterministic
|
|
8
|
+
* scanners — and it's where the logic/semantic classes (auth-bypass,
|
|
9
|
+
* RLS, deserialization) the scanners miss should get caught.
|
|
10
|
+
*
|
|
11
|
+
* Providers are loaded via dynamic import so neither SDK is a hard
|
|
12
|
+
* runtime dependency (openai is only needed for consensus).
|
|
13
|
+
*
|
|
14
|
+
* @module eval/llm-analyzer
|
|
15
|
+
*/
|
|
16
|
+
import { parseJson } from "../util/json.js";
|
|
17
|
+
const ANTHROPIC_MODEL = process.env.VASPERA_ANTHROPIC_MODEL || "claude-opus-4-8";
|
|
18
|
+
const OPENAI_MODEL = process.env.VASPERA_OPENAI_MODEL || "gpt-4o";
|
|
19
|
+
const SYSTEM_PROMPT = `You are a precise application-security code reviewer. \
|
|
20
|
+
Identify only REAL, exploitable security vulnerabilities in the given code — \
|
|
21
|
+
not style issues, not theoretical concerns. For each, give the 1-indexed line \
|
|
22
|
+
of the dangerous sink, a category, a severity, and a short description. \
|
|
23
|
+
Do not report safe/parameterized/validated code. Prefer precision over recall: \
|
|
24
|
+
if you are not confident it is exploitable, omit it.`;
|
|
25
|
+
const INSTRUCTIONS = `Analyze this file for security vulnerabilities. \
|
|
26
|
+
Categories to consider: sql-injection, xss, command-injection, ssrf, \
|
|
27
|
+
path-traversal, auth-bypass, broken-access-control, rls-bypass, \
|
|
28
|
+
insecure-deserialization, xxe, hardcoded-secret, pii-exposure, \
|
|
29
|
+
prompt-injection, excessive-agency, exfil-path. \
|
|
30
|
+
Return JSON only.`;
|
|
31
|
+
/** JSON schema for the structured response (Anthropic output_config). */
|
|
32
|
+
const RESPONSE_SCHEMA = {
|
|
33
|
+
type: "object",
|
|
34
|
+
properties: {
|
|
35
|
+
findings: {
|
|
36
|
+
type: "array",
|
|
37
|
+
items: {
|
|
38
|
+
type: "object",
|
|
39
|
+
properties: {
|
|
40
|
+
line: { type: "integer" },
|
|
41
|
+
category: { type: "string" },
|
|
42
|
+
severity: {
|
|
43
|
+
type: "string",
|
|
44
|
+
enum: ["critical", "high", "medium", "low", "info"],
|
|
45
|
+
},
|
|
46
|
+
description: { type: "string" },
|
|
47
|
+
},
|
|
48
|
+
required: ["line", "category", "severity", "description"],
|
|
49
|
+
additionalProperties: false,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
required: ["findings"],
|
|
54
|
+
additionalProperties: false,
|
|
55
|
+
};
|
|
56
|
+
function toActualFindings(provider, file, parsed) {
|
|
57
|
+
return (parsed.findings || []).map((f) => ({
|
|
58
|
+
scanner: `llm:${provider}`,
|
|
59
|
+
ruleId: `${provider}:${f.category}`,
|
|
60
|
+
file,
|
|
61
|
+
line: f.line,
|
|
62
|
+
severity: f.severity,
|
|
63
|
+
message: `${f.category}: ${f.description}`,
|
|
64
|
+
confidence: 100,
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
function userPrompt(file, code) {
|
|
68
|
+
return `${INSTRUCTIONS}\n\n## File: ${file}\n\`\`\`\n${code}\n\`\`\``;
|
|
69
|
+
}
|
|
70
|
+
/** Whether a given provider can run (API key present). */
|
|
71
|
+
export function providerAvailable(provider) {
|
|
72
|
+
return provider === "anthropic"
|
|
73
|
+
? !!process.env.ANTHROPIC_API_KEY
|
|
74
|
+
: !!process.env.OPENAI_API_KEY;
|
|
75
|
+
}
|
|
76
|
+
async function analyzeWithAnthropic(file, code) {
|
|
77
|
+
const { default: Anthropic } = await import("@anthropic-ai/sdk");
|
|
78
|
+
const client = new Anthropic();
|
|
79
|
+
const response = await client.messages.create({
|
|
80
|
+
model: ANTHROPIC_MODEL,
|
|
81
|
+
max_tokens: 4096,
|
|
82
|
+
system: SYSTEM_PROMPT,
|
|
83
|
+
output_config: { format: { type: "json_schema", schema: RESPONSE_SCHEMA } },
|
|
84
|
+
messages: [{ role: "user", content: userPrompt(file, code) }],
|
|
85
|
+
});
|
|
86
|
+
const block = response.content.find((b) => b.type === "text");
|
|
87
|
+
const text = block?.text ?? "{\"findings\":[]}";
|
|
88
|
+
const parsed = parseJson(text, "anthropic analysis");
|
|
89
|
+
return toActualFindings("anthropic", file, parsed);
|
|
90
|
+
}
|
|
91
|
+
async function analyzeWithOpenAI(file, code) {
|
|
92
|
+
// Variable specifier: keeps `openai` an OPTIONAL dependency — not in the
|
|
93
|
+
// build, loaded only if installed (`npm install openai`) for consensus.
|
|
94
|
+
const pkg = "openai";
|
|
95
|
+
const mod = (await import(pkg));
|
|
96
|
+
const client = new mod.default();
|
|
97
|
+
const response = await client.chat.completions.create({
|
|
98
|
+
model: OPENAI_MODEL,
|
|
99
|
+
// Structured outputs: force the EXACT same {findings:[...]} shape
|
|
100
|
+
// Anthropic returns. Plain json_object mode does not enforce a schema
|
|
101
|
+
// — OpenAI would otherwise return {vulnerabilities:[...]} and nothing
|
|
102
|
+
// would ever match for consensus. strict requires every property in
|
|
103
|
+
// `required` and additionalProperties:false (RESPONSE_SCHEMA already
|
|
104
|
+
// satisfies both).
|
|
105
|
+
response_format: {
|
|
106
|
+
type: "json_schema",
|
|
107
|
+
json_schema: { name: "security_findings", strict: true, schema: RESPONSE_SCHEMA },
|
|
108
|
+
},
|
|
109
|
+
messages: [
|
|
110
|
+
{ role: "system", content: SYSTEM_PROMPT },
|
|
111
|
+
{ role: "user", content: userPrompt(file, code) },
|
|
112
|
+
],
|
|
113
|
+
});
|
|
114
|
+
const text = response.choices[0]?.message?.content ?? "{\"findings\":[]}";
|
|
115
|
+
const parsed = parseJson(text, "openai analysis");
|
|
116
|
+
return toActualFindings("openai", file, parsed);
|
|
117
|
+
}
|
|
118
|
+
/** Analyze a single file with one provider. */
|
|
119
|
+
export async function analyzeCode(file, code, provider) {
|
|
120
|
+
return provider === "anthropic"
|
|
121
|
+
? analyzeWithAnthropic(file, code)
|
|
122
|
+
: analyzeWithOpenAI(file, code);
|
|
123
|
+
}
|
|
124
|
+
/** Line proximity (in lines) within which two findings are "the same spot". */
|
|
125
|
+
const CONSENSUS_LINE_TOLERANCE = 3;
|
|
126
|
+
/**
|
|
127
|
+
* Two findings agree if they name the same file, the same category, and a
|
|
128
|
+
* line within tolerance. Category is the part after the `<provider>:`
|
|
129
|
+
* prefix in ruleId, so cross-provider findings compare correctly.
|
|
130
|
+
*/
|
|
131
|
+
export function findingsAgree(a, b) {
|
|
132
|
+
return (a.file === b.file &&
|
|
133
|
+
a.ruleId.split(":")[1] === b.ruleId.split(":")[1] &&
|
|
134
|
+
Math.abs(a.line - b.line) <= CONSENSUS_LINE_TOLERANCE);
|
|
135
|
+
}
|
|
136
|
+
/** The findings from `primary` that at least one `other` finding agrees with. */
|
|
137
|
+
export function consensusOf(primary, other) {
|
|
138
|
+
return primary.filter((a) => other.some((b) => findingsAgree(a, b)));
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Cross-model consensus: run both providers and keep findings both agree
|
|
142
|
+
* on (same file, category, and line within tolerance). Trades recall for
|
|
143
|
+
* confidence — every kept finding has two-model corroboration. That's the
|
|
144
|
+
* value proposition of multi-model consensus for certification.
|
|
145
|
+
*/
|
|
146
|
+
export async function analyzeWithConsensus(file, code) {
|
|
147
|
+
const [anthropic, openai] = await Promise.all([
|
|
148
|
+
analyzeCode(file, code, "anthropic"),
|
|
149
|
+
analyzeCode(file, code, "openai"),
|
|
150
|
+
]);
|
|
151
|
+
const consensus = consensusOf(anthropic, openai);
|
|
152
|
+
return { consensus, byProvider: { anthropic, openai } };
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=llm-analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-analyzer.js","sourceRoot":"","sources":["../../src/eval/llm-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Red-Team Resistance Harness.
|
|
3
|
+
*
|
|
4
|
+
* The accuracy benchmark (`run-benchmark`, `run-llm-benchmark`) measures
|
|
5
|
+
* how well the engine *detects* vulnerabilities in code. This harness
|
|
6
|
+
* measures the complementary thing the roadmap calls for: a reproducible
|
|
7
|
+
* **behavioral resistance score** for an agent / MCP target — how well it
|
|
8
|
+
* survives a prompt-injection battery, plus the tool-scope / exfiltration
|
|
9
|
+
* surface it exposes.
|
|
10
|
+
*
|
|
11
|
+
* It is a scoring layer over primitives that already exist
|
|
12
|
+
* (`runAgentScanners` → the prompt-injection fuzzer, exfil-path graph,
|
|
13
|
+
* sandbox audit, credential-scope audit, manifest audit). Those scanners
|
|
14
|
+
* are deterministic and the payload corpus is fixed, so the score is
|
|
15
|
+
* reproducible run-to-run for a given manifest — a number you can put on a
|
|
16
|
+
* slide and a gate you can fail a build on.
|
|
17
|
+
*
|
|
18
|
+
* Two deliberately separate measures, because they behave differently:
|
|
19
|
+
*
|
|
20
|
+
* - **Injection resistance (headline):** the share of tools that resisted
|
|
21
|
+
* every payload in the battery. A behavioral, normalized 0–100 score.
|
|
22
|
+
* - **Exposure surface (context):** counts of exfil paths / sandbox
|
|
23
|
+
* escapes / over-scoped credentials / manifest issues. These scale with
|
|
24
|
+
* tool count and breadth — a broad security tool legitimately has a
|
|
25
|
+
* large surface (which is exactly why our own self-cert *exempts* the
|
|
26
|
+
* sandbox/exfil scanners as false-positive-heavy for this codebase). So
|
|
27
|
+
* they are reported as surface, NOT folded into the resistance score
|
|
28
|
+
* where raw counts would meaninglessly floor it to zero.
|
|
29
|
+
*
|
|
30
|
+
* Honest scope: this is the reproducible, offline/static floor (tool
|
|
31
|
+
* surface, manifest hygiene, susceptibility patterns), not a live agent
|
|
32
|
+
* executing payloads against a running model. A live-runtime battery is a
|
|
33
|
+
* future extension.
|
|
34
|
+
*
|
|
35
|
+
* @module eval/redteam-harness
|
|
36
|
+
*/
|
|
37
|
+
import type { AgentScannerType, MCPManifest } from "../scanners/agent/types.js";
|
|
38
|
+
import type { DeterministicFinding } from "../scanners/types.js";
|
|
39
|
+
import type { Severity } from "../certification/types.js";
|
|
40
|
+
/** Exposure dimensions and the scanner that feeds each. */
|
|
41
|
+
export declare const EXPOSURE_DIMENSIONS: ReadonlyArray<{
|
|
42
|
+
dimension: string;
|
|
43
|
+
scanner: AgentScannerType;
|
|
44
|
+
}>;
|
|
45
|
+
export interface InjectionResistance {
|
|
46
|
+
/** 0–100: share of tools that resisted every payload in the battery. */
|
|
47
|
+
score: number;
|
|
48
|
+
grade: string;
|
|
49
|
+
toolsTested: number;
|
|
50
|
+
vulnerableTools: number;
|
|
51
|
+
resistantTools: number;
|
|
52
|
+
}
|
|
53
|
+
export interface ExposureDimension {
|
|
54
|
+
dimension: string;
|
|
55
|
+
scanner: AgentScannerType;
|
|
56
|
+
findingCount: number;
|
|
57
|
+
/** critical + high findings — the ones worth triage. */
|
|
58
|
+
criticalHigh: number;
|
|
59
|
+
bySeverity: Record<Severity, number>;
|
|
60
|
+
clean: boolean;
|
|
61
|
+
}
|
|
62
|
+
export interface RedTeamReport {
|
|
63
|
+
target: string;
|
|
64
|
+
manifestName: string;
|
|
65
|
+
manifestVersion?: string;
|
|
66
|
+
corpus: "quick" | "standard" | "thorough";
|
|
67
|
+
injectionResistance: InjectionResistance;
|
|
68
|
+
exposure: ExposureDimension[];
|
|
69
|
+
/** Headline resistance score (== injectionResistance.score). */
|
|
70
|
+
overallScore: number;
|
|
71
|
+
grade: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Tool-level injection resistance from the fuzzer's findings: a tool is
|
|
75
|
+
* "vulnerable" if it has any per-tool prompt-injection finding (the
|
|
76
|
+
* `prompt-injection:summary` aggregate is excluded). Resistance is the
|
|
77
|
+
* share of tested tools with no such finding. Pure and deterministic.
|
|
78
|
+
*/
|
|
79
|
+
export declare function injectionResistanceScore(findings: DeterministicFinding[], toolsTested: number): InjectionResistance;
|
|
80
|
+
/** Summarize one exposure dimension's findings (counts, not a 0–100 score). */
|
|
81
|
+
export declare function summarizeExposure(dimension: string, scanner: AgentScannerType, findings: DeterministicFinding[]): ExposureDimension;
|
|
82
|
+
export interface RedTeamOptions {
|
|
83
|
+
manifest: MCPManifest;
|
|
84
|
+
target?: string;
|
|
85
|
+
corpus?: "quick" | "standard" | "thorough";
|
|
86
|
+
/** Source path for the source-reading scanners (sandbox audit). */
|
|
87
|
+
sourcePath?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Run the red-team battery against a manifest and return a reproducible
|
|
91
|
+
* resistance report. Runs only the behavioral / red-team-relevant agent
|
|
92
|
+
* scanners (no supply-chain network calls, no baseline-dependent drift).
|
|
93
|
+
*/
|
|
94
|
+
export declare function runRedTeamBenchmark(options: RedTeamOptions): Promise<RedTeamReport>;
|
|
95
|
+
//# sourceMappingURL=redteam-harness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redteam-harness.d.ts","sourceRoot":"","sources":["../../src/eval/redteam-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAG1D,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAKA,CAAC;AAeF,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IAC1C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,oBAAoB,EAAE,EAChC,WAAW,EAAE,MAAM,GAClB,mBAAmB,CAkBrB;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,oBAAoB,EAAE,GAC/B,iBAAiB,CAWnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IAC3C,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CA6CxB"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Red-Team Resistance Harness.
|
|
3
|
+
*
|
|
4
|
+
* The accuracy benchmark (`run-benchmark`, `run-llm-benchmark`) measures
|
|
5
|
+
* how well the engine *detects* vulnerabilities in code. This harness
|
|
6
|
+
* measures the complementary thing the roadmap calls for: a reproducible
|
|
7
|
+
* **behavioral resistance score** for an agent / MCP target — how well it
|
|
8
|
+
* survives a prompt-injection battery, plus the tool-scope / exfiltration
|
|
9
|
+
* surface it exposes.
|
|
10
|
+
*
|
|
11
|
+
* It is a scoring layer over primitives that already exist
|
|
12
|
+
* (`runAgentScanners` → the prompt-injection fuzzer, exfil-path graph,
|
|
13
|
+
* sandbox audit, credential-scope audit, manifest audit). Those scanners
|
|
14
|
+
* are deterministic and the payload corpus is fixed, so the score is
|
|
15
|
+
* reproducible run-to-run for a given manifest — a number you can put on a
|
|
16
|
+
* slide and a gate you can fail a build on.
|
|
17
|
+
*
|
|
18
|
+
* Two deliberately separate measures, because they behave differently:
|
|
19
|
+
*
|
|
20
|
+
* - **Injection resistance (headline):** the share of tools that resisted
|
|
21
|
+
* every payload in the battery. A behavioral, normalized 0–100 score.
|
|
22
|
+
* - **Exposure surface (context):** counts of exfil paths / sandbox
|
|
23
|
+
* escapes / over-scoped credentials / manifest issues. These scale with
|
|
24
|
+
* tool count and breadth — a broad security tool legitimately has a
|
|
25
|
+
* large surface (which is exactly why our own self-cert *exempts* the
|
|
26
|
+
* sandbox/exfil scanners as false-positive-heavy for this codebase). So
|
|
27
|
+
* they are reported as surface, NOT folded into the resistance score
|
|
28
|
+
* where raw counts would meaninglessly floor it to zero.
|
|
29
|
+
*
|
|
30
|
+
* Honest scope: this is the reproducible, offline/static floor (tool
|
|
31
|
+
* surface, manifest hygiene, susceptibility patterns), not a live agent
|
|
32
|
+
* executing payloads against a running model. A live-runtime battery is a
|
|
33
|
+
* future extension.
|
|
34
|
+
*
|
|
35
|
+
* @module eval/redteam-harness
|
|
36
|
+
*/
|
|
37
|
+
import { runAgentScanners } from "../scanners/agent/index.js";
|
|
38
|
+
import { getGrade } from "./metrics.js";
|
|
39
|
+
/** Exposure dimensions and the scanner that feeds each. */
|
|
40
|
+
export const EXPOSURE_DIMENSIONS = [
|
|
41
|
+
{ dimension: "exfil-path", scanner: "exfil-path-graph" },
|
|
42
|
+
{ dimension: "sandbox", scanner: "sandbox-audit" },
|
|
43
|
+
{ dimension: "credential-scope", scanner: "credential-scope-audit" },
|
|
44
|
+
{ dimension: "manifest-hygiene", scanner: "manifest-audit" },
|
|
45
|
+
];
|
|
46
|
+
function emptySeverityCount() {
|
|
47
|
+
return { critical: 0, high: 0, medium: 0, low: 0, info: 0 };
|
|
48
|
+
}
|
|
49
|
+
function countBySeverity(findings) {
|
|
50
|
+
const bySeverity = emptySeverityCount();
|
|
51
|
+
for (const f of findings) {
|
|
52
|
+
const severity = (f.severity ?? "info");
|
|
53
|
+
bySeverity[severity] = (bySeverity[severity] ?? 0) + 1;
|
|
54
|
+
}
|
|
55
|
+
return bySeverity;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Tool-level injection resistance from the fuzzer's findings: a tool is
|
|
59
|
+
* "vulnerable" if it has any per-tool prompt-injection finding (the
|
|
60
|
+
* `prompt-injection:summary` aggregate is excluded). Resistance is the
|
|
61
|
+
* share of tested tools with no such finding. Pure and deterministic.
|
|
62
|
+
*/
|
|
63
|
+
export function injectionResistanceScore(findings, toolsTested) {
|
|
64
|
+
const vulnerable = new Set();
|
|
65
|
+
for (const f of findings) {
|
|
66
|
+
if (!f.ruleId.startsWith("prompt-injection:"))
|
|
67
|
+
continue;
|
|
68
|
+
if (f.ruleId === "prompt-injection:summary")
|
|
69
|
+
continue;
|
|
70
|
+
const tool = f.metadata?.tool ?? f.message;
|
|
71
|
+
vulnerable.add(tool);
|
|
72
|
+
}
|
|
73
|
+
const vulnerableTools = vulnerable.size;
|
|
74
|
+
const resistantTools = Math.max(0, toolsTested - vulnerableTools);
|
|
75
|
+
const score = toolsTested === 0 ? 0 : Math.round((100 * resistantTools) / toolsTested);
|
|
76
|
+
return {
|
|
77
|
+
score,
|
|
78
|
+
grade: getGrade(score / 100),
|
|
79
|
+
toolsTested,
|
|
80
|
+
vulnerableTools,
|
|
81
|
+
resistantTools,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/** Summarize one exposure dimension's findings (counts, not a 0–100 score). */
|
|
85
|
+
export function summarizeExposure(dimension, scanner, findings) {
|
|
86
|
+
const bySeverity = countBySeverity(findings);
|
|
87
|
+
const criticalHigh = bySeverity.critical + bySeverity.high;
|
|
88
|
+
return {
|
|
89
|
+
dimension,
|
|
90
|
+
scanner,
|
|
91
|
+
findingCount: findings.length,
|
|
92
|
+
criticalHigh,
|
|
93
|
+
bySeverity,
|
|
94
|
+
clean: findings.length === 0,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Run the red-team battery against a manifest and return a reproducible
|
|
99
|
+
* resistance report. Runs only the behavioral / red-team-relevant agent
|
|
100
|
+
* scanners (no supply-chain network calls, no baseline-dependent drift).
|
|
101
|
+
*/
|
|
102
|
+
export async function runRedTeamBenchmark(options) {
|
|
103
|
+
const corpus = options.corpus ?? "quick";
|
|
104
|
+
const result = await runAgentScanners({
|
|
105
|
+
target: { manifest: options.manifest, sourcePath: options.sourcePath },
|
|
106
|
+
authorized: true,
|
|
107
|
+
scanners: {
|
|
108
|
+
promptInjection: true,
|
|
109
|
+
exfilPath: true,
|
|
110
|
+
sandboxAudit: true,
|
|
111
|
+
credentialScope: true,
|
|
112
|
+
manifestAudit: true,
|
|
113
|
+
toolDrift: false,
|
|
114
|
+
permissionMinimiser: false,
|
|
115
|
+
supplyChain: false,
|
|
116
|
+
},
|
|
117
|
+
fuzzerCorpus: corpus,
|
|
118
|
+
createBaselineIfMissing: false,
|
|
119
|
+
});
|
|
120
|
+
const findingsByScanner = new Map();
|
|
121
|
+
for (const scan of result.scanners) {
|
|
122
|
+
findingsByScanner.set(scan.scanner, scan.findings);
|
|
123
|
+
}
|
|
124
|
+
const injectionResistance = injectionResistanceScore(findingsByScanner.get("prompt-injection-fuzzer") ?? [], options.manifest.tools.length);
|
|
125
|
+
const exposure = EXPOSURE_DIMENSIONS.filter((d) => findingsByScanner.has(d.scanner)).map((d) => summarizeExposure(d.dimension, d.scanner, findingsByScanner.get(d.scanner) ?? []));
|
|
126
|
+
return {
|
|
127
|
+
target: options.target ?? options.manifest.name,
|
|
128
|
+
manifestName: options.manifest.name,
|
|
129
|
+
manifestVersion: options.manifest.version,
|
|
130
|
+
corpus,
|
|
131
|
+
injectionResistance,
|
|
132
|
+
exposure,
|
|
133
|
+
overallScore: injectionResistance.score,
|
|
134
|
+
grade: injectionResistance.grade,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=redteam-harness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redteam-harness.js","sourceRoot":"","sources":["../../src/eval/redteam-harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/evidence/collector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/evidence/collector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAIhB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAqMpB;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAuLhC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAG3E;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA6D7E"}
|
|
@@ -10,6 +10,7 @@ import { join, basename } from "path";
|
|
|
10
10
|
import { createHash, randomUUID } from "crypto";
|
|
11
11
|
import { platform, release, hostname } from "os";
|
|
12
12
|
import { logger } from "../logger.js";
|
|
13
|
+
import { signContent } from "../sbom/signing.js";
|
|
13
14
|
const VASPERA_DIR = ".vaspera";
|
|
14
15
|
const DEFAULT_MAX_INLINE_SIZE = 50 * 1024; // 50KB
|
|
15
16
|
/**
|
|
@@ -183,7 +184,7 @@ function createInlineArtifact(content, type, name, description) {
|
|
|
183
184
|
* Collect evidence artifacts
|
|
184
185
|
*/
|
|
185
186
|
export async function collectEvidence(options) {
|
|
186
|
-
const { projectPath, certificationId, frameworks = [], includeSbom = true, includeHistory = true, includeScanResults = true, includeConfig = true, maxInlineSize = DEFAULT_MAX_INLINE_SIZE, } = options;
|
|
187
|
+
const { projectPath, certificationId, frameworks = [], includeSbom = true, includeHistory = true, includeScanResults = true, includeConfig = true, sign = false, maxInlineSize = DEFAULT_MAX_INLINE_SIZE, } = options;
|
|
187
188
|
const warnings = [];
|
|
188
189
|
const artifacts = [];
|
|
189
190
|
logger.info("evidence.collect.start", { projectPath, certificationId });
|
|
@@ -270,6 +271,25 @@ export async function collectEvidence(options) {
|
|
|
270
271
|
artifacts,
|
|
271
272
|
bundleDigest,
|
|
272
273
|
};
|
|
274
|
+
// Optionally sign the bundle digest with Sigstore. Mirrors the agent
|
|
275
|
+
// certificate: we sign the bundleDigest (the tamper-evidence anchor) and
|
|
276
|
+
// attach the full Sigstore bundle so verification is independent. Degrades
|
|
277
|
+
// gracefully to unsigned (with a warning) when no OIDC identity is present.
|
|
278
|
+
if (sign) {
|
|
279
|
+
const signed = await signContent(bundleDigest);
|
|
280
|
+
if (signed.signed) {
|
|
281
|
+
bundle.signature = {
|
|
282
|
+
signed: true,
|
|
283
|
+
digest: signed.digest,
|
|
284
|
+
signedAt: signed.signedAt,
|
|
285
|
+
rekorLogIndex: signed.bundle?.verificationMaterial?.tlogEntries?.[0]?.logIndex,
|
|
286
|
+
bundle: signed.bundle,
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
warnings.push(`Evidence bundle signing requested but produced an unsigned bundle: ${signed.error ?? "no OIDC signing identity available"}`);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
273
293
|
logger.info("evidence.collect.complete", {
|
|
274
294
|
bundleId: bundle.id,
|
|
275
295
|
artifactCount: artifacts.length,
|