appsec-agent 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -134,6 +134,15 @@ A specialized agent for automated code analysis that can:
134
134
  - Accept deployment context via `-c/--context` for environment-specific analysis
135
135
  - **PR-focused review mode** via `-d/--diff-context` for optimized token usage
136
136
 
137
+ ### Code Fixer Agent (`code_fixer`)
138
+ A specialized agent for generating precise security fixes that can:
139
+ - Receive a security finding with full code context via `--fix-context`
140
+ - Generate minimal, targeted fixes that resolve the vulnerability
141
+ - Return structured JSON output (`FixOutput`) with fixed code, line numbers, explanation, and confidence
142
+ - Preserve original indentation and code functionality
143
+ - Support retry workflows when a previous fix fails validation
144
+ - Use `Read` and `Grep` tools for additional source context when `--src_dir` is provided
145
+
137
146
  ### Threat Modeler (`threat_modeler`)
138
147
  A specialized agent for comprehensive threat modeling that can:
139
148
  - Generate ASCII text-based Data Flow Diagrams (DFD)
@@ -255,6 +264,63 @@ $ npx agent-run -r pr_reviewer -d pr-diff.json
255
264
  $ npx agent-run -r code_reviewer -d pr-diff.json --diff-max-tokens 150000 --diff-max-batches 3
256
265
  ```
257
266
 
267
+ ### Code Fixer Example
268
+ ```bash
269
+ # Fix a vulnerability described in a fix context JSON file
270
+ $ npx agent-run -r code_fixer --fix-context fix_context.json
271
+
272
+ # With source directory for additional context
273
+ $ npx agent-run -r code_fixer --fix-context fix_context.json -s ./src
274
+
275
+ # Custom output file
276
+ $ npx agent-run -r code_fixer --fix-context fix_context.json -o my_fix.json
277
+ ```
278
+
279
+ The fix context JSON file should follow this structure:
280
+
281
+ ```json
282
+ {
283
+ "finding": {
284
+ "title": "SQL Injection",
285
+ "severity": "HIGH",
286
+ "cwe": "CWE-89",
287
+ "owasp": "A03:2021",
288
+ "file": "src/db.ts",
289
+ "line": 42,
290
+ "description": "User input directly concatenated into SQL query",
291
+ "recommendation": "Use parameterized queries",
292
+ "category": "Injection"
293
+ },
294
+ "code_context": {
295
+ "language": "typescript",
296
+ "imports": "import { db } from './database';",
297
+ "vulnerable_section": "const result = db.query(`SELECT * FROM users WHERE id = ${userId}`);",
298
+ "vulnerable_section_start": 40,
299
+ "vulnerable_section_end": 44,
300
+ "full_file_with_line_numbers": " 40| const result = db.query(...);",
301
+ "indentation_guidance": "Use 2-space indentation"
302
+ },
303
+ "security_guidance": "Use parameterized queries to prevent SQL injection.",
304
+ "learned_examples": "",
305
+ "negative_examples": "",
306
+ "custom_instructions": "",
307
+ "chain_of_thought": false
308
+ }
309
+ ```
310
+
311
+ The agent returns a structured `FixOutput`:
312
+
313
+ ```json
314
+ {
315
+ "fixed_code": "const result = db.query('SELECT * FROM users WHERE id = ?', [userId]);",
316
+ "start_line": 42,
317
+ "end_line": 42,
318
+ "explanation": "Replaced string interpolation with parameterized query to prevent SQL injection",
319
+ "confidence": "high",
320
+ "breaking_changes": false
321
+ }
322
+ ```
323
+
258
324
  ### Threat Modeler Example
259
325
  ```bash
260
326
  # Run threat modeler on current directory
@@ -357,6 +423,10 @@ appsec-agent/
357
423
  │ ├── agent_options.ts # Agent configuration management
358
424
  │ ├── main.ts # Main application logic
359
425
  │ ├── utils.ts # Utility functions
426
+ │ ├── schemas/
427
+ │ │ ├── security_report.ts # JSON schema for code review reports
428
+ │ │ ├── threat_model_report.ts # JSON schema for threat model reports
429
+ │ │ └── security_fix.ts # JSON schema for code fixer output
360
430
  │ └── __tests__/
361
431
  │ ├── concurrency.test.ts # Concurrency and thread-safety tests
362
432
  │ └── ... # Other test files
@@ -384,6 +454,7 @@ appsec-agent/
384
454
  - `getCodeReviewerOptions()`: Gets options for code reviewer
