@bouncesecurity/aghast 0.4.4 → 0.5.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 (87) hide show
  1. package/config/prompts/general-vuln-discovery.md +7 -3
  2. package/dist/build-config.d.ts +15 -0
  3. package/dist/build-config.d.ts.map +1 -0
  4. package/dist/build-config.js +568 -0
  5. package/dist/build-config.js.map +1 -0
  6. package/dist/check-library.d.ts.map +1 -1
  7. package/dist/check-library.js +4 -1
  8. package/dist/check-library.js.map +1 -1
  9. package/dist/check-types.d.ts +1 -1
  10. package/dist/check-types.d.ts.map +1 -1
  11. package/dist/claude-code-provider.d.ts +6 -4
  12. package/dist/claude-code-provider.d.ts.map +1 -1
  13. package/dist/claude-code-provider.js +86 -51
  14. package/dist/claude-code-provider.js.map +1 -1
  15. package/dist/cli.js +8 -2
  16. package/dist/cli.js.map +1 -1
  17. package/dist/colors.js +4 -4
  18. package/dist/colors.js.map +1 -1
  19. package/dist/defaults.d.ts +21 -0
  20. package/dist/defaults.d.ts.map +1 -0
  21. package/dist/defaults.js +21 -0
  22. package/dist/defaults.js.map +1 -0
  23. package/dist/discoveries/openant-discovery.d.ts.map +1 -1
  24. package/dist/discoveries/openant-discovery.js +3 -2
  25. package/dist/discoveries/openant-discovery.js.map +1 -1
  26. package/dist/discoveries/sarif-discovery.d.ts.map +1 -1
  27. package/dist/discoveries/sarif-discovery.js +2 -1
  28. package/dist/discoveries/sarif-discovery.js.map +1 -1
  29. package/dist/discoveries/semgrep-discovery.d.ts.map +1 -1
  30. package/dist/discoveries/semgrep-discovery.js +11 -2
  31. package/dist/discoveries/semgrep-discovery.js.map +1 -1
  32. package/dist/discovery.d.ts +8 -2
  33. package/dist/discovery.d.ts.map +1 -1
  34. package/dist/discovery.js +8 -0
  35. package/dist/discovery.js.map +1 -1
  36. package/dist/error-codes.d.ts +2 -1
  37. package/dist/error-codes.d.ts.map +1 -1
  38. package/dist/error-codes.js +8 -3
  39. package/dist/error-codes.js.map +1 -1
  40. package/dist/formatters/types.d.ts +1 -1
  41. package/dist/formatters/types.js +1 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +91 -78
  44. package/dist/index.js.map +1 -1
  45. package/dist/logging.d.ts.map +1 -1
  46. package/dist/logging.js +36 -9
  47. package/dist/logging.js.map +1 -1
  48. package/dist/{mock-ai-provider.d.ts → mock-agent-provider.d.ts} +5 -5
  49. package/dist/mock-agent-provider.d.ts.map +1 -0
  50. package/dist/{mock-ai-provider.js → mock-agent-provider.js} +3 -3
  51. package/dist/mock-agent-provider.js.map +1 -0
  52. package/dist/new-check.js +2 -2
  53. package/dist/new-check.js.map +1 -1
  54. package/dist/opencode-provider.d.ts +65 -0
  55. package/dist/opencode-provider.d.ts.map +1 -0
  56. package/dist/opencode-provider.js +541 -0
  57. package/dist/opencode-provider.js.map +1 -0
  58. package/dist/prompt-template.d.ts.map +1 -1
  59. package/dist/prompt-template.js +2 -1
  60. package/dist/prompt-template.js.map +1 -1
  61. package/dist/provider-registry.d.ts +6 -6
  62. package/dist/provider-registry.d.ts.map +1 -1
  63. package/dist/provider-registry.js +6 -4
  64. package/dist/provider-registry.js.map +1 -1
  65. package/dist/provider-utils.d.ts +52 -0
  66. package/dist/provider-utils.d.ts.map +1 -0
  67. package/dist/provider-utils.js +40 -0
  68. package/dist/provider-utils.js.map +1 -0
  69. package/dist/response-parser.d.ts +8 -6
  70. package/dist/response-parser.d.ts.map +1 -1
  71. package/dist/response-parser.js +8 -6
  72. package/dist/response-parser.js.map +1 -1
  73. package/dist/runtime-config.d.ts +4 -4
  74. package/dist/runtime-config.d.ts.map +1 -1
  75. package/dist/runtime-config.js +15 -8
  76. package/dist/runtime-config.js.map +1 -1
  77. package/dist/scan-runner.d.ts +4 -4
  78. package/dist/scan-runner.d.ts.map +1 -1
  79. package/dist/scan-runner.js +99 -42
  80. package/dist/scan-runner.js.map +1 -1
  81. package/dist/types.d.ts +34 -7
  82. package/dist/types.d.ts.map +1 -1
  83. package/dist/types.js +3 -3
  84. package/dist/types.js.map +1 -1
  85. package/package.json +5 -3
  86. package/dist/mock-ai-provider.d.ts.map +0 -1
  87. package/dist/mock-ai-provider.js.map +0 -1
