mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-07-24 13:01:56 +00:00
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
export interface FindingAnalysisPromptInput {
|
|
findingId: string | null | undefined;
|
|
providerUid: string | null | undefined;
|
|
resourceUid: string | null | undefined;
|
|
checkId: string | null | undefined;
|
|
severity: string | null | undefined;
|
|
status: string | null | undefined;
|
|
detail: string | null | undefined;
|
|
risk: string | null | undefined;
|
|
}
|
|
|
|
function getPromptValue(value: string | null | undefined): string {
|
|
return typeof value === "string" && value.trim().length > 0
|
|
? value
|
|
: "unknown";
|
|
}
|
|
|
|
export function buildFindingAnalysisPrompt({
|
|
findingId,
|
|
providerUid,
|
|
resourceUid,
|
|
checkId,
|
|
severity,
|
|
status,
|
|
detail,
|
|
risk,
|
|
}: FindingAnalysisPromptInput): string {
|
|
return [
|
|
"Get all the possible information from Prowler Application and from Prowler Hub to have the full context.",
|
|
"",
|
|
"Analyze this security finding and provide remediation guidance:",
|
|
"",
|
|
`- **Finding ID**: ${getPromptValue(findingId)}`,
|
|
`- **Provider UID**: ${getPromptValue(providerUid)}`,
|
|
`- **Resource UID**: ${getPromptValue(resourceUid)}`,
|
|
`- **Check ID**: ${getPromptValue(checkId)}`,
|
|
`- **Severity**: ${getPromptValue(severity)}`,
|
|
`- **Status**: ${getPromptValue(status)}`,
|
|
`- **Detail**: ${getPromptValue(detail)}`,
|
|
`- **Risk**: ${getPromptValue(risk)}`,
|
|
].join("\n");
|
|
}
|