当前位置:网站首页>Zadig + 洞态 IAST:让安全溶于持续交付
Zadig + 洞态 IAST:让安全溶于持续交付
2022-06-28 21:56:00 【InfoQ】

What is IAST & DongTai?
- IAST:交互式应用程序安全测试(Interactive Application Security Testing),是近年来兴起的一项新技术,被 Gartner 公司列为信息安全领域的 Top 10 技术之一。它融合了 SAST 和 DAST 技术的优点,IAST 使用运行时代理方法在测试阶段分析&监控应用程序的行为。
- DongTai 是一款开源的被动式交互式安全测试(IAST)产品,通过动态 Hook 和污点跟踪算法等实现通用漏洞检测、多请求关联漏洞检测(包括但不限于越权漏洞、未授权访问)、第三方组件漏洞检测等,目前支持 Java、Python 两种语言的应用漏洞检测。
准备工作
- Zadig 中待开启 IAST 功能的服务,下面提供一个示例服务,服务名:
demo,服务 YAML 配置如下(Zadig 新建服务):
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: dongtai-java-agent-demo
name: dongtai-java-agent-demo
spec:
selector:
matchLabels:
app: dongtai-java-agent-demo
template:
metadata:
labels:
app: dongtai-java-agent-demo
spec:
containers:
- name: app-container
image: dongtai/dongtai-java-agent-demo:0.0.1
- 获取 DongTai backend 服务,有以下两种方式:使用洞态官方提供的 SaaS 版本使用
Docker-Compose或者Kubernetes完成私有化安装安装文档
- 我们以第一种方式为例,使用动态官方提供的 Saas 服务,注册登陆账号,进入
项目管理界面:点击页面右上角 「+ Add Agent」在「下载探针」部分可以直接下载或者获取下载链接

AGENT_URL= http://192.168.2.169:8000/api/v1/agent/download?url=http://192.168.2.169:8000&language=java
AUTH_HEADER= 'Authorization: Token 88cab3057e199b95cb0780e2a8ab4771c8874acd'curl -X GET "http://192.168.2.169:8000/api/v1/agent/download?url=http://192.168.2.169:8000&language=java" -H 'Authorization: Token 88cab3057e199b95cb0780e2a8ab4771c8874acd' -o agent.jar -k创建&部署 注入 Agent 的 demo 服务
- 在 Zadig 中复制待测试服务配置,修改 K8s resource name 以及 label&selector 等,避免和现有服务冲突。
- 配置中添加 initContainer,提前将 agent 下载到服务所在容器中。
- 修改服务启动命令,添加
-javaagent:/path/to/agent.jar
- 新建服务,服务名:
demo-with-iast,粘贴修改后的配置并保存,修改后的服务 YAML 配置如下:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: dongtai-java-agent-demo-iast
name: dongtai-java-agent-demo-iast
spec:
selector:
matchLabels:
app: dongtai-java-agent-demo-iast
template:
metadata:
labels:
app: dongtai-java-agent-demo-iast
spec:
volumes:
- name: dongtai-iast-agent
emptyDir: {}
initContainers:
- name: agent-init-container
image: curlimages/curl
volumeMounts:
- name: dongtai-iast-agent
mountPath: /tmp
args:
- "-k"
- "-X"
- "GET"
- ${AGENT_URL} # 替换成前面获取到的 AGENT_URL
- "-H"
- ${AUTH_HEADER} # 替换成前面获取到的 AUTH_HEADER
- "-o"
- "/tmp/agent.jar"
containers:
- name: app-container
image: dongtai/dongtai-java-agent-demo:0.0.1
volumeMounts:
- name: dongtai-iast-agent
mountPath: /agent
env:
- name: JAVA_TOOL_OPTIONS
value: "-javaagent:/agent/agent.jar"- 将新建服务
demo-with-iast部署到环境中(Zadig 创建环境),查看对应环境中服务的日志,出现如下日志则意味着 agent 注入成功。