385
455
  - `getThreatModelerOptions()`: Gets options for threat modeler
386
456
  - `getDiffReviewerOptions()`: Gets options for PR diff-focused code reviewer
457
+ - `getCodeFixerOptions()`: Gets options for code fixer agent (always uses JSON schema output)
387
458
 
388
459
  #### Diff Context Functions
389
460
 
@@ -477,9 +548,10 @@ $ npm test -- concurrency.test.ts
477
548
  ### Test Results
478
549
 
479
550
  All tests pass including:
480
- - ✅ 187 total tests
551
+ - ✅ 225 total tests across 11 suites
481
552
  - ✅ 11 concurrency tests
482
553
  - ✅ 51 diff context validation tests
554
+ - ✅ 9 code fixer tests (main + agent options)
483
555
  - ✅ Full coverage of core functionality
484
556
 
485
557
  ## 📚 References
@@ -15,6 +15,9 @@ default: &default
15
15
  system_prompt: "You are an Application Security (AppSec) expert assistant. You are responsible for performing a thorough code review. List out all the potential security issues found in the code. Provide affected code snippet and security advice and guidance in the code review report."
16
16
  output_format: "markdown"
17
17
  verbose: True
18
+ diff_review_max_tokens_per_batch: 150000
19
+ diff_review_max_batches: 3
20
+ diff_review_max_files: 80
18
21
  threat_modeler:
19
22
  options:
20
23
  system_prompt: "You are an Application Security (AppSec) expert assistant. You are responsible for performing risk assessment on the source code repository for SOC2 type 2 compliance audit: 1. Start with drawing the ASCII text based Data Flow Diagrm (DFD), with output format as <codebase_data_flow_diagram_text_timestamp>; 2. then proceeding to use STRIDE methodology to perform threat modeling on the DFD, without output report in the format <codebase_threat_model_timestamp>; 3. finally, provide a seperate risk registry report including proposed remediation plan in the format <codebase_risk_registry_text_timestamp>. We're looking for 3 reports in the current working directory as the deliverable."
@@ -30,6 +33,11 @@ default: &default
30
33
  diff_review_max_batches: 3
31
34
  diff_review_max_files: 80
32
35
  # diff_review_exclude_paths: []
36
+ code_fixer:
37
+ options:
38
+ system_prompt: "You are an expert security engineer specializing in fixing vulnerabilities in code. You receive a finding with code context and must produce a precise, minimal fix that resolves the security issue while preserving the original code's functionality and indentation. Only modify the affected lines. Always use the recommended secure alternatives when applicable."
39
+ output_format: "json"
40
+ verbose: True
33
41
 
34
42
 
35
43
  development:
@@ -59,6 +59,7 @@ program
59
59
  .option('-u, --anthropic-base-url <url>', 'Anthropic API base URL (overrides ANTHROPIC_BASE_URL environment variable)')
60
60
  .option('-c, --context <context>', 'Additional context for the code review (e.g., deployment environment, architecture, compliance requirements)')
61
61
  .option('--diff-context <file>', 'JSON file with diff context for PR-focused code review (optimizes token usage)')
62
+ .option('--fix-context <file>', 'JSON file with fix context for code_fixer role (finding + code context)')
62
63
  .option('--diff-max-tokens <n>', 'Max tokens per batch for PR chunking (0 = disabled). Overrides config.')
63
64
  .option('--diff-max-batches <n>', 'Max batches per PR run (e.g. 3). Overrides config.')
64
65
  .option('--diff-max-files <n>', 'Max files to include in PR review; rest skipped. Overrides config.')
