@oculum/scanner 1.0.3 → 1.0.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/layer3/anthropic.d.ts.map +1 -1
- package/dist/layer3/anthropic.js +125 -29
- package/dist/layer3/anthropic.js.map +1 -1
- package/package.json +1 -1
- package/src/layer3/anthropic.ts +135 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/layer3/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAgD,QAAQ,EAAoB,MAAM,UAAU,CAAA;AASvH,OAAO,EAAiD,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAQrH,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAA;IACrB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAA;IACzB,2CAA2C;IAC3C,iBAAiB,EAAE,MAAM,CAAA;IACzB,4CAA4C;IAC5C,iBAAiB,EAAE,MAAM,CAAA;IACzB,2CAA2C;IAC3C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,2DAA2D;IAC3D,qBAAqB,EAAE,MAAM,CAAA;IAC7B,kCAAkC;IAClC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mCAAmC;IACnC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAA;IACrB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAA;IACvB,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,KAAK,EAAE,eAAe,CAAA;CACvB;AA0LD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG;IAChE,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,SAAS,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC3E,CAyBA;AAyID,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,gBAAgB,CAAC,EAAE;QACjB,iBAAiB,EAAE,OAAO,CAAA;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,cAAc,EAAE,MAAM,EAAE,CAAA;KACzB,CAAA;IACD,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACZ,kBAAkB,EAAE,OAAO,CAAA;QAC3B,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAoCD,wBAAsB,aAAa,CACjC,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,EAAE,CAAC,CA+D1B;AAiED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,CAAC,EAAE,aAAa,EACvB,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC,aAAa,EAAE,CAAC,CAqB1B;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/layer3/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAgD,QAAQ,EAAoB,MAAM,UAAU,CAAA;AASvH,OAAO,EAAiD,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAQrH,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAA;IACrB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAA;IACzB,2CAA2C;IAC3C,iBAAiB,EAAE,MAAM,CAAA;IACzB,4CAA4C;IAC5C,iBAAiB,EAAE,MAAM,CAAA;IACzB,2CAA2C;IAC3C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,2DAA2D;IAC3D,qBAAqB,EAAE,MAAM,CAAA;IAC7B,kCAAkC;IAClC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mCAAmC;IACnC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAA;IACrB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAA;IACvB,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,KAAK,EAAE,eAAe,CAAA;CACvB;AA0LD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG;IAChE,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,SAAS,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC3E,CAyBA;AAyID,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,gBAAgB,CAAC,EAAE;QACjB,iBAAiB,EAAE,OAAO,CAAA;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,cAAc,EAAE,MAAM,EAAE,CAAA;KACzB,CAAA;IACD,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACZ,kBAAkB,EAAE,OAAO,CAAA;QAC3B,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAoCD,wBAAsB,aAAa,CACjC,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,EAAE,CAAC,CA+D1B;AAiED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,CAAC,EAAE,aAAa,EACvB,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC,aAAa,EAAE,CAAC,CAqB1B;AAqyBD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,aAAa,EAAE,EACzB,KAAK,EAAE,QAAQ,EAAE,EACjB,cAAc,CAAC,EAAE,cAAc,EAC/B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,GAC9F,OAAO,CAAC,kBAAkB,CAAC,CA4U7B"}
|
package/dist/layer3/anthropic.js
CHANGED
|
@@ -816,19 +816,23 @@ AI-generated structured outputs need validation before use in security-sensitive
|
|
|
816
816
|
- Generic success messages
|
|
817
817
|
- Placeholder comments in non-security code
|
|
818
818
|
|
|
819
|
-
## Response Format
|
|
819
|
+
## Response Format (OPTIMIZED FOR MINIMAL OUTPUT)
|
|
820
820
|
|
|
821
821
|
For each candidate finding, return:
|
|
822
822
|
\`\`\`json
|
|
823
823
|
{
|
|
824
824
|
"index": <number>,
|
|
825
825
|
"keep": true | false,
|
|
826
|
-
"
|
|
827
|
-
"
|
|
828
|
-
"validationNotes": "<optional: additional context for the developer>"
|
|
826
|
+
"adjustedSeverity": "critical" | "high" | "medium" | "low" | "info" | null, // Only if keep=true
|
|
827
|
+
"notes": "<concise context for developer>" // Only if keep=true, 1-2 sentences max
|
|
829
828
|
}
|
|
830
829
|
\`\`\`
|
|
831
830
|
|
|
831
|
+
**CRITICAL**: To minimize costs:
|
|
832
|
+
- For \`keep: false\` (rejected): ONLY include \`index\` and \`keep\` fields. NO explanation needed.
|
|
833
|
+
- For \`keep: true\` (accepted): Include \`notes\` field with brief context (10-30 words). Be concise.
|
|
834
|
+
- Omit \`adjustedSeverity\` if keeping original severity (null is wasteful).
|
|
835
|
+
|
|
832
836
|
## Severity Guidelines
|
|
833
837
|
- **critical/high**: Realistically exploitable, should block deploys - ONLY for clear vulnerabilities
|
|
834
838
|
- **medium/low**: Important but non-blocking, hardening opportunities - use sparingly
|
|
@@ -851,7 +855,35 @@ For each candidate finding, return:
|
|
|
851
855
|
- No visible mitigating factors in context
|
|
852
856
|
- Real-world attack scenario is plausible
|
|
853
857
|
|
|
854
|
-
**REMEMBER**: You are the last line of defense against noise. A finding that reaches the user should be CLEARLY worth their time. When in doubt, REJECT
|
|
858
|
+
**REMEMBER**: You are the last line of defense against noise. A finding that reaches the user should be CLEARLY worth their time. When in doubt, REJECT.
|
|
859
|
+
|
|
860
|
+
## Response Format
|
|
861
|
+
|
|
862
|
+
For EACH file, provide a JSON object with the file path and validation results.
|
|
863
|
+
Return a JSON array where each element has:
|
|
864
|
+
- "file": the file path (e.g., "src/routes/api.ts")
|
|
865
|
+
- "validations": array of validation results for that file's candidates
|
|
866
|
+
|
|
867
|
+
Example response format (OPTIMIZED):
|
|
868
|
+
\`\`\`json
|
|
869
|
+
[
|
|
870
|
+
{
|
|
871
|
+
"file": "src/auth.ts",
|
|
872
|
+
"validations": [
|
|
873
|
+
{ "index": 0, "keep": true, "adjustedSeverity": "medium", "notes": "Protected by middleware" },
|
|
874
|
+
{ "index": 1, "keep": false }
|
|
875
|
+
]
|
|
876
|
+
},
|
|
877
|
+
{
|
|
878
|
+
"file": "src/api.ts",
|
|
879
|
+
"validations": [
|
|
880
|
+
{ "index": 0, "keep": true, "notes": "User input flows to SQL query" }
|
|
881
|
+
]
|
|
882
|
+
}
|
|
883
|
+
]
|
|
884
|
+
\`\`\`
|
|
885
|
+
|
|
886
|
+
**REMEMBER**: Rejected findings (keep: false) need NO explanation. Keep notes brief (10-30 words).`;
|
|
855
887
|
// Cache for project context (built once per scan)
|
|
856
888
|
let cachedProjectContext = null;
|
|
857
889
|
/**
|
|
@@ -997,7 +1029,44 @@ async function validateWithOpenAI(findings, files, projectContext, stats) {
|
|
|
997
1029
|
{ role: 'system', content: HIGH_CONTEXT_VALIDATION_PROMPT },
|
|
998
1030
|
{ role: 'user', content: validationRequest },
|
|
999
1031
|
],
|
|
1000
|
-
max_completion_tokens: 4096
|
|
1032
|
+
max_completion_tokens: 1500, // Reduced from 4096 - optimized format needs less output
|
|
1033
|
+
response_format: {
|
|
1034
|
+
type: 'json_schema',
|
|
1035
|
+
json_schema: {
|
|
1036
|
+
name: 'validation_response',
|
|
1037
|
+
strict: true,
|
|
1038
|
+
schema: {
|
|
1039
|
+
type: 'object',
|
|
1040
|
+
properties: {
|
|
1041
|
+
validations: {
|
|
1042
|
+
type: 'array',
|
|
1043
|
+
items: {
|
|
1044
|
+
type: 'object',
|
|
1045
|
+
properties: {
|
|
1046
|
+
file: { type: 'string' },
|
|
1047
|
+
validations: {
|
|
1048
|
+
type: 'array',
|
|
1049
|
+
items: {
|
|
1050
|
+
type: 'object',
|
|
1051
|
+
properties: {
|
|
1052
|
+
index: { type: 'number' },
|
|
1053
|
+
keep: { type: 'boolean' }
|
|
1054
|
+
},
|
|
1055
|
+
required: ['index', 'keep'],
|
|
1056
|
+
additionalProperties: true
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
},
|
|
1060
|
+
required: ['file', 'validations'],
|
|
1061
|
+
additionalProperties: false
|
|
1062
|
+
}
|
|
1063
|
+
}
|
|
1064
|
+
},
|
|
1065
|
+
required: ['validations'],
|
|
1066
|
+
additionalProperties: false
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
}
|
|
1001
1070
|
}));
|
|
1002
1071
|
// Track API call stats (accumulate to shared stats)
|
|
1003
1072
|
statsLock.apiCalls++;
|
|
@@ -1032,9 +1101,22 @@ async function validateWithOpenAI(findings, files, projectContext, stats) {
|
|
|
1032
1101
|
}
|
|
1033
1102
|
return batchFindings;
|
|
1034
1103
|
}
|
|
1104
|
+
// Parse structured JSON response (with validations wrapper from response_format)
|
|
1105
|
+
let parsedContent;
|
|
1106
|
+
try {
|
|
1107
|
+
parsedContent = JSON.parse(content);
|
|
1108
|
+
// Unwrap the validations array if present (from structured output)
|
|
1109
|
+
if (parsedContent.validations && Array.isArray(parsedContent.validations)) {
|
|
1110
|
+
parsedContent = parsedContent.validations;
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
catch (e) {
|
|
1114
|
+
console.warn('[OpenAI] Failed to parse JSON response:', e);
|
|
1115
|
+
parsedContent = content;
|
|
1116
|
+
}
|
|
1035
1117
|
// Parse multi-file response
|
|
1036
1118
|
const expectedFiles = fileDataList.map(({ filePath }) => filePath);
|
|
1037
|
-
const validationResultsMap = parseMultiFileValidationResponse(
|
|
1119
|
+
const validationResultsMap = parseMultiFileValidationResponse(typeof parsedContent === 'string' ? parsedContent : JSON.stringify(parsedContent), expectedFiles);
|
|
1038
1120
|
// Apply results per file
|
|
1039
1121
|
for (const { filePath, findings: fileFindings } of fileDataList) {
|
|
1040
1122
|
const fileResults = validationResultsMap.get(filePath);
|
|
@@ -1265,7 +1347,7 @@ async function validateFindingsWithAI(findings, files, projectContext, onProgres
|
|
|
1265
1347
|
// Use Anthropic prompt caching with multi-file request
|
|
1266
1348
|
const response = await makeAnthropicRequestWithRetry(() => client.messages.create({
|
|
1267
1349
|
model: 'claude-3-5-haiku-20241022',
|
|
1268
|
-
max_tokens:
|
|
1350
|
+
max_tokens: 1500, // Reduced from 4096 - optimized format needs less output
|
|
1269
1351
|
system: [
|
|
1270
1352
|
{
|
|
1271
1353
|
type: 'text',
|
|
@@ -1548,14 +1630,14 @@ Example response format:
|
|
|
1548
1630
|
{
|
|
1549
1631
|
"file": "src/auth.ts",
|
|
1550
1632
|
"validations": [
|
|
1551
|
-
{ "index": 0, "keep": true, "
|
|
1552
|
-
{ "index": 1, "keep": false
|
|
1633
|
+
{ "index": 0, "keep": true, "adjustedSeverity": "medium", "notes": "Protected by middleware" },
|
|
1634
|
+
{ "index": 1, "keep": false }
|
|
1553
1635
|
]
|
|
1554
1636
|
},
|
|
1555
1637
|
{
|
|
1556
1638
|
"file": "src/api.ts",
|
|
1557
1639
|
"validations": [
|
|
1558
|
-
{ "index": 0, "keep": true, "
|
|
1640
|
+
{ "index": 0, "keep": true, "notes": "User input flows to SQL query" }
|
|
1559
1641
|
]
|
|
1560
1642
|
}
|
|
1561
1643
|
]
|
|
@@ -1633,13 +1715,19 @@ function parseMultiFileValidationResponse(response, expectedFiles) {
|
|
|
1633
1715
|
const validations = fileResult.validations
|
|
1634
1716
|
.filter((item) => typeof item.index === 'number' &&
|
|
1635
1717
|
typeof item.keep === 'boolean')
|
|
1636
|
-
.map((item) =>
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1718
|
+
.map((item) => {
|
|
1719
|
+
// Normalize notes field: prefer new 'notes', fallback to legacy 'reason' or 'validationNotes'
|
|
1720
|
+
const notes = item.notes || item.validationNotes || item.reason || undefined;
|
|
1721
|
+
return {
|
|
1722
|
+
index: item.index,
|
|
1723
|
+
keep: item.keep,
|
|
1724
|
+
notes,
|
|
1725
|
+
adjustedSeverity: item.adjustedSeverity || null,
|
|
1726
|
+
// Keep legacy fields for backward compatibility
|
|
1727
|
+
reason: item.reason,
|
|
1728
|
+
validationNotes: item.validationNotes,
|
|
1729
|
+
};
|
|
1730
|
+
});
|
|
1643
1731
|
resultMap.set(filePath, validations);
|
|
1644
1732
|
}
|
|
1645
1733
|
// Log any files that weren't in the response
|
|
@@ -1679,23 +1767,25 @@ function applyValidationResults(findings, validationResults) {
|
|
|
1679
1767
|
validatedByAI: true,
|
|
1680
1768
|
confidence: 'high',
|
|
1681
1769
|
};
|
|
1770
|
+
// Extract notes from optimized or legacy format
|
|
1771
|
+
const validationNotes = validation.notes || validation.validationNotes || validation.reason || undefined;
|
|
1682
1772
|
if (validation.adjustedSeverity && validation.adjustedSeverity !== finding.severity) {
|
|
1683
1773
|
// Severity was adjusted
|
|
1684
1774
|
adjustedFinding.originalSeverity = finding.severity;
|
|
1685
1775
|
adjustedFinding.severity = validation.adjustedSeverity;
|
|
1686
1776
|
adjustedFinding.validationStatus = 'downgraded';
|
|
1687
|
-
adjustedFinding.validationNotes =
|
|
1777
|
+
adjustedFinding.validationNotes = validationNotes || 'Severity adjusted by AI validation';
|
|
1688
1778
|
}
|
|
1689
1779
|
else {
|
|
1690
1780
|
// Confirmed at original severity
|
|
1691
1781
|
adjustedFinding.validationStatus = 'confirmed';
|
|
1692
|
-
adjustedFinding.validationNotes =
|
|
1782
|
+
adjustedFinding.validationNotes = validationNotes;
|
|
1693
1783
|
}
|
|
1694
1784
|
processed.push(adjustedFinding);
|
|
1695
1785
|
}
|
|
1696
1786
|
else {
|
|
1697
|
-
// Finding was dismissed
|
|
1698
|
-
console.log(`[AI Validation] Rejected: ${finding.title} at ${finding.filePath}:${finding.lineNumber}
|
|
1787
|
+
// Finding was dismissed - no need to log verbose reason (cost optimization)
|
|
1788
|
+
console.log(`[AI Validation] Rejected: ${finding.title} at ${finding.filePath}:${finding.lineNumber}`);
|
|
1699
1789
|
// Don't add to processed - finding is removed
|
|
1700
1790
|
}
|
|
1701
1791
|
}
|
|
@@ -1779,13 +1869,19 @@ function parseValidationResponse(response) {
|
|
|
1779
1869
|
return parsed
|
|
1780
1870
|
.filter(item => typeof item.index === 'number' &&
|
|
1781
1871
|
typeof item.keep === 'boolean')
|
|
1782
|
-
.map(item =>
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1872
|
+
.map(item => {
|
|
1873
|
+
// Normalize notes field: prefer new 'notes', fallback to legacy 'reason' or 'validationNotes'
|
|
1874
|
+
const notes = item.notes || item.validationNotes || item.reason || undefined;
|
|
1875
|
+
return {
|
|
1876
|
+
index: item.index,
|
|
1877
|
+
keep: item.keep,
|
|
1878
|
+
notes,
|
|
1879
|
+
adjustedSeverity: item.adjustedSeverity || null,
|
|
1880
|
+
// Keep legacy fields for backward compatibility
|
|
1881
|
+
reason: item.reason,
|
|
1882
|
+
validationNotes: item.validationNotes,
|
|
1883
|
+
};
|
|
1884
|
+
});
|
|
1789
1885
|
}
|
|
1790
1886
|
catch (error) {
|
|
1791
1887
|
console.error('Failed to parse validation response:', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/layer3/anthropic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/layer3/anthropic.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/layer3/anthropic.ts
CHANGED
|
@@ -942,19 +942,23 @@ AI-generated structured outputs need validation before use in security-sensitive
|
|
|
942
942
|
- Generic success messages
|
|
943
943
|
- Placeholder comments in non-security code
|
|
944
944
|
|
|
945
|
-
## Response Format
|
|
945
|
+
## Response Format (OPTIMIZED FOR MINIMAL OUTPUT)
|
|
946
946
|
|
|
947
947
|
For each candidate finding, return:
|
|
948
948
|
\`\`\`json
|
|
949
949
|
{
|
|
950
950
|
"index": <number>,
|
|
951
951
|
"keep": true | false,
|
|
952
|
-
"
|
|
953
|
-
"
|
|
954
|
-
"validationNotes": "<optional: additional context for the developer>"
|
|
952
|
+
"adjustedSeverity": "critical" | "high" | "medium" | "low" | "info" | null, // Only if keep=true
|
|
953
|
+
"notes": "<concise context for developer>" // Only if keep=true, 1-2 sentences max
|
|
955
954
|
}
|
|
956
955
|
\`\`\`
|
|
957
956
|
|
|
957
|
+
**CRITICAL**: To minimize costs:
|
|
958
|
+
- For \`keep: false\` (rejected): ONLY include \`index\` and \`keep\` fields. NO explanation needed.
|
|
959
|
+
- For \`keep: true\` (accepted): Include \`notes\` field with brief context (10-30 words). Be concise.
|
|
960
|
+
- Omit \`adjustedSeverity\` if keeping original severity (null is wasteful).
|
|
961
|
+
|
|
958
962
|
## Severity Guidelines
|
|
959
963
|
- **critical/high**: Realistically exploitable, should block deploys - ONLY for clear vulnerabilities
|
|
960
964
|
- **medium/low**: Important but non-blocking, hardening opportunities - use sparingly
|
|
@@ -977,13 +981,44 @@ For each candidate finding, return:
|
|
|
977
981
|
- No visible mitigating factors in context
|
|
978
982
|
- Real-world attack scenario is plausible
|
|
979
983
|
|
|
980
|
-
**REMEMBER**: You are the last line of defense against noise. A finding that reaches the user should be CLEARLY worth their time. When in doubt, REJECT
|
|
984
|
+
**REMEMBER**: You are the last line of defense against noise. A finding that reaches the user should be CLEARLY worth their time. When in doubt, REJECT.
|
|
985
|
+
|
|
986
|
+
## Response Format
|
|
987
|
+
|
|
988
|
+
For EACH file, provide a JSON object with the file path and validation results.
|
|
989
|
+
Return a JSON array where each element has:
|
|
990
|
+
- "file": the file path (e.g., "src/routes/api.ts")
|
|
991
|
+
- "validations": array of validation results for that file's candidates
|
|
992
|
+
|
|
993
|
+
Example response format (OPTIMIZED):
|
|
994
|
+
\`\`\`json
|
|
995
|
+
[
|
|
996
|
+
{
|
|
997
|
+
"file": "src/auth.ts",
|
|
998
|
+
"validations": [
|
|
999
|
+
{ "index": 0, "keep": true, "adjustedSeverity": "medium", "notes": "Protected by middleware" },
|
|
1000
|
+
{ "index": 1, "keep": false }
|
|
1001
|
+
]
|
|
1002
|
+
},
|
|
1003
|
+
{
|
|
1004
|
+
"file": "src/api.ts",
|
|
1005
|
+
"validations": [
|
|
1006
|
+
{ "index": 0, "keep": true, "notes": "User input flows to SQL query" }
|
|
1007
|
+
]
|
|
1008
|
+
}
|
|
1009
|
+
]
|
|
1010
|
+
\`\`\`
|
|
1011
|
+
|
|
1012
|
+
**REMEMBER**: Rejected findings (keep: false) need NO explanation. Keep notes brief (10-30 words).`
|
|
981
1013
|
|
|
982
1014
|
interface ValidationResult {
|
|
983
1015
|
index: number
|
|
984
1016
|
keep: boolean
|
|
985
|
-
|
|
1017
|
+
// Optimized format: single notes field (replaces reason + validationNotes)
|
|
1018
|
+
notes?: string // Only for keep=true, concise explanation
|
|
986
1019
|
adjustedSeverity?: VulnerabilitySeverity | null
|
|
1020
|
+
// Legacy fields for backward compatibility during parsing
|
|
1021
|
+
reason?: string
|
|
987
1022
|
validationNotes?: string
|
|
988
1023
|
}
|
|
989
1024
|
|
|
@@ -1179,7 +1214,44 @@ async function validateWithOpenAI(
|
|
|
1179
1214
|
{ role: 'system', content: HIGH_CONTEXT_VALIDATION_PROMPT },
|
|
1180
1215
|
{ role: 'user', content: validationRequest },
|
|
1181
1216
|
],
|
|
1182
|
-
max_completion_tokens: 4096
|
|
1217
|
+
max_completion_tokens: 1500, // Reduced from 4096 - optimized format needs less output
|
|
1218
|
+
response_format: {
|
|
1219
|
+
type: 'json_schema',
|
|
1220
|
+
json_schema: {
|
|
1221
|
+
name: 'validation_response',
|
|
1222
|
+
strict: true,
|
|
1223
|
+
schema: {
|
|
1224
|
+
type: 'object',
|
|
1225
|
+
properties: {
|
|
1226
|
+
validations: {
|
|
1227
|
+
type: 'array',
|
|
1228
|
+
items: {
|
|
1229
|
+
type: 'object',
|
|
1230
|
+
properties: {
|
|
1231
|
+
file: { type: 'string' },
|
|
1232
|
+
validations: {
|
|
1233
|
+
type: 'array',
|
|
1234
|
+
items: {
|
|
1235
|
+
type: 'object',
|
|
1236
|
+
properties: {
|
|
1237
|
+
index: { type: 'number' },
|
|
1238
|
+
keep: { type: 'boolean' }
|
|
1239
|
+
},
|
|
1240
|
+
required: ['index', 'keep'],
|
|
1241
|
+
additionalProperties: true
|
|
1242
|
+
}
|
|
1243
|
+
}
|
|
1244
|
+
},
|
|
1245
|
+
required: ['file', 'validations'],
|
|
1246
|
+
additionalProperties: false
|
|
1247
|
+
}
|
|
1248
|
+
}
|
|
1249
|
+
},
|
|
1250
|
+
required: ['validations'],
|
|
1251
|
+
additionalProperties: false
|
|
1252
|
+
}
|
|
1253
|
+
}
|
|
1254
|
+
}
|
|
1183
1255
|
})
|
|
1184
1256
|
)
|
|
1185
1257
|
|
|
@@ -1222,9 +1294,25 @@ async function validateWithOpenAI(
|
|
|
1222
1294
|
return batchFindings
|
|
1223
1295
|
}
|
|
1224
1296
|
|
|
1297
|
+
// Parse structured JSON response (with validations wrapper from response_format)
|
|
1298
|
+
let parsedContent: any
|
|
1299
|
+
try {
|
|
1300
|
+
parsedContent = JSON.parse(content)
|
|
1301
|
+
// Unwrap the validations array if present (from structured output)
|
|
1302
|
+
if (parsedContent.validations && Array.isArray(parsedContent.validations)) {
|
|
1303
|
+
parsedContent = parsedContent.validations
|
|
1304
|
+
}
|
|
1305
|
+
} catch (e) {
|
|
1306
|
+
console.warn('[OpenAI] Failed to parse JSON response:', e)
|
|
1307
|
+
parsedContent = content
|
|
1308
|
+
}
|
|
1309
|
+
|
|
1225
1310
|
// Parse multi-file response
|
|
1226
1311
|
const expectedFiles = fileDataList.map(({ filePath }) => filePath)
|
|
1227
|
-
const validationResultsMap = parseMultiFileValidationResponse(
|
|
1312
|
+
const validationResultsMap = parseMultiFileValidationResponse(
|
|
1313
|
+
typeof parsedContent === 'string' ? parsedContent : JSON.stringify(parsedContent),
|
|
1314
|
+
expectedFiles
|
|
1315
|
+
)
|
|
1228
1316
|
|
|
1229
1317
|
// Apply results per file
|
|
1230
1318
|
for (const { filePath, findings: fileFindings } of fileDataList) {
|
|
@@ -1486,7 +1574,7 @@ export async function validateFindingsWithAI(
|
|
|
1486
1574
|
const response = await makeAnthropicRequestWithRetry(() =>
|
|
1487
1575
|
client.messages.create({
|
|
1488
1576
|
model: 'claude-3-5-haiku-20241022',
|
|
1489
|
-
max_tokens:
|
|
1577
|
+
max_tokens: 1500, // Reduced from 4096 - optimized format needs less output
|
|
1490
1578
|
system: [
|
|
1491
1579
|
{
|
|
1492
1580
|
type: 'text',
|
|
@@ -1801,14 +1889,14 @@ Example response format:
|
|
|
1801
1889
|
{
|
|
1802
1890
|
"file": "src/auth.ts",
|
|
1803
1891
|
"validations": [
|
|
1804
|
-
{ "index": 0, "keep": true, "
|
|
1805
|
-
{ "index": 1, "keep": false
|
|
1892
|
+
{ "index": 0, "keep": true, "adjustedSeverity": "medium", "notes": "Protected by middleware" },
|
|
1893
|
+
{ "index": 1, "keep": false }
|
|
1806
1894
|
]
|
|
1807
1895
|
},
|
|
1808
1896
|
{
|
|
1809
1897
|
"file": "src/api.ts",
|
|
1810
1898
|
"validations": [
|
|
1811
|
-
{ "index": 0, "keep": true, "
|
|
1899
|
+
{ "index": 0, "keep": true, "notes": "User input flows to SQL query" }
|
|
1812
1900
|
]
|
|
1813
1901
|
}
|
|
1814
1902
|
]
|
|
@@ -1903,13 +1991,20 @@ function parseMultiFileValidationResponse(
|
|
|
1903
1991
|
typeof item.index === 'number' &&
|
|
1904
1992
|
typeof item.keep === 'boolean'
|
|
1905
1993
|
)
|
|
1906
|
-
.map((item: any) =>
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1994
|
+
.map((item: any) => {
|
|
1995
|
+
// Normalize notes field: prefer new 'notes', fallback to legacy 'reason' or 'validationNotes'
|
|
1996
|
+
const notes = item.notes || item.validationNotes || item.reason || undefined
|
|
1997
|
+
|
|
1998
|
+
return {
|
|
1999
|
+
index: item.index,
|
|
2000
|
+
keep: item.keep,
|
|
2001
|
+
notes,
|
|
2002
|
+
adjustedSeverity: item.adjustedSeverity || null,
|
|
2003
|
+
// Keep legacy fields for backward compatibility
|
|
2004
|
+
reason: item.reason,
|
|
2005
|
+
validationNotes: item.validationNotes,
|
|
2006
|
+
}
|
|
2007
|
+
})
|
|
1913
2008
|
|
|
1914
2009
|
resultMap.set(filePath, validations)
|
|
1915
2010
|
}
|
|
@@ -1960,22 +2055,25 @@ function applyValidationResults(
|
|
|
1960
2055
|
confidence: 'high',
|
|
1961
2056
|
}
|
|
1962
2057
|
|
|
2058
|
+
// Extract notes from optimized or legacy format
|
|
2059
|
+
const validationNotes = validation.notes || validation.validationNotes || validation.reason || undefined
|
|
2060
|
+
|
|
1963
2061
|
if (validation.adjustedSeverity && validation.adjustedSeverity !== finding.severity) {
|
|
1964
2062
|
// Severity was adjusted
|
|
1965
2063
|
adjustedFinding.originalSeverity = finding.severity
|
|
1966
2064
|
adjustedFinding.severity = validation.adjustedSeverity
|
|
1967
2065
|
adjustedFinding.validationStatus = 'downgraded' as ValidationStatus
|
|
1968
|
-
adjustedFinding.validationNotes =
|
|
2066
|
+
adjustedFinding.validationNotes = validationNotes || 'Severity adjusted by AI validation'
|
|
1969
2067
|
} else {
|
|
1970
2068
|
// Confirmed at original severity
|
|
1971
2069
|
adjustedFinding.validationStatus = 'confirmed' as ValidationStatus
|
|
1972
|
-
adjustedFinding.validationNotes =
|
|
2070
|
+
adjustedFinding.validationNotes = validationNotes
|
|
1973
2071
|
}
|
|
1974
2072
|
|
|
1975
2073
|
processed.push(adjustedFinding)
|
|
1976
2074
|
} else {
|
|
1977
|
-
// Finding was dismissed
|
|
1978
|
-
console.log(`[AI Validation] Rejected: ${finding.title} at ${finding.filePath}:${finding.lineNumber}
|
|
2075
|
+
// Finding was dismissed - no need to log verbose reason (cost optimization)
|
|
2076
|
+
console.log(`[AI Validation] Rejected: ${finding.title} at ${finding.filePath}:${finding.lineNumber}`)
|
|
1979
2077
|
// Don't add to processed - finding is removed
|
|
1980
2078
|
}
|
|
1981
2079
|
}
|
|
@@ -2071,13 +2169,20 @@ function parseValidationResponse(response: string): ValidationResult[] {
|
|
|
2071
2169
|
typeof item.index === 'number' &&
|
|
2072
2170
|
typeof item.keep === 'boolean'
|
|
2073
2171
|
)
|
|
2074
|
-
.map(item =>
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2172
|
+
.map(item => {
|
|
2173
|
+
// Normalize notes field: prefer new 'notes', fallback to legacy 'reason' or 'validationNotes'
|
|
2174
|
+
const notes = item.notes || item.validationNotes || item.reason || undefined
|
|
2175
|
+
|
|
2176
|
+
return {
|
|
2177
|
+
index: item.index,
|
|
2178
|
+
keep: item.keep,
|
|
2179
|
+
notes,
|
|
2180
|
+
adjustedSeverity: item.adjustedSeverity || null,
|
|
2181
|
+
// Keep legacy fields for backward compatibility
|
|
2182
|
+
reason: item.reason,
|
|
2183
|
+
validationNotes: item.validationNotes,
|
|
2184
|
+
}
|
|
2185
|
+
})
|
|
2081
2186
|
} catch (error) {
|
|
2082
2187
|
console.error('Failed to parse validation response:', error)
|
|
2083
2188
|
return []
|