@@ -5,19 +5,20 @@
5
5
  */
6
6
  import { readFile } from 'node:fs/promises';
7
7
  import { randomBytes } from 'node:crypto';
8
- import { resolve, dirname } from 'node:path';
8
+ import { resolve, relative, dirname } from 'node:path';
9
9
  import { fileURLToPath } from 'node:url';
10
10
  import { buildPrompt } from './prompt-template.js';
11
- import { parseAIResponse } from './response-parser.js';
11
+ import { parseAgentResponse } from './response-parser.js';
12
12
  import { extractSnippet } from './snippet-extractor.js';
13
13
  import { analyzeRepository } from './repository-analyzer.js';
14
14
  import { logProgress, logDebug, createTimer } from './logging.js';
15
15
  import { CHECK_TYPE } from './check-types.js';
16
16
  import { getDiscovery, registerDiscovery } from './discovery.js';
17
+ import { DEFAULT_PROVIDER_NAME } from './provider-registry.js';
17
18
  import { semgrepDiscovery } from './discoveries/semgrep-discovery.js';
18
19
  import { openantDiscovery } from './discoveries/openant-discovery.js';
19
20
  import { sarifDiscovery } from './discoveries/sarif-discovery.js';
20
- import { DEFAULT_AI_MODEL, FatalProviderError, } from './types.js';
21
+ import { DEFAULT_MODEL, FatalProviderError, } from './types.js';
21
22
  const __dirname = dirname(fileURLToPath(import.meta.url));
22
23
  const TAG = 'scan';
23
24
  const DEFAULT_CONCURRENCY = 5;
@@ -96,6 +97,52 @@ export function generateScanId() {
96
97
  const hash = randomBytes(3).toString('hex');
97
98
  return `scan-${ts}-${hash}`;
98
99
  }
