洞态IAST 钉钉自动化告警闭环

前言

洞态IAST上线有一段时间了,基于被动式IAST技术,高检出率和低误报率等特点,很好的集成到devops流程中,增加我们的效率,然而每次发现漏洞后没有及时查看导致漏洞处理上的滞后,这里通过钉钉群里机器人做自动化告警,使IAST使用上闭环起来

 

钉钉群聊机器人(这里可以使用飞书、企业微信等都可以的)

群里机器人文档:https://developers.dingtalk.com/document/robots/custom-robot-access

介绍了如何接入、消息类型、数据格式和错误代码排查等使用上的问题

这里获取了钉钉机器人的webhook,复制下来,在安全设置中,添加关键词用来接收告警

1
2
webhook = https://oapi.dingtalk.com/robot/send?access_token=xxx
关键词:IAST

洞态IAST接入钉钉机器人

通过洞态服务架构了解,DongTai-engine 服务是用来漏洞检测的,根据调用方法数据和污点跟踪算法分析HTTP/HTTPS/RPC请求中是否存在漏洞,通过代码发现火线团队已经在代码中预留了发送漏洞告警的方法

1
DongTai-engine/signals/handlers/vul_handler.py  的 send_vul_notify()

我们接入钉钉告警机器人就放到这个方法里

这里可以看到,传入了一个vul参数,由handler_vul()调用 send_vul_notify(), 看上面的注释,vul参数的数据格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
http_url: 漏洞所在url
http_uri: 漏洞所在uri
context_path: HTTP请求上下文
http_method: HTTP请求方法
http_scheme: HTTP请求协议
http_protocol: HTTP请求协议
req_header: HTTP请求头
req_data: HTTP请求体
res_header: HTTP响应头
res_body: HTTP响应体
vul_type: 漏洞类型
vul_level: 漏洞等级
full_stack: 漏洞对应的调用链数据
top_stack: 漏洞对应污点调用链的链首
bottom_stack: 漏洞对应污点调用链的链尾
taint_value: 污点值
taint_position: 污点所在位置
agent_token: Agent的token
project: 所在的项目
counts: 漏洞出现次数
client_ip: 客户端IP
username: 漏洞所在用户的用户名

因为我们只是自己用,就不做交互处理,直接写死到代码中

钉钉机器人支持@人,这里可以根据不同业务线设置不同告警接收人

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 新增业务线告警接收人
def project_vul(vul):
    if vul.agent.project_name == "project_1" or vul.agent.project_name == "project_2":
        phone = "13111111111"
        send_vul_notify(vul, phone)
    
    elif vul.agent.project_name == "project_3" or vul.agent.project_name == "project_4":
        phone = "13222222222"
        send_vul_notify(vul, phone)

# 修改发动报警方法
def send_vul_notify(vul, phone):
    """
    :param vul_data:
    :return:
    """
    dingding = "https://oapi.dingtalk.com/robot/send?access_token=xxx"
    header = {
        "Content-Type": "application/json",
        "Charset": "UTF-8"
    }

    message = {
        "msgtype": "text",
        "text": {
            "content": "@{} 洞态IAST告警通知:n漏洞类型:{}n危害等级:{}n漏洞URL:{}n业务线名称:{}n探针agent:{}n请及时处理!!!".format(phone, vul.type, vul.level.name_value, vul.url, vul.agent.project_name, vul.agent.token)
        },
        "at": {
            "atMobiles": [
                "{}".format(phone)
            ],
            "isAtAll": False
        }
    }

    resp = requests.post(url=dingding, headers=header, data=json.dumps(message))
    if resp.status_code == 200:
        pass

然后修改 handler_vul() 方法

1
2
3
if vul:
    # send_vul_notify(vul)
    project_vul(vul)

效果展示

洞态IAST 钉钉自动化告警闭环

发布者:常山赵子龙,转载请注明出处:https://www.qztxs.com/archives/science/technology/12142

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年6月12日 下午3:47
下一篇 2022年6月13日 下午7:49

相关推荐

  • phpstudy配置ssl证书实现https加密访问

    0x00 前言 使用HTTP(超文本传输)协议访问互联网上的数据是没有经过加密的。也就是说,任何人都可以通过适当的工具拦截或者监听到在网络上传输的数据流。但是有时候,我们需要在网络上传输一些安全性或者私秘性的数据,譬如:包含信用卡及商品信息的电子订单。这个时候,如果仍然使用HTTP协议,势必会面临非常大的风险!相信没有人能接受自己的信用卡号在互联网上裸奔。 ...

    技术 2022年5月28日
    1800
  • MySQL-InnoDB究竟如何巧妙实现,4种事务的隔离级别(收藏)

    事务ACID特性,其中I代表隔离性(Isolation)。   什么是事务的隔离性? 隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。   一个事务怎么会干扰其他事务呢? 咱们举例子来说明,假设有InnoDB表: t(id PK, name);   表中有三条记录: 1, shenjia...

    技术 2022年5月14日
    1000
  • java面试字节跳动——字节码

    1.前言 先来个定义:Java字节码是一组可以由Java虚拟机(JVM)执行的高度优化的指令,它被记录在Class文件中,在虚拟机加载Class文件时执行。 说大白话就是,字节码是Java虚拟机能够看明白的可执行指令。 前面的文章中已经强调了很多次了,Class文件不等于字节码,为什么我要一直强调这个事情呢? 因为在绝大部分的中文资料和博客中,这两个东西都被...

    2022年5月18日
    4600
  • 解决某宝、某鱼等淘系App无法抓包问题

    使用Charles、Fiddle等抓包工具对淘系App进行抓包时,你会发现总是抓不到包,出现请求不走Charles代理的情况。这是因为淘系app底层网络通信的协议并不是普通的http协议,而是自己实现的一套私有协议Spdy。 通过对App反编译破解后分析发现,部分接口由于使用了spdy协议,导致无法抓包。 所以我们只要通过hook将是否使用spdy返回fal...

    2022年5月7日
    21500
  • MySQL事务已提交,数据却丢了(MySQL事务提交,数据丢失)

    有个水友提问: 老师,我们有一次MySQL崩溃,重启后发现有些已经提交的事务对数据的修改丢失了,不是说事务能保证ACID特性么,想问下什么情况下可能导致“事务已经提交,数据却丢失”呢?   这个问题有点复杂,得先从redo log说起。   为什么要有redo log? 事务提交后,必须将事务对数据页的修改刷(fsync)到磁盘上,才能保证事务的ACID特性...

    2022年5月10日
    4000

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信