- 基于新部署的
demo-with-iast服务,运行服务的自动化测试&功能测试,触发内部函数/服务的调用,agent 会自动的对运行过程中的漏洞信息进行采集与上报。
配置自动化工作流
demo- 将我们刚才配置的服务
demo-with-iast与demo服务的构建绑定。

- 启动工作流,选择服务
demo-with-iast,对我们最新的服务进行部署与验证。

运行效果

边栏推荐
- 现在还能入“坑”数据分析吗?看看2022年数据分析热门岗位!
- F1tenth gym of ROS 2 humble hawksbill
- Golang JSON serializing and deserializing strings deserializing to map[string]interface{}
- Zadig 正式推出 VS Code 插件,本地开发更高效
- 直播预告|SQL也能玩转工业级机器学习?MLOps meetup V3带你一探究竟!
- 5毛VS600亿,食品安全问题是卫龙上市最大的拦路虎?
- VR全景创业为了把控风险,如何选择加盟公司?
- Competition rules for the "network security" event of the secondary vocational group in the skills competition of Guangxi Vocational Colleges in 2022
- 什么是低代码开发?
- Get to know Alibaba cloud (Cloud Computing) - development history, technical architecture, region and availability zone!
猜你喜欢
![Sword finger offer:[day 2 linked list (simple)] --- > reverse linked list](/img/05/0d7ed95f83c2188d274dde84817dc3.jpg)
Sword finger offer:[day 2 linked list (simple)] --- > reverse linked list
![Sword finger offer:[day 2 linked list (simple)] --- > print the linked list from end to end](/img/d6/824985b74b27a1bee456c2cebbac26.jpg)
Sword finger offer:[day 2 linked list (simple)] --- > print the linked list from end to end
![Sword finger offer:[day 1 stack and queue (simple)] --- > use two stacks to realize the queue](/img/e4/60b063a3131d92e40b5fa610bbec17.jpg)
Sword finger offer:[day 1 stack and queue (simple)] --- > use two stacks to realize the queue

How do independent site sellers efficiently manage complex Facebook pages?

16 `bs对象.节点名div.属性contents` children descendants 获取子节点 子孙节点
![[width first search note] BFS output shortest path](/img/b5/553ca241ae571daecabd282f33f20a.jpg)
[width first search note] BFS output shortest path

【selenium自动化过程中的api抓包】browsermobproxy的安装和配置

PE file-

In one sentence, I will tell you the meaning of select 1, 2 and 3 in SQL injection, and explain the meaning of each part of SQL injection in detail

共探数字技术与信息安全,第四届中俄数字论坛成功举办
随机推荐
【HackTheBox】dancing(SMB)
Akamai acquires linode
IC Nansha|AMD高级副总裁、大中华区总裁潘晓明:制程、架构、平台优化突破计算边界
Rust language survey results in 2021
Ctrip will push the "3+2" working mode: 3 days a week on duty and 2 days of free choice of office space. Do you envy it?
【selenium自动化过程中的api抓包】browsermobproxy的安装和配置
SqlTransaction
BOE was brilliant for the Winter Olympics, but revealed another Chinese technology enterprise dominating the world
科技巨头成立元宇宙标准论坛,走向开放还是建立围城?
How to advance data analysis from 1 to 10?
Get to know Alibaba cloud (Cloud Computing) - development history, technical architecture, region and availability zone!
Use of axurer9 master
面试官:Redis中字符串的内部实现方式是什么?
YAYA LIVE CTO 唐鸿斌:真正本地化,要让产品没有「产地」属性
Is it safe to open an account for stocks on mobile phones in 2022? Who can I ask?
数据库基础笔记
职业问诊 | 在数据分析面试中,这样做自我介绍才靠谱
Why use the rust language?
How to make up the PMP Exam? How much is the make-up exam?
be careful! The PMP emergency postponement exam is due today!