100
+ /**
101
+ * Normalize a file path to be relative to the repository root.
102
+ * Handles:
103
+ * - AI-generated paths that include the parent directory name(s) of the target repo
104
+ * (e.g., "test-codebases/test-2-importantvalidations-easy/routes/execute.py" when
105
+ * repo is at "checks-config/test-codebases/test-2-importantvalidations-easy")
106
+ * - Absolute paths: resolves and makes relative
107
+ * - Paths with repository prefix: strips the prefix
108
+ * - Relative paths: returns as-is with forward slashes
109
+ *
110
+ * This ensures consistent path formatting across all findings regardless
111
+ * of how the AI or discovery provider reported the path.
112
+ */
113
+ function normalizeFilePath(filePath, repositoryPath) {
114
+ const normalizedFile = filePath.replace(/\\/g, '/');
115
+ // If the path already looks relative and doesn't contain obvious parent refs,
116
+ // check if it starts with path segments that could be the parent of the repo.
117
+ // AI providers often return paths relative to a working directory that is
118
+ // different from the actual repository root, so we need to strip any
119
+ // prefix that leads to the repo path.
120
+ const normalizedRepo = resolve(repositoryPath);
121
+ const repoParts = normalizedRepo.replace(/\\/g, '/').split('/').filter(Boolean);
122
+ // Try stripping progressively longer trailing suffixes of the repo path from
123
+ // the front of the file path. AI providers often return paths relative to an
124
+ // ancestor directory, e.g. "test-codebases/test-2-easy/routes/run.py" when
125
+ // the repo is at "/abs/path/to/test-codebases/test-2-easy".
126
+ for (let i = 1; i <= repoParts.length; i++) {
127
+ const suffix = repoParts.slice(repoParts.length - i).join('/');
128
+ if (normalizedFile.startsWith(suffix + '/')) {
129
+ const candidate = normalizedFile.slice(suffix.length + 1);
130
+ const candidateResolved = resolve(normalizedRepo, candidate);
131
+ const candidateRelative = relative(normalizedRepo, candidateResolved).replace(/\\/g, '/');
132
+ if (!candidateRelative.startsWith('..')) {
133
+ return candidate;
134
+ }
135
+ }
136
+ }
137
+ // Fallback: resolve against repo and make relative
138
+ const resolved = resolve(normalizedRepo, normalizedFile);
139
+ const rel = relative(normalizedRepo, resolved).replace(/\\/g, '/');
140
+ if (!rel.startsWith('..')) {
141
+ return rel;
142
+ }
143
+ // Last resort: just normalize slashes
144
+ return normalizedFile;
145
+ }
99
146
  /**
100
147
  * Enrich a raw AI issue into a full SecurityIssue.
101
148
  * Extracts code snippets, applies check metadata, and normalizes paths.
@@ -105,7 +152,7 @@ async function enrichIssue(aiIssue, checkId, checkName, repositoryPath, checkMet
105
152
  const issue = {
106
153
  checkId,
107
154
  checkName,
108
- file: aiIssue.file.replace(/\\/g, '/'),
155
+ file: normalizeFilePath(aiIssue.file, repositoryPath),
109
156
  startLine: aiIssue.startLine,
110
157
  endLine: aiIssue.endLine,
111
158
  description: aiIssue.description,
@@ -122,7 +169,7 @@ async function enrichIssue(aiIssue, checkId, checkName, repositoryPath, checkMet
122
169
  if (aiIssue.dataFlow !== undefined) {
123
170
  issue.dataFlow = aiIssue.dataFlow.map((step) => ({
124
171
  ...step,
125
- file: step.file.replace(/\\/g, '/'),
172
+ file: normalizeFilePath(step.file, repositoryPath),
126
173
  }));
127
174
  }
128
175
  return issue;
@@ -131,20 +178,20 @@ async function enrichIssue(aiIssue, checkId, checkName, repositoryPath, checkMet
131
178
  * If the check specifies a per-check model, switch the provider to that model
132
179
  * and return the previous model name so it can be restored after execution.
133
180
  */
