@securecode-ai/mcp 0.5.5 → 0.5.7
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/README.md +52 -12
- package/dist/api/types.d.ts +7 -0
- package/dist/approval/auditLog.d.ts +1 -1
- package/dist/approval/auditLog.js +11 -3
- package/dist/approval/auditLog.js.map +1 -1
- package/dist/approval/broker.d.ts +7 -2
- package/dist/approval/broker.js +239 -110
- package/dist/approval/broker.js.map +1 -1
- package/dist/approval/policy.d.ts +10 -0
- package/dist/approval/policy.js +104 -0
- package/dist/approval/policy.js.map +1 -0
- package/dist/approval/types.d.ts +11 -2
- package/dist/approval/types.js +10 -1
- package/dist/approval/types.js.map +1 -1
- package/dist/attack/agentScanExecutor.d.ts +35 -1
- package/dist/attack/agentScanExecutor.js +405 -76
- package/dist/attack/agentScanExecutor.js.map +1 -1
- package/dist/attack/agentScanLoop.d.ts +20 -0
- package/dist/attack/agentScanLoop.js +1264 -60
- package/dist/attack/agentScanLoop.js.map +1 -1
- package/dist/attack/agentScanProtocol.d.ts +382 -6
- package/dist/attack/agentScanProtocol.js +110 -4
- package/dist/attack/agentScanProtocol.js.map +1 -1
- package/dist/attack/agentTrace.d.ts +73 -0
- package/dist/attack/agentTrace.js +228 -0
- package/dist/attack/agentTrace.js.map +1 -0
- package/dist/attack/architectureScoutExecutor.d.ts +18 -0
- package/dist/attack/architectureScoutExecutor.js +211 -0
- package/dist/attack/architectureScoutExecutor.js.map +1 -0
- package/dist/attack/architectureScoutLoop.d.ts +36 -0
- package/dist/attack/architectureScoutLoop.js +403 -0
- package/dist/attack/architectureScoutLoop.js.map +1 -0
- package/dist/attack/architectureScoutProtocol.d.ts +209 -0
- package/dist/attack/architectureScoutProtocol.js +47 -0
- package/dist/attack/architectureScoutProtocol.js.map +1 -0
- package/dist/attack/candidateStore.d.ts +95 -0
- package/dist/attack/candidateStore.js +231 -0
- package/dist/attack/candidateStore.js.map +1 -0
- package/dist/attack/evidenceLedger.d.ts +67 -0
- package/dist/attack/evidenceLedger.js +192 -0
- package/dist/attack/evidenceLedger.js.map +1 -0
- package/dist/attack/finishGate.d.ts +62 -0
- package/dist/attack/finishGate.js +209 -0
- package/dist/attack/finishGate.js.map +1 -0
- package/dist/attack/fixCodeMerge.d.ts +27 -0
- package/dist/attack/fixCodeMerge.js +42 -0
- package/dist/attack/fixCodeMerge.js.map +1 -0
- package/dist/attack/fixVerifyLoop.d.ts +55 -0
- package/dist/attack/fixVerifyLoop.js +187 -0
- package/dist/attack/fixVerifyLoop.js.map +1 -0
- package/dist/attack/investigationProfiles.d.ts +36 -0
- package/dist/attack/investigationProfiles.js +144 -0
- package/dist/attack/investigationProfiles.js.map +1 -0
- package/dist/attack/investigationState.d.ts +227 -0
- package/dist/attack/investigationState.js +666 -0
- package/dist/attack/investigationState.js.map +1 -0
- package/dist/attack/mutationOperators.d.ts +22 -0
- package/dist/attack/mutationOperators.js +170 -0
- package/dist/attack/mutationOperators.js.map +1 -0
- package/dist/attack/mutationTest.d.ts +33 -0
- package/dist/attack/mutationTest.js +110 -0
- package/dist/attack/mutationTest.js.map +1 -0
- package/dist/attack/proofGate.d.ts +20 -0
- package/dist/attack/proofGate.js +104 -0
- package/dist/attack/proofGate.js.map +1 -0
- package/dist/attack/proofTypes.d.ts +57 -0
- package/dist/attack/proofTypes.js +32 -0
- package/dist/attack/proofTypes.js.map +1 -0
- package/dist/attack/protocolValidator.d.ts +50 -0
- package/dist/attack/protocolValidator.js +427 -0
- package/dist/attack/protocolValidator.js.map +1 -0
- package/dist/attack/qualityMetrics.d.ts +133 -0
- package/dist/attack/qualityMetrics.js +226 -0
- package/dist/attack/qualityMetrics.js.map +1 -0
- package/dist/attack/scanScheduler.d.ts +52 -0
- package/dist/attack/scanScheduler.js +265 -0
- package/dist/attack/scanScheduler.js.map +1 -0
- package/dist/attack/scanState.d.ts +58 -0
- package/dist/attack/scanState.js +102 -0
- package/dist/attack/scanState.js.map +1 -0
- package/dist/attack/searchIntent.d.ts +16 -0
- package/dist/attack/searchIntent.js +57 -0
- package/dist/attack/searchIntent.js.map +1 -0
- package/dist/attack/verifyLoop.d.ts +43 -0
- package/dist/attack/verifyLoop.js +314 -14
- package/dist/attack/verifyLoop.js.map +1 -1
- package/dist/attack/workItem.d.ts +57 -0
- package/dist/attack/workItem.js +225 -0
- package/dist/attack/workItem.js.map +1 -0
- package/dist/audit/findingReviewQueue.d.ts +109 -0
- package/dist/audit/findingReviewQueue.js +335 -0
- package/dist/audit/findingReviewQueue.js.map +1 -0
- package/dist/audit/scanAuditLog.d.ts +160 -0
- package/dist/audit/scanAuditLog.js +404 -0
- package/dist/audit/scanAuditLog.js.map +1 -0
- package/dist/dependency/dependencyChecker.js +35 -9
- package/dist/dependency/dependencyChecker.js.map +1 -1
- package/dist/dependency/exploitPriority.d.ts +33 -0
- package/dist/dependency/exploitPriority.js +78 -0
- package/dist/dependency/exploitPriority.js.map +1 -0
- package/dist/dependency/finding.d.ts +16 -0
- package/dist/dependency/osvClient.js +2 -0
- package/dist/dependency/osvClient.js.map +1 -1
- package/dist/dependency/types.d.ts +12 -1
- package/dist/mcp/server.js +13 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts +1 -0
- package/dist/mcp/tools.js +127 -6
- package/dist/mcp/tools.js.map +1 -1
- package/dist/project-map/agentMemory.d.ts +83 -1
- package/dist/project-map/agentMemory.js +197 -7
- package/dist/project-map/agentMemory.js.map +1 -1
- package/dist/project-map/architectureContext.d.ts +202 -0
- package/dist/project-map/architectureContext.js +421 -0
- package/dist/project-map/architectureContext.js.map +1 -0
- package/dist/project-map/blastRadius.d.ts +54 -0
- package/dist/project-map/blastRadius.js +196 -0
- package/dist/project-map/blastRadius.js.map +1 -0
- package/dist/project-map/callGraphExtractor.d.ts +13 -0
- package/dist/project-map/callGraphExtractor.js +222 -0
- package/dist/project-map/callGraphExtractor.js.map +1 -0
- package/dist/project-map/capabilityRegistry.d.ts +46 -0
- package/dist/project-map/capabilityRegistry.js +91 -0
- package/dist/project-map/capabilityRegistry.js.map +1 -0
- package/dist/project-map/findTests.d.ts +29 -0
- package/dist/project-map/findTests.js +236 -0
- package/dist/project-map/findTests.js.map +1 -0
- package/dist/project-map/handlerInventory.d.ts +112 -0
- package/dist/project-map/handlerInventory.js +184 -0
- package/dist/project-map/handlerInventory.js.map +1 -0
- package/dist/project-map/implementationResolver.d.ts +43 -0
- package/dist/project-map/implementationResolver.js +217 -0
- package/dist/project-map/implementationResolver.js.map +1 -0
- package/dist/project-map/mapContext.d.ts +6 -1
- package/dist/project-map/mapContext.js +1 -0
- package/dist/project-map/mapContext.js.map +1 -1
- package/dist/project-map/scanCache.d.ts +57 -3
- package/dist/project-map/scanCache.js +61 -2
- package/dist/project-map/scanCache.js.map +1 -1
- package/dist/project-map/symbolIndex.d.ts +39 -0
- package/dist/project-map/symbolIndex.js +385 -0
- package/dist/project-map/symbolIndex.js.map +1 -0
- package/dist/tooling/agentEvalScoring.d.ts +77 -0
- package/dist/tooling/agentEvalScoring.js +140 -0
- package/dist/tooling/agentEvalScoring.js.map +1 -0
- package/dist/tooling/agentRegression.d.ts +53 -0
- package/dist/tooling/agentRegression.js +99 -0
- package/dist/tooling/agentRegression.js.map +1 -0
- package/dist/tools/agentScan.d.ts +69 -0
- package/dist/tools/agentScan.js +702 -43
- package/dist/tools/agentScan.js.map +1 -1
- package/dist/tools/findingReviewTools.d.ts +22 -0
- package/dist/tools/findingReviewTools.js +121 -0
- package/dist/tools/findingReviewTools.js.map +1 -0
- package/dist/tools/fix.js +1 -1
- package/dist/tools/fix.js.map +1 -1
- package/dist/tools/map.js +191 -1
- package/dist/tools/map.js.map +1 -1
- package/dist/tools/runTests.d.ts +2 -0
- package/dist/tools/runTests.js +29 -0
- package/dist/tools/runTests.js.map +1 -0
- package/dist/utils/effectMock.d.ts +1 -0
- package/dist/utils/effectMock.js +162 -0
- package/dist/utils/effectMock.js.map +1 -0
- package/dist/utils/gitContext.d.ts +26 -0
- package/dist/utils/gitContext.js +317 -0
- package/dist/utils/gitContext.js.map +1 -0
- package/dist/utils/localTestRunner.d.ts +57 -2
- package/dist/utils/localTestRunner.js +122 -115
- package/dist/utils/localTestRunner.js.map +1 -1
- package/dist/utils/securityConfig.d.ts +17 -0
- package/dist/utils/securityConfig.js +192 -0
- package/dist/utils/securityConfig.js.map +1 -0
- package/dist/utils/testCommandPolicy.d.ts +36 -0
- package/dist/utils/testCommandPolicy.js +252 -0
- package/dist/utils/testCommandPolicy.js.map +1 -0
- package/dist/utils/testRunner.d.ts +56 -0
- package/dist/utils/testRunner.js +246 -0
- package/dist/utils/testRunner.js.map +1 -0
- package/dist/utils/testSafety.d.ts +40 -2
- package/dist/utils/testSafety.js +205 -26
- package/dist/utils/testSafety.js.map +1 -1
- package/dist/utils/verificationSandbox.d.ts +113 -0
- package/dist/utils/verificationSandbox.js +656 -0
- package/dist/utils/verificationSandbox.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentScanLoop.js","sourceRoot":"","sources":["../../src/attack/agentScanLoop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentScanLoop.js","sourceRoot":"","sources":["../../src/attack/agentScanLoop.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,47 @@
|
|
|
5
5
|
* Types are duplicated (not shared) between the API and MCP repos.
|
|
6
6
|
*/
|
|
7
7
|
export declare const AGENT_SCAN_DEFAULTS: {
|
|
8
|
-
readonly
|
|
9
|
-
readonly
|
|
10
|
-
readonly
|
|
8
|
+
readonly initialSteps: 40;
|
|
9
|
+
readonly extensionSize: 10;
|
|
10
|
+
readonly hardMaxSteps: 80;
|
|
11
|
+
readonly maxSteps: 80;
|
|
12
|
+
readonly costCapUsd: 1.2;
|
|
13
|
+
readonly wallClockMs: 720000;
|
|
11
14
|
readonly perStepEstimateUsd: 0.08;
|
|
12
15
|
readonly creditsPerRun: 5;
|
|
13
16
|
readonly dailyRunLimit: 20;
|
|
17
|
+
readonly blockedReadRecoveryLimit: 5;
|
|
14
18
|
};
|
|
19
|
+
export declare const AGENT_SCAN_PROTOCOL_VERSION = 5;
|
|
20
|
+
export declare const AGENT_SCAN_SUPPORTED_ACTIONS: AgentScanActionType[];
|
|
21
|
+
export interface AgentScanClientCapabilities {
|
|
22
|
+
/** Protocol version the MCP implements. */
|
|
23
|
+
protocolVersion: number;
|
|
24
|
+
/** Action types the MCP can execute locally. */
|
|
25
|
+
supportedActions: AgentScanActionType[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Action constraint sent by the MCP to restrict which actions the API's LLM
|
|
29
|
+
* can select. Used for deterministic blocked-read recovery:
|
|
30
|
+
*
|
|
31
|
+
* - normal: no constraint (all supported actions allowed)
|
|
32
|
+
* - recovery: the MCP forbids read_file and may require a specific action
|
|
33
|
+
*
|
|
34
|
+
* The API MUST filter the LLM's actionType enum using `allowedActions` /
|
|
35
|
+
* `forbiddenActions` — textual instructions alone are insufficient.
|
|
36
|
+
*/
|
|
37
|
+
export interface AgentActionConstraint {
|
|
38
|
+
mode: 'normal' | 'recovery';
|
|
39
|
+
/** If set, only these actions are allowed (overrides supportedActions). */
|
|
40
|
+
allowedActions?: AgentScanActionType[];
|
|
41
|
+
/** If set, these actions are forbidden (removed from the enum). */
|
|
42
|
+
forbiddenActions?: AgentScanActionType[];
|
|
43
|
+
/** If set, the API should strongly prefer this action. */
|
|
44
|
+
requiredAction?: AgentScanActionType;
|
|
45
|
+
/** Human-readable reason for the constraint (shown to the LLM). */
|
|
46
|
+
reason?: string;
|
|
47
|
+
}
|
|
48
|
+
export declare function defaultClientCapabilities(): AgentScanClientCapabilities;
|
|
15
49
|
export interface AgentScanReadFileAction {
|
|
16
50
|
type: 'read_file';
|
|
17
51
|
path: string;
|
|
@@ -19,6 +53,26 @@ export interface AgentScanReadFileAction {
|
|
|
19
53
|
endLine?: number;
|
|
20
54
|
rationale: string;
|
|
21
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Structured metadata returned by the executor for a read_file action.
|
|
58
|
+
*
|
|
59
|
+
* The loop records coverage using `actualStart..actualEnd` (the range the
|
|
60
|
+
* executor actually delivered), never the requested range. A large-file read
|
|
61
|
+
* that returns a function map instead of raw content has `truncated === true`
|
|
62
|
+
* and `actualStart/actualEnd` set to 0 (no content lines were delivered).
|
|
63
|
+
*/
|
|
64
|
+
export interface ReadFileObservation {
|
|
65
|
+
/** Redacted, truncated observation string for the LLM transcript. */
|
|
66
|
+
observation: string;
|
|
67
|
+
/** First line of actual content delivered (1-indexed). 0 if no content. */
|
|
68
|
+
actualStart: number;
|
|
69
|
+
/** Last line of actual content delivered (1-indexed). 0 if no content. */
|
|
70
|
+
actualEnd: number;
|
|
71
|
+
/** Total line count of the file on disk. */
|
|
72
|
+
totalLines: number;
|
|
73
|
+
/** True if the executor returned a function map or otherwise did not deliver raw content. */
|
|
74
|
+
truncated: boolean;
|
|
75
|
+
}
|
|
22
76
|
export interface AgentScanSearchCodeAction {
|
|
23
77
|
type: 'search_code';
|
|
24
78
|
pattern: string;
|
|
@@ -68,6 +122,192 @@ export interface AgentScanListFilesAction {
|
|
|
68
122
|
glob?: string;
|
|
69
123
|
rationale: string;
|
|
70
124
|
}
|
|
125
|
+
export interface AgentScanCallGraphAction {
|
|
126
|
+
type: 'call_graph';
|
|
127
|
+
/** Workspace-relative path to the file to analyze. */
|
|
128
|
+
filePath: string;
|
|
129
|
+
/** Optional function name — if given, returns forward + reverse call graph. */
|
|
130
|
+
functionName?: string;
|
|
131
|
+
rationale: string;
|
|
132
|
+
}
|
|
133
|
+
export interface AgentScanGitBlameAction {
|
|
134
|
+
type: 'git_blame';
|
|
135
|
+
/** Workspace-relative path to the file. */
|
|
136
|
+
filePath: string;
|
|
137
|
+
/** Optional 1-indexed start line. */
|
|
138
|
+
startLine?: number;
|
|
139
|
+
/** Optional 1-indexed end line (inclusive). */
|
|
140
|
+
endLine?: number;
|
|
141
|
+
rationale: string;
|
|
142
|
+
}
|
|
143
|
+
export interface AgentScanGitHistoryAction {
|
|
144
|
+
type: 'git_history';
|
|
145
|
+
/** Optional workspace-relative path — if omitted, returns repo history. */
|
|
146
|
+
filePath?: string;
|
|
147
|
+
/** Optional function name to search for in history (git log -S). */
|
|
148
|
+
functionName?: string;
|
|
149
|
+
/** Max commits to return (hard cap 20, default 10). */
|
|
150
|
+
limit?: number;
|
|
151
|
+
rationale: string;
|
|
152
|
+
}
|
|
153
|
+
export interface AgentScanGitDiffAction {
|
|
154
|
+
type: 'git_diff';
|
|
155
|
+
/** Base git ref to compare from (e.g. "main", "HEAD~1", a commit SHA). */
|
|
156
|
+
baseRef: string;
|
|
157
|
+
/** Optional head ref (defaults to HEAD). */
|
|
158
|
+
headRef?: string;
|
|
159
|
+
rationale: string;
|
|
160
|
+
}
|
|
161
|
+
export interface AgentScanCheckDependenciesAction {
|
|
162
|
+
type: 'check_dependencies';
|
|
163
|
+
rationale: string;
|
|
164
|
+
}
|
|
165
|
+
export interface AgentScanReadConfigAction {
|
|
166
|
+
type: 'read_config';
|
|
167
|
+
/** What kind of config to look for. */
|
|
168
|
+
configKind: 'auth' | 'cors' | 'rate_limit' | 'headers' | 'env' | 'all';
|
|
169
|
+
rationale: string;
|
|
170
|
+
}
|
|
171
|
+
export interface AgentScanFindDefinitionAction {
|
|
172
|
+
type: 'find_definition';
|
|
173
|
+
/** Workspace-relative path to the file where the symbol is referenced. */
|
|
174
|
+
filePath: string;
|
|
175
|
+
/** The symbol name to find the definition of. */
|
|
176
|
+
symbol: string;
|
|
177
|
+
/** Optional 1-indexed line (for disambiguation). */
|
|
178
|
+
line?: number;
|
|
179
|
+
rationale: string;
|
|
180
|
+
}
|
|
181
|
+
export interface AgentScanFindReferencesAction {
|
|
182
|
+
type: 'find_references';
|
|
183
|
+
/** Workspace-relative path to the file where the symbol is defined. */
|
|
184
|
+
filePath: string;
|
|
185
|
+
/** The symbol name to find references to. */
|
|
186
|
+
symbol: string;
|
|
187
|
+
/** Optional 1-indexed line (for disambiguation). */
|
|
188
|
+
line?: number;
|
|
189
|
+
rationale: string;
|
|
190
|
+
}
|
|
191
|
+
export interface AgentScanFindTestsAction {
|
|
192
|
+
type: 'find_tests';
|
|
193
|
+
/** Workspace-relative path to the source file to find tests for. */
|
|
194
|
+
filePath: string;
|
|
195
|
+
/** Optional symbol name — if provided, also search test files for references. */
|
|
196
|
+
symbol?: string;
|
|
197
|
+
rationale: string;
|
|
198
|
+
}
|
|
199
|
+
export interface AgentScanRunTestsAction {
|
|
200
|
+
type: 'run_tests';
|
|
201
|
+
/** Execution mode: "existing" runs the workspace test suite; "generated" runs an inline script. */
|
|
202
|
+
mode: 'existing' | 'generated';
|
|
203
|
+
/** Existing mode: workspace-relative test file paths to run. */
|
|
204
|
+
testFiles?: string[];
|
|
205
|
+
/** Existing mode: test name pattern passed to the runner. */
|
|
206
|
+
testPattern?: string;
|
|
207
|
+
/** Existing mode: package manager to use. Auto-detected if omitted. */
|
|
208
|
+
packageManager?: 'npm' | 'pnpm' | 'yarn' | 'bun' | 'pytest';
|
|
209
|
+
/** Generated mode: inline test script source code. */
|
|
210
|
+
script?: string;
|
|
211
|
+
/** Generated mode: optional setup script run before the test. */
|
|
212
|
+
setupScript?: string;
|
|
213
|
+
/** Generated mode: runner to execute the script. */
|
|
214
|
+
runner?: string;
|
|
215
|
+
/** Hard timeout in ms. Default: 60000 (existing), 30000 (generated). */
|
|
216
|
+
timeoutMs?: number;
|
|
217
|
+
rationale: string;
|
|
218
|
+
}
|
|
219
|
+
export type ProofDimension = 'source' | 'reachability' | 'control' | 'threat-model' | 'impact' | 'verification';
|
|
220
|
+
export interface FlowEndpoint {
|
|
221
|
+
filePath: string;
|
|
222
|
+
symbol?: string;
|
|
223
|
+
line?: number;
|
|
224
|
+
}
|
|
225
|
+
export interface FlowHop {
|
|
226
|
+
filePath: string;
|
|
227
|
+
symbol?: string;
|
|
228
|
+
line?: number;
|
|
229
|
+
description?: string;
|
|
230
|
+
}
|
|
231
|
+
export interface StructuredFlowResult {
|
|
232
|
+
status: 'confirmed' | 'refuted' | 'inconclusive' | 'blocked';
|
|
233
|
+
source?: FlowEndpoint;
|
|
234
|
+
sink?: FlowEndpoint;
|
|
235
|
+
hops: FlowHop[];
|
|
236
|
+
truncated: boolean;
|
|
237
|
+
error?: string;
|
|
238
|
+
riskId?: string;
|
|
239
|
+
candidateId?: string;
|
|
240
|
+
}
|
|
241
|
+
export interface RiskProofState {
|
|
242
|
+
riskId: string;
|
|
243
|
+
candidateId?: string;
|
|
244
|
+
satisfiedDimensions: ProofDimension[];
|
|
245
|
+
missingDimensions: ProofDimension[];
|
|
246
|
+
}
|
|
247
|
+
export type VerificationLevel = 'logic-confirmed' | 'path-confirmed' | 'impact-confirmed' | 'exploit-confirmed';
|
|
248
|
+
export type ThreatModelApplicability = 'confirmed' | 'rejected' | 'unknown';
|
|
249
|
+
export interface EvidenceLocation {
|
|
250
|
+
file: string;
|
|
251
|
+
line: number;
|
|
252
|
+
lineEnd?: number;
|
|
253
|
+
description: string;
|
|
254
|
+
}
|
|
255
|
+
export interface ControlAssessment {
|
|
256
|
+
expected: string;
|
|
257
|
+
actual: string;
|
|
258
|
+
status: 'missing' | 'ineffective' | 'bypassed' | 'present';
|
|
259
|
+
}
|
|
260
|
+
export interface ImpactAssessment {
|
|
261
|
+
description: string;
|
|
262
|
+
confirmed: boolean;
|
|
263
|
+
}
|
|
264
|
+
export interface VerificationAssessment {
|
|
265
|
+
level: VerificationLevel;
|
|
266
|
+
method: string;
|
|
267
|
+
}
|
|
268
|
+
export interface ThreatModelAssessment {
|
|
269
|
+
attacker: string;
|
|
270
|
+
boundary: string;
|
|
271
|
+
applicable: ThreatModelApplicability;
|
|
272
|
+
evidence: EvidenceLocation[];
|
|
273
|
+
}
|
|
274
|
+
export interface EvidenceChain {
|
|
275
|
+
source?: EvidenceLocation;
|
|
276
|
+
flow: EvidenceLocation[];
|
|
277
|
+
sink?: EvidenceLocation;
|
|
278
|
+
control?: ControlAssessment;
|
|
279
|
+
impact?: ImpactAssessment;
|
|
280
|
+
verification?: VerificationAssessment;
|
|
281
|
+
threatModel?: ThreatModelAssessment;
|
|
282
|
+
}
|
|
283
|
+
export interface RootCauseReference {
|
|
284
|
+
rootCauseId: string;
|
|
285
|
+
description: string;
|
|
286
|
+
affectedSurfaces: EvidenceLocation[];
|
|
287
|
+
}
|
|
288
|
+
export interface InvestigationNote {
|
|
289
|
+
title: string;
|
|
290
|
+
detail: string;
|
|
291
|
+
file: string;
|
|
292
|
+
line?: number;
|
|
293
|
+
lineEnd?: number;
|
|
294
|
+
symbol?: string;
|
|
295
|
+
verificationLevel: VerificationLevel;
|
|
296
|
+
rootCauseId?: string;
|
|
297
|
+
requiredEvidence: string[];
|
|
298
|
+
priority: 'high' | 'medium' | 'low';
|
|
299
|
+
}
|
|
300
|
+
export interface CoverageGap {
|
|
301
|
+
title: string;
|
|
302
|
+
detail: string;
|
|
303
|
+
file?: string;
|
|
304
|
+
line?: number;
|
|
305
|
+
lineEnd?: number;
|
|
306
|
+
symbol?: string;
|
|
307
|
+
requiredEvidence: string[];
|
|
308
|
+
suggestedNextAction: string;
|
|
309
|
+
priority: 'high' | 'medium' | 'low';
|
|
310
|
+
}
|
|
71
311
|
export interface AgentScanFinding {
|
|
72
312
|
line: number;
|
|
73
313
|
lineEnd?: number;
|
|
@@ -87,6 +327,9 @@ export interface AgentScanFinding {
|
|
|
87
327
|
importsNeeded?: string[];
|
|
88
328
|
confidence?: number;
|
|
89
329
|
};
|
|
330
|
+
evidenceChain?: EvidenceChain;
|
|
331
|
+
rootCause?: RootCauseReference;
|
|
332
|
+
verificationLevel?: VerificationLevel;
|
|
90
333
|
}
|
|
91
334
|
export interface AgentScanFinishAction {
|
|
92
335
|
type: 'finish';
|
|
@@ -94,9 +337,28 @@ export interface AgentScanFinishAction {
|
|
|
94
337
|
summary: string;
|
|
95
338
|
/** Self-critique the agent writes before reporting — visible to the user. */
|
|
96
339
|
selfCritique?: string | null;
|
|
340
|
+
/** Investigated but unproven concerns — never treated as vulnerabilities. */
|
|
341
|
+
investigationNotes?: InvestigationNote[];
|
|
342
|
+
/** Areas that were not sufficiently investigated — guides future scans. */
|
|
343
|
+
coverageGaps?: CoverageGap[];
|
|
97
344
|
}
|
|
98
|
-
export type
|
|
99
|
-
export
|
|
345
|
+
export type AgentScanSystemEventType = 'critique' | 'error' | 'blocked' | 'budget' | 'finish_gate';
|
|
346
|
+
export interface AgentScanSystemEventAction {
|
|
347
|
+
type: 'system_event';
|
|
348
|
+
eventType: AgentScanSystemEventType;
|
|
349
|
+
/** Human-readable event payload — shown to the agent in the transcript. */
|
|
350
|
+
message: string;
|
|
351
|
+
/** Optional structured issues (used by critique). */
|
|
352
|
+
issues?: Array<{
|
|
353
|
+
findingIndex: number;
|
|
354
|
+
reason: string;
|
|
355
|
+
severity: 'high' | 'medium' | 'low';
|
|
356
|
+
}>;
|
|
357
|
+
/** Optional missed concerns (used by critique). */
|
|
358
|
+
missedConcerns?: string | null;
|
|
359
|
+
}
|
|
360
|
+
export type AgentScanAction = AgentScanReadFileAction | AgentScanSearchCodeAction | AgentScanTraceFlowAction | AgentScanTraceFlowCrossFileAction | AgentScanCheckGuardAction | AgentScanCheckPolicyAction | AgentScanGetEndpointsAction | AgentScanListImportsAction | AgentScanListFilesAction | AgentScanCallGraphAction | AgentScanGitBlameAction | AgentScanGitHistoryAction | AgentScanGitDiffAction | AgentScanCheckDependenciesAction | AgentScanReadConfigAction | AgentScanFindDefinitionAction | AgentScanFindReferencesAction | AgentScanFindTestsAction | AgentScanRunTestsAction | AgentScanFinishAction | AgentScanSystemEventAction;
|
|
361
|
+
export type AgentScanActionType = 'read_file' | 'search_code' | 'trace_flow' | 'trace_flow_cross_file' | 'check_guard' | 'check_policy' | 'get_endpoints' | 'list_imports' | 'list_files' | 'call_graph' | 'git_blame' | 'git_history' | 'git_diff' | 'check_dependencies' | 'read_config' | 'find_definition' | 'find_references' | 'find_tests' | 'run_tests' | 'finish' | 'system_event';
|
|
100
362
|
export type AttackType = 'sql_injection' | 'nosql_injection' | 'command_injection' | 'xss' | 'ssrf' | 'path_traversal' | 'open_redirect' | 'prototype_pollution' | 'insecure_deserialization' | 'broken_access_control';
|
|
101
363
|
export interface AgentScanTranscriptStep {
|
|
102
364
|
action: AgentScanAction;
|
|
@@ -106,6 +368,19 @@ export interface AgentScanBudget {
|
|
|
106
368
|
stepsRemaining: number;
|
|
107
369
|
costSpentUsd: number;
|
|
108
370
|
costCapUsd: number;
|
|
371
|
+
stepsGranted: number;
|
|
372
|
+
hardMaxSteps: number;
|
|
373
|
+
extensionsGranted: number;
|
|
374
|
+
}
|
|
375
|
+
export interface AgentScanScope {
|
|
376
|
+
/** Files that changed (from git diff). */
|
|
377
|
+
changedFiles: string[];
|
|
378
|
+
/** Full blast radius (changed + affected files). */
|
|
379
|
+
blastRadius: string[];
|
|
380
|
+
/** Base git ref used for the diff. */
|
|
381
|
+
baseRef?: string;
|
|
382
|
+
/** Head git ref used for the diff. */
|
|
383
|
+
headRef?: string;
|
|
109
384
|
}
|
|
110
385
|
export interface AgentScanTarget {
|
|
111
386
|
filePath: string;
|
|
@@ -114,6 +389,13 @@ export interface AgentScanTarget {
|
|
|
114
389
|
endpointContext?: unknown;
|
|
115
390
|
/** Formatted workspace memory string (false positives + known facts). */
|
|
116
391
|
workspaceMemory?: string;
|
|
392
|
+
/** Diff-aware blast radius scope. When present, the agent should focus
|
|
393
|
+
* its investigation on files within this scope. */
|
|
394
|
+
scope?: AgentScanScope;
|
|
395
|
+
/** Formatted architecture context string from a prior architecture-scout
|
|
396
|
+
* run. Gives the agent project-wide context (important files, trust
|
|
397
|
+
* boundaries, security controls) so it doesn't re-discover them. */
|
|
398
|
+
architectureContext?: string;
|
|
117
399
|
}
|
|
118
400
|
export interface AgentScanStartResponse {
|
|
119
401
|
runId: string;
|
|
@@ -126,6 +408,28 @@ export interface AgentScanStepRequest {
|
|
|
126
408
|
target: AgentScanTarget;
|
|
127
409
|
transcript: AgentScanTranscriptStep[];
|
|
128
410
|
budget: AgentScanBudget;
|
|
411
|
+
/**
|
|
412
|
+
* Client capability advertisement. The API uses this to filter the
|
|
413
|
+
* action enum in the LLM schema so it never emits an action the MCP
|
|
414
|
+
* can't execute. Old MCPs that omit this field get the default action
|
|
415
|
+
* set (all actions the current API version knows about).
|
|
416
|
+
*/
|
|
417
|
+
clientCapabilities?: AgentScanClientCapabilities;
|
|
418
|
+
investigationProgress?: AgentInvestigationProgress;
|
|
419
|
+
/** Action constraint for deterministic blocked-read recovery. */
|
|
420
|
+
actionConstraint?: AgentActionConstraint;
|
|
421
|
+
}
|
|
422
|
+
export interface AgentInvestigationProgress {
|
|
423
|
+
completedSteps: string[];
|
|
424
|
+
incompleteSteps: string[];
|
|
425
|
+
consecutiveBlockedReads: number;
|
|
426
|
+
meaningfulProgressSinceLastExtension: boolean;
|
|
427
|
+
}
|
|
428
|
+
export interface BudgetExtensionEvent {
|
|
429
|
+
granted: number;
|
|
430
|
+
totalGranted: number;
|
|
431
|
+
hardMaxSteps: number;
|
|
432
|
+
reason: string;
|
|
129
433
|
}
|
|
130
434
|
export interface AgentScanStepResponse {
|
|
131
435
|
next: AgentScanAction | null;
|
|
@@ -134,6 +438,26 @@ export interface AgentScanStepResponse {
|
|
|
134
438
|
degraded: boolean;
|
|
135
439
|
costCapped: boolean;
|
|
136
440
|
stepsRemaining: number;
|
|
441
|
+
systemEvent?: AgentScanSystemEventAction;
|
|
442
|
+
budgetExtension?: BudgetExtensionEvent;
|
|
443
|
+
/** Protocol v5: server-side finish gate evaluation result. */
|
|
444
|
+
finishGate?: {
|
|
445
|
+
status: 'accepted' | 'rejected' | 'not_evaluated';
|
|
446
|
+
incompleteSteps: string[];
|
|
447
|
+
reason: string;
|
|
448
|
+
};
|
|
449
|
+
callBreakdown?: {
|
|
450
|
+
decision: number;
|
|
451
|
+
retry: number;
|
|
452
|
+
critique: number;
|
|
453
|
+
};
|
|
454
|
+
/** Model telemetry — the actual serving model for this step. */
|
|
455
|
+
model?: string;
|
|
456
|
+
provider?: string;
|
|
457
|
+
fallbackFired?: boolean;
|
|
458
|
+
latencyMs?: number;
|
|
459
|
+
promptTokens?: number;
|
|
460
|
+
completionTokens?: number;
|
|
137
461
|
}
|
|
138
462
|
export interface AgentScanToolRequest {
|
|
139
463
|
runId: string;
|
|
@@ -143,13 +467,65 @@ export interface AgentScanToolRequest {
|
|
|
143
467
|
export interface AgentScanToolResponse {
|
|
144
468
|
observation: string;
|
|
145
469
|
}
|
|
146
|
-
export type AgentScanRunStatus = 'completed' | 'capped' | 'degraded' | 'spawn_failed' | 'cancelled';
|
|
470
|
+
export type AgentScanRunStatus = 'completed' | 'capped' | 'degraded' | 'spawn_failed' | 'cancelled' | 'blocked_recovery';
|
|
471
|
+
export type TerminationReason = 'agent_finish' | 'forced_incomplete' | 'budget_exhausted' | 'cost_cap' | 'wall_clock' | 'blocked_read_recovery' | 'api_error' | 'cancelled';
|
|
147
472
|
export interface AgentScanResult {
|
|
148
473
|
status: AgentScanRunStatus;
|
|
149
474
|
findings: AgentScanFinding[];
|
|
475
|
+
investigationNotes: InvestigationNote[];
|
|
476
|
+
coverageGaps: CoverageGap[];
|
|
150
477
|
summary?: string;
|
|
151
478
|
transcript: AgentScanTranscriptStep[];
|
|
152
479
|
stepsUsed: number;
|
|
480
|
+
stepsGranted: number;
|
|
481
|
+
extensionsGranted: number;
|
|
153
482
|
costSpentUsd: number;
|
|
483
|
+
terminationReason?: TerminationReason;
|
|
154
484
|
error?: string;
|
|
485
|
+
qualityMetrics?: import('./qualityMetrics').ScanQualityMetrics;
|
|
486
|
+
}
|
|
487
|
+
export interface VerifyBudget {
|
|
488
|
+
/** Max number of findings to even attempt to verify. */
|
|
489
|
+
maxFindings: number;
|
|
490
|
+
/** Max rounds per single finding. */
|
|
491
|
+
maxRoundsPerFinding: number;
|
|
492
|
+
/** Aggregate LLM-call cap across all findings (generate + analyze). */
|
|
493
|
+
maxLlmCalls: number;
|
|
494
|
+
/** Aggregate wall-clock cap across all findings, in ms. */
|
|
495
|
+
maxWallClockMs: number;
|
|
496
|
+
/** Aggregate cost cap across all findings, in USD. */
|
|
497
|
+
costCapUsd: number;
|
|
155
498
|
}
|
|
499
|
+
export declare const VERIFY_DEFAULTS: {
|
|
500
|
+
readonly maxFindings: 10;
|
|
501
|
+
readonly maxRoundsPerFinding: 12;
|
|
502
|
+
readonly maxLlmCalls: 60;
|
|
503
|
+
readonly maxWallClockMs: number;
|
|
504
|
+
readonly costCapUsd: 0.8;
|
|
505
|
+
};
|
|
506
|
+
export declare function defaultVerifyBudget(overrides?: Partial<VerifyBudget>): VerifyBudget;
|
|
507
|
+
/** Mutable tracker used by the verify loop to enforce a VerifyBudget. */
|
|
508
|
+
export declare class VerifyBudgetTracker {
|
|
509
|
+
findingsAttempted: number;
|
|
510
|
+
roundsUsed: number;
|
|
511
|
+
llmCallsUsed: number;
|
|
512
|
+
costSpentUsd: number;
|
|
513
|
+
readonly startedAtMs: number;
|
|
514
|
+
readonly budget: VerifyBudget;
|
|
515
|
+
constructor(budget: VerifyBudget);
|
|
516
|
+
get wallClockElapsedMs(): number;
|
|
517
|
+
canAttemptFinding(): boolean;
|
|
518
|
+
canAttemptRound(): boolean;
|
|
519
|
+
/** Remaining wall-clock in ms; floored at 1000 to avoid zero-timeout spawns. */
|
|
520
|
+
remainingWallClockMs(): number;
|
|
521
|
+
recordLlmCall(costUsd: number): void;
|
|
522
|
+
}
|
|
523
|
+
export type FixVerificationStatus = 'not-run' | 'closed' | 'still-vulnerable' | 'inconclusive' | 'syntax-invalid' | 'sandbox-unavailable' | 'cancelled';
|
|
524
|
+
export declare const FIX_VERIFY_DEFAULTS: {
|
|
525
|
+
readonly maxFindings: 1;
|
|
526
|
+
readonly maxRoundsPerFinding: 3;
|
|
527
|
+
readonly maxLlmCalls: 6;
|
|
528
|
+
readonly maxWallClockMs: 120000;
|
|
529
|
+
readonly costCapUsd: 0.2;
|
|
530
|
+
};
|
|
531
|
+
export declare function defaultFixVerifyBudget(overrides?: Partial<VerifyBudget>): VerifyBudget;
|