@securecode-ai/mcp 0.6.0 → 0.8.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.
Files changed (66) hide show
  1. package/README.md +32 -3
  2. package/dist/api/types.d.ts +27 -0
  3. package/dist/approval/policy.js +7 -2
  4. package/dist/approval/policy.js.map +1 -1
  5. package/dist/attack/agentCorroboration.d.ts +14 -0
  6. package/dist/attack/agentCorroboration.js +98 -0
  7. package/dist/attack/agentCorroboration.js.map +1 -0
  8. package/dist/attack/agentLoop.js +9 -6
  9. package/dist/attack/agentLoop.js.map +1 -1
  10. package/dist/attack/agentScanExecutor.d.ts +6 -2
  11. package/dist/attack/agentScanExecutor.js +62 -21
  12. package/dist/attack/agentScanExecutor.js.map +1 -1
  13. package/dist/attack/agentScanLoop.js +162 -94
  14. package/dist/attack/agentScanLoop.js.map +1 -1
  15. package/dist/attack/agentScanProtocol.d.ts +13 -4
  16. package/dist/attack/agentScanProtocol.js.map +1 -1
  17. package/dist/attack/architectureScoutLoop.js +1 -1
  18. package/dist/attack/architectureScoutLoop.js.map +1 -1
  19. package/dist/attack/investigationState.d.ts +32 -4
  20. package/dist/attack/investigationState.js +98 -10
  21. package/dist/attack/investigationState.js.map +1 -1
  22. package/dist/attack/observationLimits.d.ts +12 -0
  23. package/dist/attack/observationLimits.js +16 -0
  24. package/dist/attack/observationLimits.js.map +1 -0
  25. package/dist/attack/policy.d.ts +1 -0
  26. package/dist/attack/policy.js +1 -0
  27. package/dist/attack/policy.js.map +1 -1
  28. package/dist/attack/probeRules.d.ts +51 -0
  29. package/dist/attack/probeRules.js +291 -0
  30. package/dist/attack/probeRules.js.map +1 -0
  31. package/dist/attack/protocol.d.ts +16 -0
  32. package/dist/attack/qualityMetrics.js +3 -0
  33. package/dist/attack/qualityMetrics.js.map +1 -1
  34. package/dist/attack/report.d.ts +3 -1
  35. package/dist/attack/report.js +4 -2
  36. package/dist/attack/report.js.map +1 -1
  37. package/dist/attack/runtimeProbe.d.ts +71 -0
  38. package/dist/attack/runtimeProbe.js +300 -0
  39. package/dist/attack/runtimeProbe.js.map +1 -0
  40. package/dist/attack/scanScheduler.d.ts +7 -0
  41. package/dist/attack/scanScheduler.js +58 -33
  42. package/dist/attack/scanScheduler.js.map +1 -1
  43. package/dist/audit/findingReviewQueue.d.ts +1 -1
  44. package/dist/audit/findingReviewQueue.js.map +1 -1
  45. package/dist/auth/credentialStore.js +1 -1
  46. package/dist/auth/credentialStore.js.map +1 -1
  47. package/dist/auth/keychain.js +80 -80
  48. package/dist/auth/keychain.js.map +1 -1
  49. package/dist/mcp/server.js +5 -1
  50. package/dist/mcp/server.js.map +1 -1
  51. package/dist/mcp/tools.js +8 -9
  52. package/dist/mcp/tools.js.map +1 -1
  53. package/dist/project-map/architectureContext.d.ts +1 -1
  54. package/dist/project-map/architectureContext.js +1 -1
  55. package/dist/project-map/scanCache.d.ts +6 -1
  56. package/dist/project-map/scanCache.js +6 -1
  57. package/dist/project-map/scanCache.js.map +1 -1
  58. package/dist/tools/agentScan.d.ts +9 -1
  59. package/dist/tools/agentScan.js +156 -5
  60. package/dist/tools/agentScan.js.map +1 -1
  61. package/dist/tools/attack.js +1 -1
  62. package/dist/tools/attack.js.map +1 -1
  63. package/dist/tools/map.js +1 -1
  64. package/dist/utils/verificationSandbox.js +43 -2
  65. package/dist/utils/verificationSandbox.js.map +1 -1
  66. package/package.json +62 -62
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+ /**
3
+ * Runtime probe engine — executes a small baseline + attack HTTP plan against
4
+ * the user's local dev server (127.0.0.1) and applies deterministic rules for
5
+ * a PROVEN / UNPROVEN / INCONCLUSIVE verdict.
6
+ *
7
+ * Fires when sandbox verification cannot exercise an HTTP-endpoint-shaped
8
+ * finding (e.g. "Effect-TS module requires full runtime", "Test timed out
9
+ * after 12 rounds"): the probe replays the decisive requests against the
10
+ * real listener instead of a sandboxed boot.
11
+ */
12
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ var desc = Object.getOwnPropertyDescriptor(m, k);
15
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
16
+ desc = { enumerable: true, get: function() { return m[k]; } };
17
+ }
18
+ Object.defineProperty(o, k2, desc);
19
+ }) : (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ o[k2] = m[k];
22
+ }));
23
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
24
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
25
+ }) : function(o, v) {
26
+ o["default"] = v;
27
+ });
28
+ var __importStar = (this && this.__importStar) || (function () {
29
+ var ownKeys = function(o) {
30
+ ownKeys = Object.getOwnPropertyNames || function (o) {
31
+ var ar = [];
32
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
33
+ return ar;
34
+ };
35
+ return ownKeys(o);
36
+ };
37
+ return function (mod) {
38
+ if (mod && mod.__esModule) return mod;
39
+ var result = {};
40
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
41
+ __setModuleDefault(result, mod);
42
+ return result;
43
+ };
44
+ })();
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.PROBE_ELIGIBLE_TYPES = void 0;
47
+ exports.encodeProbePath = encodeProbePath;
48
+ exports.detectDevServer = detectDevServer;
49
+ exports.executeProbePlan = executeProbePlan;
50
+ exports.matchEndpointForFinding = matchEndpointForFinding;
51
+ exports.isProbeEligible = isProbeEligible;
52
+ const fs = __importStar(require("fs"));
53
+ const net = __importStar(require("net"));
54
+ const path = __importStar(require("path"));
55
+ const executor_1 = require("./executor");
56
+ const policy_1 = require("./policy");
57
+ const report_1 = require("./report");
58
+ const probeRules_1 = require("./probeRules");
59
+ const AUTODETECT_PORTS = [3000, 5173, 8080, 4000, 8000, 5174, 3001];
60
+ const PROBE_BUDGET = {
61
+ maxSteps: 8,
62
+ maxRequests: 8,
63
+ wallClockMs: 60_000,
64
+ maxResponseBytes: 200_000,
65
+ requestTimeoutMs: 10_000,
66
+ costCapUsd: 0,
67
+ };
68
+ /** Vulnerability types a runtime probe can exercise (pocRouter HTTP list + xss). */
69
+ exports.PROBE_ELIGIBLE_TYPES = new Set([
70
+ 'sql_injection',
71
+ 'nosql_injection',
72
+ 'ssrf',
73
+ 'open_redirect',
74
+ 'broken_access_control',
75
+ 'xss',
76
+ ]);
77
+ const PROBE_VERIFY_REASON_RE = /(timed? ?out|full runtime|cannot test in sandbox|runtime|DOM\/jsdom)/i;
78
+ function redactResponseHeaders(headers) {
79
+ if (!headers)
80
+ return {};
81
+ const out = {};
82
+ for (const [k, v] of Object.entries(headers)) {
83
+ if (/authorization|cookie|x-api-key|api-key/i.test(k)) {
84
+ out[k] = '[REDACTED]';
85
+ }
86
+ else {
87
+ out[k] = v;
88
+ }
89
+ }
90
+ return out;
91
+ }
92
+ /** URL-encode the path so SQLi/XSS payloads with spaces/quotes survive the request. */
93
+ function encodeProbePath(rawPath) {
94
+ try {
95
+ const parsed = new URL(rawPath, 'http://127.0.0.1');
96
+ return parsed.pathname + parsed.search;
97
+ }
98
+ catch {
99
+ const qIdx = rawPath.indexOf('?');
100
+ const pathPart = qIdx >= 0 ? rawPath.slice(0, qIdx) : rawPath;
101
+ const queryPart = qIdx >= 0 ? rawPath.slice(qIdx + 1) : '';
102
+ const encodedPath = pathPart.split('/').map((segment) => encodeURIComponent(segment)).join('/');
103
+ const encodedQuery = queryPart
104
+ .split('&')
105
+ .map((pair) => {
106
+ const eq = pair.indexOf('=');
107
+ return eq >= 0
108
+ ? `${encodeURIComponent(pair.slice(0, eq))}=${encodeURIComponent(pair.slice(eq + 1))}`
109
+ : encodeURIComponent(pair);
110
+ })
111
+ .join('&');
112
+ return qIdx >= 0 ? `${encodedPath}?${encodedQuery}` : encodedPath;
113
+ }
114
+ }
115
+ function isPortOpen(host, port, timeoutMs) {
116
+ return new Promise((resolve) => {
117
+ let settled = false;
118
+ const socket = net.createConnection({ host, port });
119
+ const done = (open) => {
120
+ if (settled)
121
+ return;
122
+ settled = true;
123
+ socket.destroy();
124
+ resolve(open);
125
+ };
126
+ socket.setTimeout(timeoutMs);
127
+ socket.once('connect', () => done(true));
128
+ socket.once('timeout', () => done(false));
129
+ socket.once('error', () => done(false));
130
+ });
131
+ }
132
+ async function detectDevServer(workspaceRoot, opts) {
133
+ const envValue = process.env.SECURECODE_DEV_SERVER_PORT;
134
+ if (envValue) {
135
+ const port = Number.parseInt(envValue.trim(), 10);
136
+ if (Number.isInteger(port) && port >= 1 && port <= 65535) {
137
+ return { host: '127.0.0.1', port, source: 'env' };
138
+ }
139
+ }
140
+ try {
141
+ const cfgPath = path.join(workspaceRoot, '.securecode', 'runtime-probe.json');
142
+ if (fs.existsSync(cfgPath)) {
143
+ const cfg = JSON.parse(fs.readFileSync(cfgPath, 'utf8'));
144
+ const port = typeof cfg.port === 'number' ? cfg.port : Number.parseInt(String(cfg.port ?? ''), 10);
145
+ const host = typeof cfg.host === 'string' && cfg.host.length > 0 ? cfg.host : '127.0.0.1';
146
+ if (Number.isInteger(port) && port >= 1 && port <= 65535 && (0, policy_1.isLocalhostHost)(host)) {
147
+ return { host, port, source: 'config' };
148
+ }
149
+ }
150
+ }
151
+ catch {
152
+ // fall through to autodetect
153
+ }
154
+ const candidates = opts?.candidatePorts ?? AUTODETECT_PORTS;
155
+ for (const port of candidates) {
156
+ if (await isPortOpen('127.0.0.1', port, 400)) {
157
+ return { host: '127.0.0.1', port, source: 'autodetect' };
158
+ }
159
+ }
160
+ return null;
161
+ }
162
+ function snapshotToRuleResponse(snapshot) {
163
+ return {
164
+ statusCode: snapshot.statusCode,
165
+ headers: snapshot.headers,
166
+ body: snapshot.body,
167
+ latencyMs: snapshot.latencyMs,
168
+ };
169
+ }
170
+ function buildEvidence(ruleResult, baseline, attack) {
171
+ const parts = [
172
+ `Rule '${ruleResult.rule}' → ${ruleResult.verdict}: ${ruleResult.reason}`,
173
+ `Decisive statuses: baseline ${baseline ? baseline.statusCode : 'none'} → attack ${attack.statusCode}.`,
174
+ ];
175
+ const snippet = attack.body.slice(0, 300);
176
+ if (snippet.length > 0) {
177
+ parts.push(`Attack body (first ${snippet.length} of ${attack.body.length} chars, redacted): ${snippet}`);
178
+ }
179
+ return (0, report_1.redactText)(parts.join(' ')).slice(0, 2000);
180
+ }
181
+ async function executeProbePlan(plan, opts = {}) {
182
+ const observed = [];
183
+ const inconclusive = (reason) => ({
184
+ verdict: 'INCONCLUSIVE',
185
+ reason,
186
+ evidence: (0, report_1.redactText)(reason).slice(0, 2000),
187
+ requests: observed,
188
+ });
189
+ if (plan.requests.length === 0) {
190
+ return inconclusive('Probe plan contains no requests.');
191
+ }
192
+ if (plan.requests.length > PROBE_BUDGET.maxRequests) {
193
+ return inconclusive(`Probe plan has ${plan.requests.length} requests, exceeding the budget cap of ${PROBE_BUDGET.maxRequests}.`);
194
+ }
195
+ const snapshots = [];
196
+ for (const req of plan.requests) {
197
+ if (opts.signal?.aborted) {
198
+ return inconclusive('cancelled');
199
+ }
200
+ let safePath;
201
+ try {
202
+ (0, policy_1.validateTarget)({ host: plan.host, port: plan.port, path: req.path });
203
+ safePath = encodeProbePath(req.path);
204
+ }
205
+ catch (err) {
206
+ const message = err instanceof policy_1.PolicyError ? err.message : String(err);
207
+ return inconclusive(`Policy validation failed for ${req.role} ${req.method} ${req.path}: ${message}`);
208
+ }
209
+ const resp = await (0, executor_1.executeHttpRequest)({
210
+ method: req.method,
211
+ path: safePath,
212
+ host: plan.host,
213
+ port: plan.port,
214
+ headers: req.headers,
215
+ body: req.body,
216
+ }, PROBE_BUDGET, opts.signal);
217
+ observed.push({
218
+ role: req.role,
219
+ method: req.method,
220
+ path: req.path,
221
+ statusCode: resp.statusCode,
222
+ latencyMs: resp.latencyMs,
223
+ });
224
+ snapshots.push({
225
+ role: req.role,
226
+ statusCode: resp.statusCode,
227
+ headers: redactResponseHeaders(resp.headers),
228
+ body: (0, report_1.redactText)(resp.body),
229
+ latencyMs: resp.latencyMs,
230
+ error: resp.error,
231
+ });
232
+ }
233
+ if (opts.signal?.aborted) {
234
+ return inconclusive('cancelled');
235
+ }
236
+ let baseline = null;
237
+ let attack = null;
238
+ let attackRequest = null;
239
+ for (let i = 0; i < plan.requests.length; i++) {
240
+ if (plan.requests[i].role === 'baseline') {
241
+ baseline = snapshots[i];
242
+ }
243
+ else {
244
+ attack = snapshots[i];
245
+ attackRequest = plan.requests[i];
246
+ }
247
+ }
248
+ if (!attackRequest || !attack) {
249
+ return inconclusive('Probe plan contains no attack request.');
250
+ }
251
+ const ruleResult = (0, probeRules_1.applyProbeRules)({
252
+ method: attackRequest.method,
253
+ path: attackRequest.path,
254
+ headers: attackRequest.headers,
255
+ body: attackRequest.body,
256
+ ...(attackRequest.expect ?? {}),
257
+ }, attack.statusCode === 0 ? null : snapshotToRuleResponse(attack), null, baseline && baseline.statusCode !== 0 ? snapshotToRuleResponse(baseline) : null);
258
+ const verdict = ruleResult.verdict === 'confirmed-bypass'
259
+ ? 'PROVEN'
260
+ : ruleResult.verdict === 'refuted'
261
+ ? 'UNPROVEN'
262
+ : 'INCONCLUSIVE';
263
+ return {
264
+ verdict,
265
+ rule: ruleResult.rule,
266
+ reason: (0, report_1.redactText)(ruleResult.reason),
267
+ baselineStatus: baseline ? baseline.statusCode : undefined,
268
+ attackStatus: attack.statusCode,
269
+ evidence: buildEvidence(ruleResult, baseline, attack),
270
+ requests: observed,
271
+ };
272
+ }
273
+ function matchEndpointForFinding(finding, endpointContext) {
274
+ if (!Array.isArray(endpointContext))
275
+ return null;
276
+ for (const entry of endpointContext) {
277
+ if (!entry || typeof entry !== 'object')
278
+ continue;
279
+ const candidate = entry;
280
+ if (typeof candidate.method !== 'string' || candidate.method.length === 0)
281
+ continue;
282
+ if (typeof candidate.path !== 'string' || candidate.path.length === 0)
283
+ continue;
284
+ if (typeof candidate.line !== 'number')
285
+ continue;
286
+ const nearLine = Math.abs(candidate.line - finding.line) <= 25;
287
+ const coversLine = candidate.line <= finding.line && finding.line <= candidate.line + 200;
288
+ if (nearLine || coversLine)
289
+ return candidate;
290
+ }
291
+ return null;
292
+ }
293
+ function isProbeEligible(finding, verifyReason, endpointContext) {
294
+ if (!exports.PROBE_ELIGIBLE_TYPES.has(finding.type))
295
+ return false;
296
+ if (!PROBE_VERIFY_REASON_RE.test(verifyReason ?? ''))
297
+ return false;
298
+ return matchEndpointForFinding(finding, endpointContext) !== null;
299
+ }
300
+ //# sourceMappingURL=runtimeProbe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeProbe.js","sourceRoot":"","sources":["../../src/attack/runtimeProbe.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFH,0CAoBC;AAmBD,0CA+BC;AAoCD,4CAiHC;AASD,0DAgBC;AAED,0CAQC;AAnVD,uCAAyB;AACzB,yCAA2B;AAC3B,2CAA6B;AAC7B,yCAAgD;AAChD,qCAA2F;AAC3F,qCAAsC;AACtC,6CAA6F;AA0C7F,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEpE,MAAM,YAAY,GAAiB;IAC/B,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,MAAM;IACnB,gBAAgB,EAAE,OAAO;IACzB,gBAAgB,EAAE,MAAM;IACxB,UAAU,EAAE,CAAC;CAChB,CAAC;AAEF,oFAAoF;AACvE,QAAA,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IAC7D,eAAe;IACf,iBAAiB;IACjB,MAAM;IACN,eAAe;IACf,uBAAuB;IACvB,KAAK;CACR,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,uEAAuE,CAAC;AAEvG,SAAS,qBAAqB,CAAC,OAAgC;IAC3D,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,IAAI,yCAAyC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,uFAAuF;AACvF,SAAgB,eAAe,CAAC,OAAe;IAC3C,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChG,MAAM,YAAY,GAAG,SAAS;aACzB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACV,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO,EAAE,IAAI,CAAC;gBACV,CAAC,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;gBACtF,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IACtE,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,IAAY,EAAE,SAAiB;IAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,CAAC,IAAa,EAAE,EAAE;YAC3B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACP,CAAC;AAEM,KAAK,UAAU,eAAe,CACjC,aAAqB,EACrB,IAAoC;IAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACxD,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YACvD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACtD,CAAC;IACL,CAAC;IACD,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;QAC9E,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAuC,CAAC;YAC/F,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACnG,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;YAC1F,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,IAAA,wBAAe,EAAC,IAAI,CAAC,EAAE,CAAC;gBAChF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,6BAA6B;IACjC,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,EAAE,cAAc,IAAI,gBAAgB,CAAC;IAC5D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,MAAM,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QAC7D,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAWD,SAAS,sBAAsB,CAAC,QAAuB;IACnD,OAAO;QACH,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;KAChC,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAClB,UAA2B,EAC3B,QAA8B,EAC9B,MAAqB;IAErB,MAAM,KAAK,GAAG;QACV,SAAS,UAAU,CAAC,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,UAAU,CAAC,MAAM,EAAE;QACzE,+BAA+B,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,aAAa,MAAM,CAAC,UAAU,GAAG;KAC1G,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,MAAM,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,sBAAsB,OAAO,EAAE,CAAC,CAAC;IAC7G,CAAC;IACD,OAAO,IAAA,mBAAU,EAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAClC,IAAe,EACf,OAAiC,EAAE;IAEnC,MAAM,QAAQ,GAA8B,EAAE,CAAC;IAE/C,MAAM,YAAY,GAAG,CAAC,MAAc,EAAe,EAAE,CAAC,CAAC;QACnD,OAAO,EAAE,cAAc;QACvB,MAAM;QACN,QAAQ,EAAE,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QAC3C,QAAQ,EAAE,QAAQ;KACrB,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,kCAAkC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAClD,OAAO,YAAY,CACf,kBAAkB,IAAI,CAAC,QAAQ,CAAC,MAAM,0CAA0C,YAAY,CAAC,WAAW,GAAG,CAC9G,CAAC;IACN,CAAC;IAED,MAAM,SAAS,GAAoB,EAAE,CAAC;IAEtC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACD,IAAA,uBAAc,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,GAAG,YAAY,oBAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvE,OAAO,YAAY,CAAC,gCAAgC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QAC1G,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAkB,EACjC;YACI,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;SACjB,EACD,YAAY,EACZ,IAAI,CAAC,MAAM,CACd,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC,CAAC;QACH,SAAS,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC;YAC5C,IAAI,EAAE,IAAA,mBAAU,EAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QACvB,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ,GAAyB,IAAI,CAAC;IAC1C,IAAI,MAAM,GAAyB,IAAI,CAAC;IACxC,IAAI,aAAa,GAAwB,IAAI,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACvC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACtB,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,YAAY,CAAC,wCAAwC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,4BAAe,EAC9B;QACI,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,GAAG,CAAC,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC;KAClC,EACD,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAC/D,IAAI,EACJ,QAAQ,IAAI,QAAQ,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAClF,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,KAAK,kBAAkB;QACrD,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS;YAC9B,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,cAAc,CAAC;IAEzB,OAAO;QACH,OAAO;QACP,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,IAAA,mBAAU,EAAC,UAAU,CAAC,MAAM,CAAC;QACrC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAC1D,YAAY,EAAE,MAAM,CAAC,UAAU;QAC/B,QAAQ,EAAE,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrD,QAAQ,EAAE,QAAQ;KACrB,CAAC;AACN,CAAC;AASD,SAAgB,uBAAuB,CACnC,OAAyD,EACzD,eAAsC;IAEtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,MAAM,SAAS,GAAG,KAA+B,CAAC;QAClD,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACpF,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChF,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC;QAC1F,IAAI,QAAQ,IAAI,UAAU;YAAE,OAAO,SAAS,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAgB,eAAe,CAC3B,OAAyD,EACzD,YAAoB,EACpB,eAAsC;IAEtC,IAAI,CAAC,4BAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,uBAAuB,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,IAAI,CAAC;AACtE,CAAC"}
@@ -53,5 +53,12 @@ export declare function buildRecoveryConstraint(state: ScanRunState, investigati
53
53
  /**
54
54
  * Compute a deterministic fingerprint for an action, used to detect
55
55
  * repeated recovery attempts on the same action.
56
+ *
57
+ * Requirement-derived scheduler actions carry a `requirementId` scope so
58
+ * two DIFFERENT requirements that map to the same tool call (e.g. several
59
+ * read_config requirements all producing `read_config:all`) don't collide
60
+ * on one burned fingerprint — the second requirement's recovery would
61
+ * otherwise be rejected as a duplicate of the first. read_file fingerprints
62
+ * stay range-based: ranged reads are already distinct per range.
56
63
  */
57
64
  export declare function actionFingerprint(action: AgentScanAction): string;
@@ -34,7 +34,7 @@ function schedule(input) {
34
34
  const activeCandidates = candidates.getActive();
35
35
  for (const candidate of activeCandidates) {
36
36
  if (candidate.severity === 'critical' || candidate.severity === 'high') {
37
- const action = actionForCandidateEvidence(candidate, target);
37
+ const action = actionForCandidateEvidence(candidate, target, investigation);
38
38
  if (action) {
39
39
  return {
40
40
  kind: 'deterministic-action',
@@ -52,7 +52,7 @@ function schedule(input) {
52
52
  const topWorkItem = workItems.highestPriority();
53
53
  if (topWorkItem && (topWorkItem.priority === 'critical' || topWorkItem.priority === 'high')) {
54
54
  if (topWorkItem.status === 'pending' || topWorkItem.status === 'active') {
55
- const action = actionForWorkItem(topWorkItem, target, workItems);
55
+ const action = actionForWorkItem(topWorkItem, target, workItems, investigation);
56
56
  if (action) {
57
57
  return {
58
58
  kind: 'deterministic-action',
@@ -124,7 +124,7 @@ function schedule(input) {
124
124
  // 6-8. Missing evidence from unsatisfied requirements
125
125
  const unsatisfied = evidence.getUnsatisfiedRequirements();
126
126
  if (unsatisfied.length > 0) {
127
- const action = actionForRequirement(unsatisfied[0], target);
127
+ const action = actionForRequirement(unsatisfied[0], target, undefined, investigation);
128
128
  if (action) {
129
129
  return {
130
130
  kind: 'deterministic-action',
@@ -136,7 +136,7 @@ function schedule(input) {
136
136
  // 9. Lower-priority pending work items
137
137
  const pending = workItems.getPending();
138
138
  if (pending.length > 0) {
139
- const action = actionForWorkItem(pending[0], target, workItems);
139
+ const action = actionForWorkItem(pending[0], target, workItems, investigation);
140
140
  if (action) {
141
141
  return {
142
142
  kind: 'deterministic-action',
@@ -168,27 +168,35 @@ function buildRecoveryConstraint(state, investigation) {
168
168
  /**
169
169
  * Compute a deterministic fingerprint for an action, used to detect
170
170
  * repeated recovery attempts on the same action.
171
+ *
172
+ * Requirement-derived scheduler actions carry a `requirementId` scope so
173
+ * two DIFFERENT requirements that map to the same tool call (e.g. several
174
+ * read_config requirements all producing `read_config:all`) don't collide
175
+ * on one burned fingerprint — the second requirement's recovery would
176
+ * otherwise be rejected as a duplicate of the first. read_file fingerprints
177
+ * stay range-based: ranged reads are already distinct per range.
171
178
  */
172
179
  function actionFingerprint(action) {
173
180
  const a = action;
181
+ const reqScope = a.requirementId ? `@${a.requirementId}` : '';
174
182
  switch (a.type) {
175
183
  case 'read_file':
176
184
  return `read_file:${a.path || ''}:${a.startLine || 0}:${a.endLine || 0}`;
177
185
  case 'search_code':
178
- return `search_code:${a.pattern || ''}:${a.glob || ''}`;
186
+ return `search_code:${a.pattern || ''}:${a.glob || ''}${reqScope}`;
179
187
  case 'trace_flow':
180
188
  case 'trace_flow_cross_file':
181
- return `${a.type}:${a.filePath || ''}`;
189
+ return `${a.type}:${a.filePath || ''}${reqScope}`;
182
190
  case 'check_guard':
183
- return `check_guard:${a.guardName || ''}:${a.attackType || ''}:${a.filePath || ''}`;
191
+ return `check_guard:${a.guardName || ''}:${a.attackType || ''}:${a.filePath || ''}${reqScope}`;
184
192
  case 'check_policy':
185
- return `check_policy:${a.filePath || ''}`;
193
+ return `check_policy:${a.filePath || ''}${reqScope}`;
186
194
  case 'read_config':
187
- return `read_config:${a.configKind || 'all'}`;
195
+ return `read_config:${a.configKind || 'all'}${reqScope}`;
188
196
  case 'get_endpoints':
189
- return `get_endpoints:${a.glob || ''}`;
197
+ return `get_endpoints:${a.glob || ''}${reqScope}`;
190
198
  case 'find_tests':
191
- return `find_tests:${a.filePath || ''}:${a.symbol || ''}`;
199
+ return `find_tests:${a.filePath || ''}:${a.symbol || ''}${reqScope}`;
192
200
  case 'find_definition':
193
201
  return `find_definition:${a.filePath || ''}:${a.symbol || ''}`;
194
202
  case 'find_references':
@@ -203,10 +211,10 @@ function canExecute(input) {
203
211
  return input.state.budget.stepsRemaining > 0 &&
204
212
  input.state.budget.costSpentUsd < input.state.budget.costCapUsd;
205
213
  }
206
- function actionForCandidateEvidence(candidate, target) {
214
+ function actionForCandidateEvidence(candidate, target, investigation) {
207
215
  if (candidate.requiredEvidence && candidate.requiredEvidence.length > 0) {
208
216
  const req = candidate.requiredEvidence[0];
209
- return actionForRequirement(req, target);
217
+ return actionForRequirement(req, target, undefined, investigation);
210
218
  }
211
219
  // Default: trace flow to gather more evidence
212
220
  return {
@@ -215,7 +223,7 @@ function actionForCandidateEvidence(candidate, target) {
215
223
  rationale: `Gather evidence for candidate: ${candidate.claim}`,
216
224
  };
217
225
  }
218
- function actionForWorkItem(item, target, queue) {
226
+ function actionForWorkItem(item, target, queue, investigation) {
219
227
  if (item.kind === 'implementation-review') {
220
228
  const symbol = item.title.replace('Resolve implementation for: ', '');
221
229
  return {
@@ -231,64 +239,81 @@ function actionForWorkItem(item, target, queue) {
231
239
  return null;
232
240
  const req = unsatisfied[0];
233
241
  const targetFile = req.targetFiles?.[0] || item.targetFiles[0] || target.filePath;
234
- return actionForRequirement(req, target, targetFile);
242
+ return actionForRequirement(req, target, targetFile, investigation);
235
243
  }
236
- function actionForRequirement(req, target, explicitTargetFile) {
244
+ function actionForRequirement(req, target, explicitTargetFile, investigation) {
237
245
  const tool = req.requiredTools?.[0];
238
246
  if (!tool)
239
247
  return null;
240
248
  const targetFile = explicitTargetFile || req.targetFiles?.[0] || target.filePath;
249
+ // Stamp the requirement id so actionFingerprint scopes requirement-derived
250
+ // actions per-requirement — see actionFingerprint for why.
251
+ const stamp = (action) => Object.assign({}, action, { requirementId: req.id });
241
252
  switch (tool) {
242
- case 'read_file':
243
- return {
253
+ case 'read_file': {
254
+ // Ranged read: a rangeless read on a large file returns a
255
+ // function map (no content, no progress), so derive the next
256
+ // unread range from tracked coverage when one exists.
257
+ const nextRange = investigation?.getNextUnreadRange(targetFile) ?? null;
258
+ if (nextRange) {
259
+ return stamp({
260
+ type: 'read_file',
261
+ path: targetFile,
262
+ startLine: nextRange.start,
263
+ endLine: nextRange.end,
264
+ rationale: req.description,
265
+ });
266
+ }
267
+ return stamp({
244
268
  type: 'read_file',
245
269
  path: targetFile,
246
270
  rationale: req.description,
247
- };
271
+ });
272
+ }
248
273
  case 'search_code':
249
- return {
274
+ return stamp({
250
275
  type: 'search_code',
251
276
  pattern: 'auth|require|guard|permission|owner',
252
277
  rationale: req.description,
253
- };
278
+ });
254
279
  case 'check_policy':
255
- return {
280
+ return stamp({
256
281
  type: 'check_policy',
257
282
  filePath: targetFile,
258
283
  rationale: req.description,
259
- };
284
+ });
260
285
  case 'check_guard':
261
- return {
286
+ return stamp({
262
287
  type: 'check_guard',
263
288
  filePath: targetFile,
264
289
  guardName: 'auth',
265
290
  attackType: 'broken_access_control',
266
291
  rationale: req.description,
267
- };
292
+ });
268
293
  case 'get_endpoints':
269
- return {
294
+ return stamp({
270
295
  type: 'get_endpoints',
271
296
  rationale: req.description,
272
- };
297
+ });
273
298
  case 'trace_flow':
274
299
  case 'trace_flow_cross_file':
275
- return {
300
+ return stamp({
276
301
  type: 'trace_flow_cross_file',
277
302
  filePath: targetFile,
278
303
  rationale: req.description,
279
- };
304
+ });
280
305
  case 'read_config':
281
- return {
306
+ return stamp({
282
307
  type: 'read_config',
283
308
  configKind: 'all',
284
309
  rationale: req.description,
285
- };
310
+ });
286
311
  case 'find_tests':
287
- return {
312
+ return stamp({
288
313
  type: 'find_tests',
289
314
  filePath: targetFile,
290
315
  rationale: req.description,
291
- };
316
+ });
292
317
  case 'find_definition':
293
318
  return null;
294
319
  case 'find_references':
@@ -1 +1 @@
1
- {"version":3,"file":"scanScheduler.js","sourceRoot":"","sources":["../../src/attack/scanScheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanScheduler.js","sourceRoot":"","sources":["../../src/attack/scanScheduler.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@
23
23
  * evidenceHash) are not re-enqueued — the existing item is returned.
24
24
  */
25
25
  export type ReviewDecision = 'confirmed' | 'rejected' | 'deferred';
26
- export type ReviewReason = 'inconclusive-verification' | 'sandbox-unavailable' | 'verification-budget-exhausted' | 'runtime-blocked' | 'test-generation-failed' | 'manual-request';
26
+ export type ReviewReason = 'inconclusive-verification' | 'sandbox-unavailable' | 'verification-budget-exhausted' | 'runtime-blocked' | 'test-generation-failed' | 'runtime-probe-pending' | 'manual-request';
27
27
  export interface FindingReviewItem {
28
28
  id: string;
29
29
  createdAt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"findingReviewQueue.js","sourceRoot":"","sources":["../../src/audit/findingReviewQueue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findingReviewQueue.js","sourceRoot":"","sources":["../../src/audit/findingReviewQueue.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
39
  const os = __importStar(require("os"));
40
40
  const keychain_1 = require("./keychain");
41
- const CRED_DIR = path.join(os.homedir(), '.securecode');
41
+ const CRED_DIR = process.env.SECURECODE_CRED_DIR || path.join(os.homedir(), '.securecode');
42
42
  const CRED_FILE = path.join(CRED_DIR, 'credentials.json');
43
43
  const DEFAULT_API_URL = 'https://api.usesecurecode.tech';
44
44
  class CredentialStore {