1+ #!/usr/bin/python
2+
3+ from botocore .vendored import requests # https://stackoverflow.com/a/48495770
4+ import json
5+ import os
6+ import logging
7+
8+ webhook_url = os .environ ['slack' ]
9+ logger = logging .getLogger ()
10+ logger .setLevel (logging .INFO )
11+
12+ def lambda_hander (event , context ):
13+ logger .info (json .dumps (event ))
14+
15+ for record in event ['Records' ]:
16+ process_event (json .loads (record ['Sns' ]['Message' ]))
17+
18+ def process_event (event ):
19+ event_detail = {}
20+ if 'detail' in event :
21+ event_detail = event ['detail' ]
22+ event_service = {}
23+ if 'service' in event_detail :
24+ event_service = event_detail ['service' ]
25+
26+ message = "{title}\n {description}\n nseverity: {severity}\n eventFirstSeen: {eventFirstSeen}\n region: {region}" .format (
27+ title = event_detail .get ('title' ),
28+ description = event_detail .get ('description' ),
29+ severity = event_detail .get ('severity' ),
30+ eventFirstSeen = event_service .get ('eventFirstSeen' ),
31+ region = event .get ('region' )
32+ )
33+ if event ['detail' ]['severity' ] > 3.9 :
34+ requests .post (webhook_url , data = json .dumps ({
35+ 'text' : message ,
36+ 'username' : 'GuardDuty' ,
37+ 'icon_emoji' : ':rotating_light:' ,
38+ 'link_names' : 1 ,
39+ }))
0 commit comments