AWS Lambda 스크립트 구성
Snyk 페이로드 필터링
if(snykbody.indexOf("project") !== -1 && snykbody.indexOf("newIssues") !== -1){
// 새로운 문제들에 대해 반복
var len = event.body['newIssues'].length;
for(let x=0;x<len;x++){
// 심각도(Severity) 가져오기
let severity = JSON.stringify(event.body['newIssues'][x]['issueData']['severity']);
// 필터링
if(severity.includes("high") || severity.includes("critical")){
let snykProjectName = JSON.stringify(event.body['project'].name);
let snykProjectUrl = JSON.stringify(event.body['project'].browseUrl);
let snykIssueUrl = JSON.stringify(event.body['newIssues'][x]['issueData'].url);
let snykIssueId = JSON.stringify(event.body['newIssues'][x].id);
let snykIssuePackage = JSON.stringify(event.body['newIssues'][x].pkgName);
let snykIssuePriority = JSON.stringify(event.body['newIssues'][x]['priority'].score);
let message = "New Snyk Vulnerability";
// 결과를 Slack으로 전송
const result = await messageSlack(
message,snykProjectUrl,snykProjectName,snykIssuePackage,snykIssueUrl,snykIssueId,severity,snykIssuePriority
);
}
} Slack 메시지 형식
Last updated