appsec-agent 2.1.3 → 2.1.4
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/dist/src/agent_options.d.ts.map +1 -1
- package/dist/src/agent_options.js +15 -1
- package/dist/src/agent_options.js.map +1 -1
- package/dist/src/schemas/security_report.d.ts +6 -0
- package/dist/src/schemas/security_report.d.ts.map +1 -1
- package/dist/src/schemas/security_report.js +14 -1
- package/dist/src/schemas/security_report.js.map +1 -1
- package/package.json +1 -1
|
@@ -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;
|
|
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;AAiBrC,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,MAAe;IAM7E;;;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;IAmCtF;;;;OAIG;IACH,uBAAuB,CAAC,IAAI,GAAE,MAAyB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO;IAgCxF;;;;;;;OAOG;IACH,sBAAsB,CAAC,IAAI,GAAE,MAAwB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO;IAgGpJ;;;;;;OAMG;IACH,mBAAmB,CAAC,IAAI,GAAE,MAAqB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAkCjF;;;OAGG;IACH,oBAAoB,CAAC,IAAI,GAAE,MAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAmCnF;;;OAGG;IACH,0BAA0B,CAAC,IAAI,GAAE,MAA4B,GAAG,OAAO;IA8BvE,0BAA0B,CAAC,IAAI,GAAE,MAA4B,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;CAiChG"}
|
|
@@ -12,6 +12,14 @@ const security_fix_1 = require("./schemas/security_fix");
|
|
|
12
12
|
const qa_context_1 = require("./schemas/qa_context");
|
|
13
13
|
const finding_validator_1 = require("./schemas/finding_validator");
|
|
14
14
|
const context_extraction_1 = require("./schemas/context_extraction");
|
|
15
|
+
const FIX_CODE_VS_OPTIONS_GUIDANCE = `
|
|
16
|
+
|
|
17
|
+
FIXED CODE vs FIX OPTIONS:
|
|
18
|
+
- Use "fixed_code" ONLY for executable, compilable code that directly replaces the vulnerable code_snippet.
|
|
19
|
+
Never put comments, recommendations, or "Option 1: ..." text into fixed_code.
|
|
20
|
+
- Use "fix_options" when the fix requires architectural decisions, domain-specific knowledge,
|
|
21
|
+
or when multiple valid remediation approaches exist. Each option needs an id, title, and description.
|
|
22
|
+
- Provide either fixed_code OR fix_options per finding, not both.`;
|
|
15
23
|
class AgentOptions {
|
|
16
24
|
confDict;
|
|
17
25
|
environment;
|
|
@@ -77,8 +85,11 @@ class AgentOptions {
|
|
|
77
85
|
*/
|
|
78
86
|
getCodeReviewerOptions(role = 'code_reviewer', outputFormat) {
|
|
79
87
|
const roleConfig = this.confDict[this.environment]?.[role];
|
|
80
|
-
|
|
88
|
+
let systemPrompt = roleConfig?.options?.system_prompt ||
|
|
81
89
|
'You are an Application Security (AppSec) expert assistant. You are responsible for performing a thorough code review. List out all the potential security and privacy issues found in the code.';
|
|
90
|
+
if (outputFormat?.toLowerCase() === 'json') {
|
|
91
|
+
systemPrompt += FIX_CODE_VS_OPTIONS_GUIDANCE;
|
|
92
|
+
}
|
|
82
93
|
const resolvedMaxTurns = roleConfig?.options?.max_turns ?? 30;
|
|
83
94
|
const options = {
|
|
84
95
|
agents: {
|
|
@@ -200,6 +211,9 @@ You have access to Read, Grep, and Write tools:
|
|
|
200
211
|
if (roleConfig?.options?.diff_reviewer_system_prompt) {
|
|
201
212
|
systemPrompt = roleConfig.options.diff_reviewer_system_prompt;
|
|
202
213
|
}
|
|
214
|
+
if (outputFormat?.toLowerCase() === 'json') {
|
|
215
|
+
systemPrompt += FIX_CODE_VS_OPTIONS_GUIDANCE;
|
|
216
|
+
}
|
|
203
217
|
const resolvedMaxTurns = maxTurns
|
|
204
218
|
?? roleConfig?.options?.max_turns
|
|
205
219
|
?? 10;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent_options.js","sourceRoot":"","sources":["../../src/agent_options.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH,+DAAmE;AACnE,uEAA2E;AAC3E,yDAA2D;AAC3D,qDAAyD;AACzD,mEAAoE;AACpE,qEAAyE;
|
|
1
|
+
{"version":3,"file":"agent_options.js","sourceRoot":"","sources":["../../src/agent_options.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Author: Sam Li
|
|
9
9
|
*/
|
|
10
|
+
export interface FixOption {
|
|
11
|
+
id: number;
|
|
12
|
+
title: string;
|
|
13
|
+
description: string;
|
|
14
|
+
}
|
|
10
15
|
export interface SecurityFinding {
|
|
11
16
|
id: string;
|
|
12
17
|
title: string;
|
|
@@ -22,6 +27,7 @@ export interface SecurityFinding {
|
|
|
22
27
|
impact?: string;
|
|
23
28
|
recommendation: string;
|
|
24
29
|
fixed_code?: string;
|
|
30
|
+
fix_options?: FixOption[];
|
|
25
31
|
cwe?: string;
|
|
26
32
|
owasp?: string;
|
|
27
33
|
references?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security_report.d.ts","sourceRoot":"","sources":["../../../src/schemas/security_report.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC1D,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,sBAAsB,EAAE;QACtB,QAAQ,EAAE;YACR,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;SAC7B,CAAC;QACF,iBAAiB,EAAE;YACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;QACF,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,KAAK,CAAC;YACtB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"security_report.d.ts","sourceRoot":"","sources":["../../../src/schemas/security_report.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC1D,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,sBAAsB,EAAE;QACtB,QAAQ,EAAE;YACR,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;SAC7B,CAAC;QACF,iBAAiB,EAAE;YACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;QACF,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,KAAK,CAAC;YACtB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAmH1D,CAAC"}
|
|
@@ -84,7 +84,20 @@ exports.SECURITY_REPORT_SCHEMA = {
|
|
|
84
84
|
},
|
|
85
85
|
fixed_code: {
|
|
86
86
|
type: 'string',
|
|
87
|
-
description: '
|
|
87
|
+
description: 'Executable drop-in replacement code that fixes the vulnerability. MUST be compilable/runnable code, NOT comments or recommendations. If a direct fix is not possible, leave this empty and use fix_options instead.'
|
|
88
|
+
},
|
|
89
|
+
fix_options: {
|
|
90
|
+
type: 'array',
|
|
91
|
+
description: 'When a direct code fix requires architectural decisions or domain knowledge, provide structured remediation options instead of fixed_code.',
|
|
92
|
+
items: {
|
|
93
|
+
type: 'object',
|
|
94
|
+
required: ['id', 'title', 'description'],
|
|
95
|
+
properties: {
|
|
96
|
+
id: { type: 'integer', description: 'Option number (1, 2, 3, ...)' },
|
|
97
|
+
title: { type: 'string', description: 'Short title for the remediation approach' },
|
|
98
|
+
description: { type: 'string', description: 'Detailed description of how this option resolves the vulnerability' }
|
|
99
|
+
}
|
|
100
|
+
}
|
|
88
101
|
},
|
|
89
102
|
cwe: {
|
|
90
103
|
type: 'string',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security_report.js","sourceRoot":"","sources":["../../../src/schemas/security_report.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;
|
|
1
|
+
{"version":3,"file":"security_report.js","sourceRoot":"","sources":["../../../src/schemas/security_report.ts"],"names":[],"mappings":"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"}
|