@@ -132,6 +133,7 @@ const args = {
132
133
  verbose: options.verbose,
133
134
  context: options.context,
134
135
  diff_context: options.diffContext,
136
+ fix_context: options.fixContext,
135
137
  model: options.model,
136
138
  diff_max_tokens_per_batch: options.diffMaxTokens !== undefined ? parseInt(options.diffMaxTokens, 10) : undefined,
137
139
  diff_max_batches: options.diffMaxBatches !== undefined ? parseInt(options.diffMaxBatches, 10) : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-run.js","sourceRoot":"","sources":["../../bin/agent-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-run.js","sourceRoot":"","sources":["../../bin/agent-run.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,9 @@ default: &default
15
15
  system_prompt: "You are an Application Security (AppSec) expert assistant. You are responsible for performing a thorough code review. List out all the potential security issues found in the code. Provide affected code snippet and security advice and guidance in the code review report."
16
16
  output_format: "markdown"
17
17
  verbose: True
18
+ diff_review_max_tokens_per_batch: 150000
19
+ diff_review_max_batches: 3
20
+ diff_review_max_files: 80
18
21
  threat_modeler:
19
22
  options:
20
23
  system_prompt: "You are an Application Security (AppSec) expert assistant. You are responsible for performing risk assessment on the source code repository for SOC2 type 2 compliance audit: 1. Start with drawing the ASCII text based Data Flow Diagrm (DFD), with output format as <codebase_data_flow_diagram_text_timestamp>; 2. then proceeding to use STRIDE methodology to perform threat modeling on the DFD, without output report in the format <codebase_threat_model_timestamp>; 3. finally, provide a seperate risk registry report including proposed remediation plan in the format <codebase_risk_registry_text_timestamp>. We're looking for 3 reports in the current working directory as the deliverable."
@@ -30,6 +33,11 @@ default: &default
30
33
  diff_review_max_batches: 3
31
34
  diff_review_max_files: 80
32
35
  # diff_review_exclude_paths: []
36
+ code_fixer:
37
+ options:
38
+ system_prompt: "You are an expert security engineer specializing in fixing vulnerabilities in code. You receive a finding with code context and must produce a precise, minimal fix that resolves the security issue while preserving the original code's functionality and indentation. Only modify the affected lines. Always use the recommended secure alternatives when applicable."
39
+ output_format: "json"
40
+ verbose: True
33
41
 
34
42
 
35
43
  development:
@@ -13,6 +13,7 @@ export interface AgentArgs {
13
13
  verbose?: boolean;
14
14
  context?: string;
15
15
  diff_context?: string;
16
+ fix_context?: string;
16
17
  model?: string;
17
18
  diff_max_tokens_per_batch?: number;
18
19
  diff_max_batches?: number;
@@ -37,6 +38,11 @@ export declare class AgentActions {
37
38
  * Threat modeler agent with options
38
39
  */
39
40
  threatModelerAgentWithOptions(userPrompt: string): Promise<string>;
41
+ /**
42
+ * Code fixer agent with structured JSON output.
43
+ * Returns the structured fix JSON and prints cost to stdout.
44
+ */
45
+ codeFixerWithOptions(userPrompt: string, srcDir?: string | null): Promise<string>;
40
46
  /**
41
47
  * PR diff-focused code reviewer with options
42
48
  * Optimized for reviewing only changed code from a pull request
@@ -1 +1 @@
1
- {"version":3,"file":"agent_actions.d.ts","sourceRoot":"","sources":["../../src/agent_actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAOD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,mBAAmB,CAA2B;gBAC1C,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;IAMtE;;OAEG;IACG,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAiJ/F;;OAEG;IACG,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoElE;;OAEG;IACG,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4DxE;;;;OAIG;IACG,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GACvD,OAAO,CAAC,MAAM,CAAC;CAmEnB"}
1
+ {"version":3,"file":"agent_actions.d.ts","sourceRoot":"","sources":["../../src/agent_actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAOD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,mBAAmB,CAA2B;gBAC1C,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;IAMtE;;OAEG;IACG,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAiJ/F;;OAEG;IACG,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoElE;;OAEG;IACG,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4DxE;;;OAGG;IACG,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAqDvF;;;;OAIG;IACG,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GACvD,OAAO,CAAC,MAAM,CAAC;CAmEnB"}
@@ -307,6 +307,69 @@ class AgentActions {
307
307
  console.log();
308
308
  return structuredJson;
309
309
  }
310
+ /**
311
+ * Code fixer agent with structured JSON output.
312
+ * Returns the structured fix JSON and prints cost to stdout.
313
+ */
314
+ async codeFixerWithOptions(userPrompt, srcDir) {
315
+ const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
316
+ const options = agentOptions.getCodeFixerOptions(this.args.role, srcDir);
317
+ let cursor = null;
318
+ let structuredJson = '';
319
+ try {
320
+ cursor = new blinking_cursor_1.BlinkingCursor();
321
+ cursor.start();
322
+ try {
323
+ for await (const message of (0, llm_query_1.llmQuery)({ prompt: userPrompt, options })) {
324
+ if (message.type === 'stream_event') {
325
+ if (cursor)
326
+ cursor.stop();
327
+ }
328
+ else if (message.type === 'assistant') {
329
+ if (cursor)
330
+ cursor.stop();
331
+ const assistantMsg = message;
332
+ if (this.args.verbose && assistantMsg.message.content) {
333
+ for (const block of assistantMsg.message.content) {
334
+ if (block.type === 'text') {
335
+ console.log(`Claude: ${block.text}`);
336
+ }
337
+ }
338
+ }
339
+ }
340
+ else if (message.type === 'result') {
341
+ if (cursor)
342
+ cursor.stop();
343
+ const resultMsg = message;
344
+ if (resultMsg.structured_output) {
345
+ structuredJson = JSON.stringify(resultMsg.structured_output, null, 2);
346
+ }
347
+ if (resultMsg.total_cost_usd && resultMsg.total_cost_usd > 0) {
348
+ console.log(`\nCost: $${resultMsg.total_cost_usd.toFixed(4)}`);
349
+ }
350
+ }
351
+ }
352
+ }
353
+ finally {
354
+ if (cursor)
355
+ cursor.stop();
356
+ }
357
+ }
358
+ catch (error) {
359
+ if (cursor) {
360
+ try {
361
+ cursor.stop();
362
+ }
363
+ catch {
364
+ // Ignore if cursor cleanup fails
365
+ }
366
+ }
367
+ console.error('Error during code fix generation:', error);
368
+ throw error;
369
+ }
370
+ console.log();
371
+ return structuredJson;
372
+ }
310
373
  /**
311
374
  * PR diff-focused code reviewer with options
312
375
  * Optimized for reviewing only changed code from a pull request
@@ -1 +1 @@
1
- {"version":3,"file":"agent_actions.js","sourceRoot":"","sources":["../../src/agent_actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent_actions.js","sourceRoot":"","sources":["../../src/agent_actions.ts"],"names":[],"mappings":"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"}
@@ -54,5 +54,13 @@ export declare class AgentOptions {
54
54
  * @param outputFormat - Output format (json, markdown, etc.)
55
55
  */
56
56
  getDiffReviewerOptions(role?: string, srcDir?: string | null, outputFormat?: string): Options;
57
+ /**
58
+ * Get options for code fixer agent
59
+ * Uses structured JSON output to guarantee a well-formed fix response.
60
+ * Has Read and Grep tools to explore the source directory for additional context.
61
+ * @param role - The role configuration key
62
+ * @param srcDir - Optional source directory path for additional context
63
+ */
64
+ getCodeFixerOptions(role?: string, srcDir?: string | null): Options;
57
65
  }
58
66
  //# sourceMappingURL=agent_options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent_options.d.ts","sourceRoot":"","sources":["../../src/agent_options.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAqC,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAsB;gBAE9B,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,GAAE,MAAiB;IAM/E;;;OAGG;IACH,eAAe,IAAI,YAAY,EAAE;IAIjC;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;OAEG;IACH,sBAAsB,EAAE,UAAU,CAqBjC;IAED;;OAEG;IACH,0BAA0B,CAAC,IAAI,GAAE,MAA6B,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAgBhG;;;;OAIG;IACH,sBAAsB,CAAC,IAAI,GAAE,MAAwB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO;IA4BtF;;;;OAIG;IACH,uBAAuB,CAAC,IAAI,GAAE,MAAyB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO;IA6BxF;;;;;;;OAOG;IACH,sBAAsB,CAAC,IAAI,GAAE,MAAwB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO;CAiD/G"}
1
+ {"version":3,"file":"agent_options.d.ts","sourceRoot":"","sources":["../../src/agent_options.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAqC,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAKrC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAsB;gBAE9B,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,GAAE,MAAiB;IAM/E;;;OAGG;IACH,eAAe,IAAI,YAAY,EAAE;IAIjC;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;OAEG;IACH,sBAAsB,EAAE,UAAU,CAqBjC;IAED;;OAEG;IACH,0BAA0B,CAAC,IAAI,GAAE,MAA6B,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAgBhG;;;;OAIG;IACH,sBAAsB,CAAC,IAAI,GAAE,MAAwB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO;IA4BtF;;;;OAIG;IACH,uBAAuB,CAAC,IAAI,GAAE,MAAyB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO;IA6BxF;;;;;;;OAOG;IACH,sBAAsB,CAAC,IAAI,GAAE,MAAwB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO;IAkD9G;;;;;;OAMG;IACH,mBAAmB,CAAC,IAAI,GAAE,MAAqB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;CA8BlF"}
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.AgentOptions = void 0;
9
9
  const security_report_1 = require("./schemas/security_report");
10
10
  const threat_model_report_1 = require("./schemas/threat_model_report");
11
+ const security_fix_1 = require("./schemas/security_fix");
11
12
  class AgentOptions {
12
13
  confDict;
13
14
  environment;
@@ -175,6 +176,40 @@ You have access to Read and Write tools if you need to:
175
176
  }
176
177
  return options;
177
178
  }
179
+ /**
180
+ * Get options for code fixer agent
181
+ * Uses structured JSON output to guarantee a well-formed fix response.
182
+ * Has Read and Grep tools to explore the source directory for additional context.
183
+ * @param role - The role configuration key
184
+ * @param srcDir - Optional source directory path for additional context
185
+ */
186
+ getCodeFixerOptions(role = 'code_fixer', srcDir) {
187
+ const roleConfig = this.confDict[this.environment]?.[role];
188
+ let systemPrompt = roleConfig?.options?.system_prompt ||
189
+ 'You are an expert security engineer specializing in fixing vulnerabilities in code. ' +
190
+ 'You receive a finding with code context and must produce a precise, minimal fix that resolves ' +
191
+ 'the security issue while preserving the original code\'s functionality and indentation. ' +
192
+ 'Only modify the affected lines. Always use the recommended secure alternatives when applicable.';
193
+ if (srcDir) {
194
+ systemPrompt += `\n\nSource directory available at: ${srcDir}. You may read files for additional context if needed.`;
195
+ }
196
+ const options = {
197
+ agents: {
198
+ 'code-fixer': {
199
+ description: 'Generates precise security fixes for code vulnerabilities',
200
+ prompt: systemPrompt,
201
+ tools: ['Read', 'Grep'],
202
+ model: this.model
203
+ }
204
+ },
205
+ permissionMode: 'bypassPermissions',
206
+ outputFormat: {
207
+ type: 'json_schema',
208
+ schema: security_fix_1.FIX_OUTPUT_SCHEMA
209
+ }
210
+ };
211
+ return options;
212
+ }
178
213
  }
179
214
  exports.AgentOptions = AgentOptions;
180
215
  //# sourceMappingURL=agent_options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent_options.js","sourceRoot":"","sources":["../../src/agent_options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent_options.js","sourceRoot":"","sources":["../../src/agent_options.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,5 @@ export { AgentOptions, ToolUsageLog } from './agent_options';
8
8
  export { main } from './main';
9
9
  export * from './utils';
10
10
  export { DFDNode, DFDDataFlow, DFDTrustBoundary, Threat, Risk, ThreatModelReport, THREAT_MODEL_REPORT_SCHEMA, } from './schemas/threat_model_report';
11
+ export { FixContext, FixContextFinding, FixContextCodeContext, FixOutput, FIX_OUTPUT_SCHEMA, } from './schemas/security_fix';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,IAAI,EACJ,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,IAAI,EACJ,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,SAAS,EACT,iBAAiB,GAClB,MAAM,wBAAwB,CAAC"}
package/dist/src/index.js CHANGED
@@ -19,7 +19,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
19
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.THREAT_MODEL_REPORT_SCHEMA = exports.main = exports.AgentOptions = exports.AgentActions = void 0;
22
+ exports.FIX_OUTPUT_SCHEMA = exports.THREAT_MODEL_REPORT_SCHEMA = exports.main = exports.AgentOptions = exports.AgentActions = void 0;
23
23
  var agent_actions_1 = require("./agent_actions");
24
24
  Object.defineProperty(exports, "AgentActions", { enumerable: true, get: function () { return agent_actions_1.AgentActions; } });
25
25
  var agent_options_1 = require("./agent_options");
@@ -29,4 +29,6 @@ Object.defineProperty(exports, "main", { enumerable: true, get: function () { re
29
29
  __exportStar(require("./utils"), exports);
30
30
  var threat_model_report_1 = require("./schemas/threat_model_report");
31
31
  Object.defineProperty(exports, "THREAT_MODEL_REPORT_SCHEMA", { enumerable: true, get: function () { return threat_model_report_1.THREAT_MODEL_REPORT_SCHEMA; } });
32
+ var security_fix_1 = require("./schemas/security_fix");
33
+ Object.defineProperty(exports, "FIX_OUTPUT_SCHEMA", { enumerable: true, get: function () { return security_fix_1.FIX_OUTPUT_SCHEMA; } });
32
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,iDAA0D;AAAjD,6GAAA,YAAY,OAAA;AACrB,iDAA6D;AAApD,6GAAA,YAAY,OAAA;AACrB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,0CAAwB;AACxB,qEAQuC;AADrC,iIAAA,0BAA0B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,iDAA0D;AAAjD,6GAAA,YAAY,OAAA;AACrB,iDAA6D;AAApD,6GAAA,YAAY,OAAA;AACrB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,0CAAwB;AACxB,qEAQuC;AADrC,iIAAA,0BAA0B,OAAA;AAE5B,uDAMgC;AAD9B,iHAAA,iBAAiB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAgB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAwK1D,wBAAsB,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAwNxE"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAgB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAqT1D,wBAAsB,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAmPxE"}
package/dist/src/main.js CHANGED
@@ -126,6 +126,131 @@ function loadDiffContext(diffContextPath, cwd) {
126
126
  }
127
127
  return data;
128
128
  }
129
+ /**
130
+ * Load and validate fix context from JSON file
131
+ */
132
+ function loadFixContext(fixContextPath, cwd) {
133
+ const resolvedPath = (0, utils_1.validateInputFilePath)(fixContextPath, cwd);
134
+ if (!resolvedPath) {
135
+ const safePath = (0, utils_1.sanitizePathForError)(fixContextPath);
136
+ console.error(`Error: Invalid fix context file path: ${safePath}`);
137
+ console.error('The path must be valid and relative paths cannot contain directory traversal sequences.');
138
+ process.exit(1);
139
+ }
140
+ const safePath = (0, utils_1.sanitizePathForError)(resolvedPath);
141
+ if (!fs.existsSync(resolvedPath)) {
142
+ console.error(`Error: Fix context file not found: ${safePath}`);
143
+ process.exit(1);
144
+ }
145
+ try {
146
+ const content = fs.readFileSync(resolvedPath, 'utf-8');
147
+ const data = JSON.parse(content);
148
+ if (!data.finding || !data.code_context) {
149
+ console.error(`Error: Fix context missing required fields (finding, code_context) in: ${safePath}`);
150
+ process.exit(1);
151
+ }
152
+ return data;
153
+ }
154
+ catch (error) {
155
+ const errorMessage = error?.message || 'Unknown error';
156
+ console.error(`Error: Failed to read fix context file ${safePath}: ${errorMessage}`);
157
+ process.exit(1);
158
+ }
159
+ }
160
+ /**
161
+ * Build user prompt for the code_fixer role from FixContext
162
+ */
163
+ function buildCodeFixerPrompt(ctx) {
164
+ const { finding, code_context } = ctx;
165
+ let prompt = `Fix the following security vulnerability. Return your fix as structured JSON (follow the required schema). Do not write any files.
166
+
167
+ ## Finding
168
+ - **Severity**: ${finding.severity}
169
+ - **Type**: ${finding.title}
170
+ - **CWE**: ${finding.cwe}
171
+ - **OWASP**: ${finding.owasp}
172
+ - **File**: ${finding.file}
173
+ - **Line**: ${finding.line}
174
+
175
+ ## Description
176
+ ${finding.description}
177
+
178
+ ## Recommendation
179
+ ${finding.recommendation}
180
+ `;
181
+ if (ctx.security_guidance) {
182
+ prompt += `\n${ctx.security_guidance}\n`;
183
+ }
184
+ if (ctx.chain_of_thought) {
185
+ prompt += `\n## Chain of Thought
186
+ Think step-by-step about the vulnerability and the fix before producing the output.\n`;
187
+ }
188
+ prompt += `
189
+ ## Code Context
190
+
191
+ ### File Imports
192
+ \`\`\`${code_context.language}
193
+ ${code_context.imports}
194
+ \`\`\`
195
+
196
+ ### Vulnerable Code Section (Lines ${code_context.vulnerable_section_start}-${code_context.vulnerable_section_end})
197
+ \`\`\`${code_context.language}
198
+ ${code_context.vulnerable_section}
199
+ \`\`\`
200
+
201
+ ### Full File Context
202
+ \`\`\`${code_context.language}
203
+ ${code_context.full_file_with_line_numbers}
204
+ \`\`\`
205
+ `;
206
+ if (ctx.learned_examples) {
207
+ prompt += `\n${ctx.learned_examples}\n`;
208
+ }
209
+ if (ctx.negative_examples) {
210
+ prompt += `\n${ctx.negative_examples}\n`;
211
+ }
212
+ if (ctx.custom_instructions) {
213
+ prompt += `\n${ctx.custom_instructions}\n`;
214
+ }
215
+ prompt += `
216
+ ## Indentation Requirements
217
+ ${code_context.indentation_guidance}
218
+
219
+ ## Instructions
220
+ 1. If a "Recommendation" section is provided above, follow those specific recommendations
221
+ 2. Follow the security guidance above for this specific vulnerability type
222
+ 3. Generate a fix that fully addresses the security issue - partial fixes are NOT acceptable
223
+ 4. Use the recommended secure alternatives when applicable
224
+ 5. Preserve the original code's functionality where possible, but security takes precedence
225
+ 6. Only modify the affected lines - return ONLY the fixed portion, not the entire file
226
+ 7. CRITICAL - PRESERVE INDENTATION: Your fixed_code MUST start with the exact same whitespace as shown above
227
+
228
+ ## CRITICAL - LINE NUMBER RULES
229
+ 1. The "Vulnerable Code Section" header above says "Lines ${code_context.vulnerable_section_start}-${code_context.vulnerable_section_end}"
230
+ 2. Your start_line MUST be >= ${code_context.vulnerable_section_start}
231
+ 3. Your end_line MUST be <= ${code_context.vulnerable_section_end}
232
+ 4. The finding is reported at line ${finding.line} - your fix MUST include or be adjacent to this line
233
+ 5. NEVER return start_line: 1 unless the vulnerability is literally at line 1 of the file
234
+ 6. Your fixed_code should contain ONLY the code for lines start_line through end_line`;
235
+ if (ctx.previous_fix_code && ctx.validation_errors?.length) {
236
+ prompt += `
237
+
238
+ ## RETRY: Previous Fix Failed Validation
239
+
240
+ Your previous fix attempt had validation errors. Please correct the fix.
241
+
242
+ ### Previous Attempt
243
+ \`\`\`${code_context.language}
244
+ ${ctx.previous_fix_code}
245
+ \`\`\`
246
+
247
+ ### Validation Errors
248
+ ${ctx.validation_errors.map((e, i) => `${i + 1}. ${e}`).join('\n')}
249
+
250
+ Fix the code to resolve these validation errors while still addressing the original security issue.`;
251
+ }
252
+ return prompt;
253
+ }
129
254
  /** Defaults for PR chunking when not set (0 = no chunking). */
130
255
  const DEFAULT_MAX_TOKENS_PER_BATCH = 0;
131
256
  const DEFAULT_MAX_BATCHES = 3;
@@ -372,6 +497,25 @@ Use sequential IDs: node-001/flow-001/tb-001 for DFD elements, THREAT-001 for th
372
497
  }
373
498
  cleanupTmpDir(tmpSrcDir);
374
499
  }
