Tales-Cunha
feat: integrate the agents
3f143e9
Raw
History Blame
1.22 kB
import type { Finding, VulnerabilityReport } from "../agents/tester/types.js";
/**
* Mapeia um achado (Finding) do Auditor para um relatório de vulnerabilidade (VulnerabilityReport)
* compatível com o Gerador de PoCs (Tester).
*/
export function mapFindingToReport(finding: any, sourceCode: string): VulnerabilityReport {
const title = finding.title || finding.type || "Unknown vulnerability";
const description = finding.description || "No description provided by auditor.";
const nameMatch = finding.path?.match(/([^\/]+)\.sol$/);
const contractName = nameMatch ? nameMatch[1] : "TargetContract";
const exploitablePaths = finding.judgeReview?.exploitablePaths || [];
return {
id: title.toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 50),
severity: (finding.severity === "high" || finding.severity === "medium" || finding.severity === "low")
? finding.severity : "low",
type: finding.type || "custom",
title,
description,
affectedContract: {
name: contractName,
sourceCode,
},
attackVector: exploitablePaths[0] ?? "Unknown vector",
exploitablePaths,
codeSnippet: finding.codeSnippet,
location: finding.location
};
}