in packages/cloudbuster/src/digests.ts [42:77]
export function createDigestForAccount(
accountFindings: cloudbuster_fsbp_vulnerabilities[],
): Digest | undefined {
const vulnCutOffInDays = 60;
const cutOffDate = new Date();
cutOffDate.setDate(cutOffDate.getDate() - vulnCutOffInDays);
const recentFindings = accountFindings.filter(
(f) => f.first_observed_at && f.first_observed_at > cutOffDate,
);
if (recentFindings.length === 0 || !recentFindings[0]) {
return undefined;
}
const [finding] = recentFindings;
const { aws_account_name, aws_account_id } = finding;
if (aws_account_name && aws_account_id) {
return {
accountId: aws_account_id,
accountName: aws_account_name,
actions: createCta(aws_account_name),
subject: `Security Hub findings for AWS account ${aws_account_name}`,
message: createEmailBody(
recentFindings,
vulnCutOffInDays,
aws_account_name,
stringToSeverity(finding.severity),
),
};
} else {
return undefined;
}
}