500
+ else if (args.role === 'code_fixer') {
501
+ console.log('Running Code Fixer Agent');
502
+ if (!args.fix_context) {
503
+ console.error('Error: --fix-context is required for the code_fixer role.');
504
+ process.exit(1);
505
+ }
506
+ const fixContext = loadFixContext(args.fix_context, currentWorkingDir);
507
+ const outputFile = validateOutputFile(args.output_file || 'fix_output.json', currentWorkingDir);
508
+ const tmpSrcDir = args.src_dir
509
+ ? validateAndCopySrcDir(args.src_dir, currentWorkingDir)
510
+ : null;
511
+ const userPrompt = buildCodeFixerPrompt(fixContext);
512
+ const structuredResult = await agentActions.codeFixerWithOptions(userPrompt, tmpSrcDir);
513
+ if (structuredResult) {
514
+ fs.writeFileSync(outputFile, structuredResult, 'utf-8');
515
+ console.log(`Fix written to ${outputFile}`);
516
+ }
517
+ cleanupTmpDir(tmpSrcDir);
518
+ }
375
519
  else {
376
520
  console.error(`Error: Invalid appsec AI agent role: ${args.role} - refer to 'appsec_agent.yaml' for available roles`);
377
521
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * JSON Schema and TypeScript interfaces for Security Fix Output
3
+ *
4
+ * Defines the structured output schema for the code_fixer agent role.
5
+ * The agent receives a FixContext (enriched finding data from sast-ai-app)
6
+ * and returns a FixOutput (structured fix via Claude SDK outputFormat).
7
+ *
8
+ * Author: Sam Li
9
+ */
10
+ export interface FixContextFinding {
11
+ title: string;
12
+ severity: string;
13
+ cwe: string;
14
+ owasp: string;
15
+ file: string;
16
+ line: number;
17
+ description: string;
18
+ recommendation: string;
19
+ category: string;
20
+ }
21
+ export interface FixContextCodeContext {
22
+ language: string;
23
+ imports: string;
24
+ vulnerable_section: string;
25
+ vulnerable_section_start: number;
26
+ vulnerable_section_end: number;
27
+ full_file_with_line_numbers: string;
28
+ indentation_guidance: string;
29
+ }
30
+ export interface FixContext {
31
+ finding: FixContextFinding;
32
+ code_context: FixContextCodeContext;
33
+ security_guidance: string;
34
+ learned_examples: string;
35
+ negative_examples: string;
36
+ custom_instructions: string;
37
+ chain_of_thought: boolean;
38
+ /** Retry-specific: previous fix code that failed validation */
39
+ previous_fix_code?: string;
40
+ /** Retry-specific: validation errors from the previous attempt */
41
+ validation_errors?: string[];
42
+ }
43
+ export interface FixOutput {
44
+ fixed_code: string;
45
+ start_line: number;
46
+ end_line: number;
47
+ explanation: string;
48
+ confidence: 'high' | 'medium' | 'low';
49
+ breaking_changes: boolean;
50
+ }
51
+ /**
52
+ * JSON Schema for Claude Agent SDK's outputFormat option.
53
+ * Enforces the FixOutput structure when generating JSON fixes.
54
+ */
55
+ export declare const FIX_OUTPUT_SCHEMA: Record<string, unknown>;
56
+ //# sourceMappingURL=security_fix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security_fix.d.ts","sourceRoot":"","sources":["../../../src/schemas/security_fix.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB,EAAE,MAAM,CAAC;IACjC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,2BAA2B,EAAE,MAAM,CAAC;IACpC,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,YAAY,EAAE,qBAAqB,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAMD,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAkCrD,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ /**
3
+ * JSON Schema and TypeScript interfaces for Security Fix Output
4
+ *
5
+ * Defines the structured output schema for the code_fixer agent role.
6
+ * The agent receives a FixContext (enriched finding data from sast-ai-app)
7
+ * and returns a FixOutput (structured fix via Claude SDK outputFormat).
8
+ *
9
+ * Author: Sam Li
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FIX_OUTPUT_SCHEMA = void 0;
13
+ /**
14
+ * JSON Schema for Claude Agent SDK's outputFormat option.
15
+ * Enforces the FixOutput structure when generating JSON fixes.
16
+ */
17
+ exports.FIX_OUTPUT_SCHEMA = {
18
+ type: 'object',
19
+ required: ['fixed_code', 'start_line', 'end_line', 'explanation', 'confidence', 'breaking_changes'],
20
+ properties: {
21
+ fixed_code: {
22
+ type: 'string',
23
+ description: 'The complete fixed code for ONLY the affected section (lines start_line to end_line). ' +
24
+ 'CRITICAL: Preserve the exact indentation of the original code.',
25
+ },
26
+ start_line: {
27
+ type: 'number',
28
+ description: 'Line number where the fix starts. MUST be within the vulnerable code section line range.',
29
+ },
30
+ end_line: {
31
+ type: 'number',
32
+ description: 'Line number where the fix ends. Together with start_line, defines the exact lines being replaced.',
33
+ },
34
+ explanation: {
35
+ type: 'string',
36
+ description: 'Brief explanation of the fix (1-2 sentences).',
37
+ },
38
+ confidence: {
39
+ type: 'string',
40
+ enum: ['high', 'medium', 'low'],
41
+ description: 'Confidence level in the fix correctness.',
42
+ },
43
+ breaking_changes: {
44
+ type: 'boolean',
45
+ description: 'Whether this fix introduces breaking changes to the API.',
46
+ },
47
+ },
48
+ };
49
+ //# sourceMappingURL=security_fix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security_fix.js","sourceRoot":"","sources":["../../../src/schemas/security_fix.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAuDH;;;GAGG;AACU,QAAA,iBAAiB,GAA4B;IACxD,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,CAAC;IACnG,UAAU,EAAE;QACV,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,wFAAwF;gBACxF,gEAAgE;SACnE;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,0FAA0F;SAC7F;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,mGAAmG;SACtG;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+CAA+C;SAC7D;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;YAC/B,WAAW,EAAE,0CAA0C;SACxD;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0DAA0D;SACxE;KACF;CACF,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "appsec-agent",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "TypeScript package for AppSec AI Agent management",
5
5
  "author": "Sam Li",
6
- "date": "Feb 28 2026",
6
+ "date": "Mar 2 2026",
7
7
  "license": "MIT",
8
8
  "main": "dist/src/index.js",
9
9
  "types": "dist/src/index.d.ts",