134
- function applyPerCheckModel(check, aiProvider, globalModelName) {
135
- if (!check.model || !aiProvider?.setModel)
181
+ function applyPerCheckModel(check, agentProvider, globalModelName) {
182
+ if (!check.model || !agentProvider?.setModel)
136
183
  return undefined;
137
- const previousModel = aiProvider.getModelName?.() ?? globalModelName;
138
- aiProvider.setModel(check.model);
184
+ const previousModel = agentProvider.getModelName?.() ?? globalModelName;
185
+ agentProvider.setModel(check.model);
139
186
  logProgress(TAG, `Using per-check model: ${check.model} (check: ${check.id})`);
140
187
  return previousModel;
141
188
  }
142
189
  /**
143
190
  * Restore the provider's model to the previous value after per-check override.
144
191
  */
145
- function restoreModel(aiProvider, previousModel) {
146
- if (previousModel !== undefined && aiProvider?.setModel) {
147
- aiProvider.setModel(previousModel);
192
+ function restoreModel(agentProvider, previousModel) {
193
+ if (previousModel !== undefined && agentProvider?.setModel) {
194
+ agentProvider.setModel(previousModel);
148
195
  }
149
196
  }
150
197
  /**
@@ -156,7 +203,7 @@ async function mapTargetToIssue(target, checkId, checkName, repositoryPath, chec
156
203
  const issue = {
157
204
  checkId,
158
205
  checkName,
159
- file: target.file.replace(/\\/g, '/'),
206
+ file: normalizeFilePath(target.file, repositoryPath),
160
207
  startLine: target.startLine,
161
208
  endLine: target.endLine,
162
209
  description: target.message || 'Static finding',
@@ -176,22 +223,22 @@ async function mapTargetToIssue(target, checkId, checkName, repositoryPath, chec
176
223
  * Execute a single check against a repository.
177
224
  * Routes to the appropriate execution path based on check type.
178
225
  */
179
- async function executeSingleCheck(check, checkName, checkInstructions, repositoryPath, aiProvider, checkMetadata, concurrency, configDir, genericPrompt) {
226
+ async function executeSingleCheck(check, checkName, checkInstructions, repositoryPath, agentProvider, checkMetadata, concurrency, configDir, genericPrompt) {
180
227
  const checkId = check.id;
181
228
  // Route to targeted execution (discovery + AI analysis)
182
229
  if (check.checkTarget?.type === CHECK_TYPE.TARGETED) {
183
- if (!aiProvider) {
184
- throw new Error(`Check "${checkId}" requires an AI provider but none was configured`);
230
+ if (!agentProvider) {
231
+ throw new Error(`Check "${checkId}" requires an agent provider but none was configured`);
185
232
  }
186
- return executeTargetedCheck(check, checkName, checkInstructions, repositoryPath, aiProvider, checkMetadata, concurrency, configDir, genericPrompt);
233
+ return executeTargetedCheck(check, checkName, checkInstructions, repositoryPath, agentProvider, checkMetadata, concurrency, configDir, genericPrompt);
187
234
  }
188
235
  // Route to static execution (discovery + direct mapping, no AI)
189
236
  if (check.checkTarget?.type === CHECK_TYPE.STATIC) {
190
237
  return executeStaticCheck(check, checkName, repositoryPath, checkMetadata);
191
238
  }
192
239
  // Repository check (no discovery, AI analyzes whole repo)
193
- if (!aiProvider) {
194
- throw new Error(`Check "${checkId}" requires an AI provider but none was configured`);
240
+ if (!agentProvider) {
241
+ throw new Error(`Check "${checkId}" requires an agent provider but none was configured`);
195
242
  }
196
243
  logProgress(TAG, `Running check: ${checkName}`);
197
244
  const prompt = await buildPrompt(checkInstructions, configDir, genericPrompt);
@@ -200,10 +247,10 @@ async function executeSingleCheck(check, checkName, checkInstructions, repositor
200
247
  let summary;
201
248
  const checkTimer = createTimer();
202
249
  try {
203
- const aiResponse = await aiProvider.executeCheck(prompt, repositoryPath);
250
+ const agentResponse = await agentProvider.executeCheck(prompt, repositoryPath);
204
251
  const executionTime = checkTimer.elapsed();
205
- logDebug(TAG, `AI response: ${aiResponse.raw.length} chars`);
206
- const parsed = aiResponse.parsed ?? parseAIResponse(aiResponse.raw);
252
+ logDebug(TAG, `Agent response: ${agentResponse.raw.length} chars`);
253
+ const parsed = agentResponse.parsed ?? parseAgentResponse(agentResponse.raw);
207
254
  if (!parsed) {
208
255
  logProgress(TAG, 'Result: ERROR (malformed response)');
209
256
  summary = {
@@ -212,9 +259,9 @@ async function executeSingleCheck(check, checkName, checkInstructions, repositor
212
259
  status: 'ERROR',
213
260
  issuesFound: 0,
214
261
  executionTime,
215
- error: 'AI provider returned malformed response',
216
- rawAiResponse: aiResponse.raw,
217
- tokenUsage: aiResponse.tokenUsage,
262
+ error: 'Agent provider returned malformed response',
263
+ rawAiResponse: agentResponse.raw,
264
+ tokenUsage: agentResponse.tokenUsage,
218
265
  };
219
266
  }
220
267
  else if (parsed.issues.length > 0) {
@@ -226,7 +273,7 @@ async function executeSingleCheck(check, checkName, checkInstructions, repositor
226
273
  status: 'FAIL',
227
274
  issuesFound: issues.length,
228
275
  executionTime,
229
- tokenUsage: aiResponse.tokenUsage,
276
+ tokenUsage: agentResponse.tokenUsage,
230
277
  };
231
278
  }
232
279
  else if (parsed.flagged) {
@@ -237,7 +284,7 @@ async function executeSingleCheck(check, checkName, checkInstructions, repositor
237
284
  status: 'FLAG',
238
285
  issuesFound: 0,
239
286
  executionTime,
240
- tokenUsage: aiResponse.tokenUsage,
287
+ tokenUsage: agentResponse.tokenUsage,
241
288
  };
242
289
  }
243
290
  else {
@@ -248,7 +295,7 @@ async function executeSingleCheck(check, checkName, checkInstructions, repositor
248
295
  status: 'PASS',
249
296
  issuesFound: 0,
250
297
  executionTime,
251
- tokenUsage: aiResponse.tokenUsage,
298
+ tokenUsage: agentResponse.tokenUsage,
252
299
  };
253
300
  }
254
301
  }
@@ -276,7 +323,7 @@ async function executeSingleCheck(check, checkName, checkInstructions, repositor
276
323
  * The execution pipeline is generic — all discovery-specific behavior is
277
324
  * encapsulated in the DiscoveredTarget data from the discovery implementation.
278
325
  */
279
- async function executeTargetedCheck(check, checkName, checkInstructions, repositoryPath, aiProvider, checkMetadata, optionsConcurrency, configDir, genericPromptOverride) {
326
+ async function executeTargetedCheck(check, checkName, checkInstructions, repositoryPath, agentProvider, checkMetadata, optionsConcurrency, configDir, genericPromptOverride) {
280
327
  const checkId = check.id;
281
328
  const checkTarget = check.checkTarget;
282
329
  const discoveryName = checkTarget.discovery;
@@ -342,14 +389,24 @@ async function executeTargetedCheck(check, checkName, checkInstructions, reposit
342
389
  try {
343
390
  const prompt = basePrompt + (target.promptEnrichment ?? '');
344
391
  logDebug(TAG, `${target.label} Analyzing: ${target.file}:${target.startLine}-${target.endLine}`);
345
- const aiResponse = await aiProvider.executeCheck(prompt, repositoryPath, target.label, target.aiOptions);
346
- const parsed = aiResponse.parsed ?? parseAIResponse(aiResponse.raw);
392
+ const agentResponse = await agentProvider.executeCheck(prompt, repositoryPath, target.label, target.agentOptions);
393
+ const parsed = agentResponse.parsed ?? parseAgentResponse(agentResponse.raw);
347
394
  if (!parsed) {
348
395
  logDebug(TAG, `${target.label} Returned malformed response`);
349
- return { issues: [], error: true, flagged: false, tokenUsage: aiResponse.tokenUsage };
396
+ return { issues: [], error: true, flagged: false, tokenUsage: agentResponse.tokenUsage };
397
+ }
398
+ // Apply optional per-target issue cap (checkTarget.maxIssuesPerTarget).
399
+ // Useful for checks whose prompt expects one combined issue per target;
400
+ // most checks should leave it unset and allow unlimited issues per target.
401
+ const maxIssues = checkTarget.maxIssuesPerTarget;
402
+ const cappedIssues = typeof maxIssues === 'number' && maxIssues >= 0
403
+ ? parsed.issues.slice(0, maxIssues)
404
+ : parsed.issues;
405
+ if (cappedIssues.length < parsed.issues.length) {
406
+ logDebug(TAG, `${target.label} Capping ${parsed.issues.length} issues to ${maxIssues} (maxIssuesPerTarget)`);
350
407
  }
351
- const issues = await Promise.all(parsed.issues.map((aiIssue) => enrichIssue(aiIssue, checkId, checkName, repositoryPath, checkMetadata)));
352
- return { issues, error: false, flagged: parsed.flagged === true, tokenUsage: aiResponse.tokenUsage };
408
+ const issues = await Promise.all(cappedIssues.map((aiIssue) => enrichIssue(aiIssue, checkId, checkName, repositoryPath, checkMetadata)));
409
+ return { issues, error: false, flagged: parsed.flagged === true, tokenUsage: agentResponse.tokenUsage };
353
410
  }
354
411
  catch (err) {
355
412
  // Fatal errors: signal abort and re-throw to stop other workers
@@ -507,7 +564,7 @@ async function executeStaticCheck(check, checkName, repositoryPath, checkMetadat
507
564
  * Run multiple security checks and return aggregated ScanResults.
508
565
  */
509
566
  export async function runMultiScan(options) {
510
- const { repositoryPath, checks, aiProvider, aiModelName, aiProviderName, concurrency, configDir, genericPrompt } = options;
567
+ const { repositoryPath, checks, agentProvider, modelName, agentProviderName, concurrency, configDir, genericPrompt } = options;
511
568
  const scanTimer = createTimer();
512
569
  const scanId = generateScanId();
513
570
  const startTime = new Date();
@@ -527,8 +584,8 @@ export async function runMultiScan(options) {
527
584
  const allIssues = [];
528
585
  // Track all models used during the scan
529
586
  const modelsUsed = new Set();
530
- if (aiModelName)
531
- modelsUsed.add(aiModelName);
587
+ if (modelName)
588
+ modelsUsed.add(modelName);
532
589
  // Execute checks sequentially
533
590
  for (let ci = 0; ci < checks.length; ci++) {
534
591
  const { check, details } = checks[ci];
@@ -537,11 +594,11 @@ export async function runMultiScan(options) {
537
594
  confidence: check.confidence,
538
595
  };
539
596
  // Apply per-check model override if specified
540
- const previousModel = applyPerCheckModel(check, aiProvider, aiModelName);
597
+ const previousModel = applyPerCheckModel(check, agentProvider, modelName);
541
598
  if (check.model)
542
599
  modelsUsed.add(check.model);
543
600
  try {
544
- const { summary: checkSummary, issues } = await executeSingleCheck(check, details.name, details.content, repositoryPath, aiProvider, checkMetadata, concurrency, configDir, genericPrompt);
601
+ const { summary: checkSummary, issues } = await executeSingleCheck(check, details.name, details.content, repositoryPath, agentProvider, checkMetadata, concurrency, configDir, genericPrompt);
545
602
  allCheckSummaries.push(checkSummary);
546
603
  allIssues.push(...issues);
547
604
  }
@@ -579,7 +636,7 @@ export async function runMultiScan(options) {
579
636
  }
580
637
  finally {
581
638
  // Restore the global model after per-check override
582
- restoreModel(aiProvider, previousModel);
639
+ restoreModel(agentProvider, previousModel);
583
640
  }
584
641
  }
585
642
  const endTime = new Date();
@@ -606,8 +663,8 @@ export async function runMultiScan(options) {
606
663
  executionTime,
607
664
  startTime: startTime.toISOString(),
608
665
  endTime: endTime.toISOString(),
609
- aiProvider: aiProvider
610
- ? { name: aiProviderName ?? 'claude-code', models: modelsUsed.size > 0 ? [...modelsUsed] : [DEFAULT_AI_MODEL] }
666
+ agentProvider: agentProvider
667
+ ? { name: agentProviderName ?? DEFAULT_PROVIDER_NAME, models: modelsUsed.size > 0 ? [...modelsUsed] : [DEFAULT_MODEL] }
611
668
  : { name: 'none', models: [] },
612
669
  tokenUsage: aggregateTokenUsage,
613
670
  };
@@ -1 +1 @@
1
- {"version":3,"file":"scan-runner.js","sourceRoot":"","sources":["../src/scan-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan-runner.js","sourceRoot":"","sources":["../src/scan-runner.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Core type definitions for aghast.
3
3
  * Based on SPECIFICATION.md Appendix A.
4
4
  */
5
- export declare const DEFAULT_AI_MODEL = "haiku";
5
+ export declare const DEFAULT_MODEL = "haiku";
6
6
  export declare const MOCK_MODEL_NAME = "mock";
7
7
  export interface TokenUsage {
8
8
  inputTokens: number;
@@ -57,6 +57,8 @@ export interface CheckTargetDefinition {
57
57
  sarifFile?: string;
58
58
  maxTargets?: number;
59
59
  concurrency?: number;
60
+ /** Cap on issues returned per target; omit for unlimited. See docs/configuration.md. */
61
+ maxIssuesPerTarget?: number;
60
62
  /** Analysis mode: determines the AI's approach to each target. */
61
63
  analysisMode?: 'custom' | 'false-positive-validation' | 'general-vuln-discovery';
62
64
  openant?: OpenAntFilterConfig;
@@ -108,6 +110,13 @@ export interface CheckExecutionSummary {
108
110
  executionTime: number;
109
111
  targetsAnalyzed?: number;
110
112
  error?: string;
113
+ /**
114
+ * Raw text body of the agent provider's response, included in ERROR results
115
+ * for debugging. Field name retains "AI" (rather than "Agent") because the
116
+ * stored content is the LLM's raw text output — same rationale as
117
+ * AGHAST_MOCK_AI / AGHAST_AI_MODEL: the model and its output are AI/LLM
118
+ * concerns, the harness around them is the agent.
119
+ */
111
120
  rawAiResponse?: string;
112
121
  tokenUsage?: TokenUsage;
113
122
  }
@@ -122,7 +131,7 @@ export interface ScanResults {
122
131
  executionTime: number;
123
132
  startTime: string;
124
133
  endTime: string;
125
- aiProvider: {
134
+ agentProvider: {
126
135
  name: string;
127
136
  models: string[];
128
137
  };
@@ -145,7 +154,7 @@ export interface ScanSummary {
145
154
  totalIssues: number;
146
155
  }
147
156
  export interface RuntimeConfig {
148
- aiProvider?: {
157
+ agentProvider?: {
149
158
  name?: string;
150
159
  model?: string;
151
160
  };
@@ -204,23 +213,41 @@ export interface ProviderConfig {
204
213
  model?: string;
205
214
  [key: string]: unknown;
206
215
  }
207
- export interface AIResponse {
216
+ export interface AgentResponse {
208
217
  raw: string;
209
218
  parsed?: CheckResponse;
210
219
  tokenUsage?: TokenUsage;
211
220
  }
212
- export interface AIProvider {
221
+ /** Describes a single model exposed by a provider's `listModels()`. */
222
+ export interface ProviderModelInfo {
223
+ /** Model identifier as accepted by the provider (stored in runtime config). */
224
+ id: string;
225
+ /** Optional human-readable label shown in selection UIs. */
226
+ label?: string;
227
+ /** Optional one-line description shown in selection UIs. */
228
+ description?: string;
229
+ }
230
+ export interface AgentProvider {
213
231
  initialize(config: ProviderConfig): Promise<void>;
214
232
  executeCheck(instructions: string, repositoryPath: string, logPrefix?: string, options?: {
215
233
  maxTurns?: number;
216
- }): Promise<AIResponse>;
234
+ }): Promise<AgentResponse>;
217
235
  validateConfig(): Promise<boolean>;
236
+ /**
237
+ * Check that required prerequisites (API keys, binaries, etc.) are available.
238
+ * Called before initialize() to give early feedback. Throws with a descriptive
239
+ * error message if a prerequisite is missing.
240
+ */
241
+ checkPrerequisites?(): void;
218
242
  getModelName?(): string;
219
243
  setModel?(model: string): void;
220
244
  enableDebug?(): void;
245
+ cleanup?(): Promise<void>;
246
+ /** Closed list of models this provider accepts. Used by `aghast build-config`. */
247
+ listModels?(): Promise<readonly ProviderModelInfo[]>;
221
248
  }
222
249
  /**
223
- * Error thrown by AI providers for unrecoverable failures (e.g. 401 auth, rate limits).
250
+ * Error thrown by agent providers for unrecoverable failures (e.g. 401 auth, rate limits).
224
251
  * When caught by the scan runner, this signals that the entire scan should abort —
225
252
  * no further checks or targets should be attempted.
226
253
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -2,11 +2,11 @@
2
2
  * Core type definitions for aghast.
3
3
  * Based on SPECIFICATION.md Appendix A.
4
4
  */
5
- // --- Default AI Model ---
6
- export const DEFAULT_AI_MODEL = 'haiku';
5
+ // --- Default Model ---
6
+ export const DEFAULT_MODEL = 'haiku';
7
7
  export const MOCK_MODEL_NAME = 'mock';
8
8
  /**
9
- * Error thrown by AI providers for unrecoverable failures (e.g. 401 auth, rate limits).
9
+ * Error thrown by agent providers for unrecoverable failures (e.g. 401 auth, rate limits).
10
10
  * When caught by the scan runner, this signals that the entire scan should abort —
11
11
  * no further checks or targets should be attempted.
12
12
  */
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2BAA2B;AAE3B,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAkRtC;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAwB;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AA8StC;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bouncesecurity/aghast",
3
- "version": "0.4.4",
3
+ "version": "0.5.0",
4
4
  "description": "AI Guided Hybrid Application Static Testing",
5
5
  "type": "module",
6
6
  "repository": {
@@ -23,10 +23,12 @@
23
23
  "test:ci": "node --import tsx --test --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml tests/*.test.ts",
24
24
  "test:semgrep": "node --import tsx --test tests/semgrep-integration.itest.ts",
25
25
  "test:openant": "node --import tsx --test tests/openant-integration.itest.ts",
26
+ "test:opencode": "node --import tsx --test --test-force-exit tests/opencode-integration.itest.ts",
26
27
  "lint": "eslint src/ tests/",
27
28
  "lint:fix": "eslint --fix src/ tests/",
28
29
  "scan": "tsx src/cli.ts scan",
29
- "new-check": "tsx src/cli.ts new-check"
30
+ "new-check": "tsx src/cli.ts new-check",
31
+ "build-config": "tsx src/cli.ts build-config"
30
32
  },
31
33
  "keywords": [],
32
34
  "author": "",
@@ -47,8 +49,8 @@
47
49
  },
48
50
  "dependencies": {
49
51
  "@anthropic-ai/claude-agent-sdk": "^0.2.92",
52
+ "@opencode-ai/sdk": "^1.4.6",
50
53
  "dotenv": "^17.3.1",
51
- "hono": "^4.12.14",
52
54
  "picocolors": "^1.1.1",
53
55
  "picomatch": "^4.0.4"
54
56
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-ai-provider.d.ts","sourceRoot":"","sources":["../src/mock-ai-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzE,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;IAItC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,YAAY,CAChB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/B,OAAO,CAAC,UAAU,CAAC;IAOhB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI9B,WAAW,IAAI,IAAI;CAGpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-ai-provider.js","sourceRoot":"","sources":["../src/mock-ai-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,OAAO,cAAc;IACjB,WAAW,CAAS;IAE5B,YAAY,OAAgC;QAC1C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAuB;QACtC,QAAQ;IACV,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,aAAqB,EACrB,eAAuB,EACvB,UAAmB,EACnB,QAAgC;QAEhC,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,WAAW;YACrB,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,0BAA0B;IAC5B,CAAC;IAED,WAAW;QACT,QAAQ;IACV,CAAC;CACF"}