跳到主要内容
版本:1.3.0

Java Agent

参数表

debug

属性
生效方式启动时添加 -Ddebug=<true or false>
参数类型Boolean
来源命令行参数
可选参数true or false
默认值false
参数说明开启后检测本地临时目录中是否存在核心检测引擎存在,加载本地检测引擎并启动

project.name

属性
生效方式启动时添加 -Dproject.name=<application name>
参数类型String
来源配置文件
可选参数格式:中文、英文字母大小写、数字、\@等组合,长度20以内,名称保证唯一
默认值Demo Project
参数说明项目名称

iast.mode

属性
生效方式启动时添加 -Diast.mode=<hunter or normal>
参数类型字符串
来源配置文件
可选参数hunter or normal
默认值normal
参数说明漏洞检验模式,hunter 模式漏洞多、误报率高,normal 模式漏洞相对少、误报率低

iast.server.mode

属性
生效方式启动时添加 -Diast.server.mode=<local or remote>
参数类型字符串
来源配置文件
可选参数localremote
默认值remote
参数说明local 模式支持单漏洞验证、项目漏洞批量验证、POST 请求包展示、污点位置及污点值展示等功能

iast.proxy.enable

属性
生效方式启动时添加 -Diast.proxy.enable=<true or false>
参数类型Boolean
来源配置文件
可选参数true or false
默认值false
参数说明HTTP代理模式是否启用

iast.proxy.host

属性
生效方式启动时添加 -Diast.proxy.host=<ip>
参数类型字符串
来源配置文件
可选参数代理的域名 (IP)
默认值null
参数说明HTTP 代理的域名 (IP)

iast.proxy.port

属性
生效方式启动时添加 -Diast.proxy.port=<port>
参数类型String
来源配置文件
可选参数端口 (1 to 65535)
默认值80
参数说明HTTP 代理的端口

iast.service.report.interval

属性
生效方式启动时添加 -Diast.service.report.interval=<60000>
参数类型整型数字
来源配置文件
可选参数任意整型数字
默认值60000
参数说明发送报告的间隔时间,单位:毫秒

iast.service.relay.interval

属性
生效方式启动时添加 -Diast.service.replay.interval=<300000>
参数类型整型数字
来源配置文件
可选参数任意整型数字
默认值30000
参数说明发送报告的间隔时间,单位:毫秒

iast.engine.delay.time

属性
生效方式启动时添加 -Diast.engine.delay.time=<10>
参数类型整型数字
来源配置文件
可选参数任意整型数字
默认值10
参数说明延迟启动功能,单位:秒

iast.dump.class.enable

属性
生效方式启动时添加 -Diast.dump.class.enable=<true or false>
参数类型Boolean
来源配置文件
可选参数truefalse
默认值false
参数说明是否 dump 修改后的字节码

iast.dump.class.path

属性
生效方式启动时添加 -Diast.dump.class.path=</tmp/iast-class-dump/>
参数类型字符串
来源配置文件
可选参数任意有权限路径
默认值/tmp/iast-class-dump/
参数说明dump 字节码的路径

iast.server.url

属性
生效方式启动时添加 -Diast.server.url=<https://openapi.iast.io>
参数类型字符串
来源配置文件
可选参数URL 格式
默认值https://openapi.iast.io
参数说明Server URL

iast.allhook.enable

属性
生效方式启动时添加 -Diast.allhook.enable=<true or false>
参数类型Boolean
来源配置文件
可选参数true or false
默认值false
参数说明开启全量 Hook 模式

project.create

属性
生效方式启动时添加 -Dproject.create=<true or false>
参数类型Boolean
来源配置文件
可选参数true or false
默认值false
参数说明是否在管理服务器上自动创建项目

project.version

属性
生效方式启动时添加 -Dproject.version=<application version>
参数类型字符串
来源配置文件
可选参数应用版本号
默认值v1.0
参数说明当配置该参数启动时,会自动创建项目及版本

response.length

属性
生效方式启动时添加 -Dresponse.length=<1000>
参数类型整形数字
来源配置文件
可选参数大于 0 的整形数字
默认值
参数说明当配置该参数启动时,会改变 agent 获取应用的 http 请求响应体的长度

dongtai.server.url

属性
生效方式启动时添加 -Ddongtai.server.url=
参数类型字符串
来源配置文件
可选参数URL 格式
默认值https://openapi.iast.io
参数说明Server URL

dongtai.server.token

属性
生效方式启动时添加 -Ddongtai.server.token=
参数类型字符串
来源配置文件
可选参数字符串
默认值User Token
参数说明Server Token

dongtai.log

属性
生效方式启动时添加 -Ddongtai.log=<true or false>
参数类型Boolean
来源配置文件
可选参数true or false
默认值true
参数说明是否把日志输出到本地文件

dongtai.log.path

属性
生效方式启动时添加 -Ddongtai.log.path=/tmp
参数类型字符串
来源配置文件
可选参数任意有读写权限的目录
默认值agent.jar 当前目录
参数说明指定日志文件所在目录

dongtai.log.level

属性
生效方式启动时添加 -Ddongtai.log.level=<1000>
参数类型字符串
来源配置文件
可选参数info, debug
默认值info
参数说明指定日志等级

用例

info

测试项目:SpringDemo

  • 当需要将应用绑定到云端项目 SpringDemo 时:

    java -javaagent:/path/to/agent.jar -Dproject.name=SpringDemo -jar SpringDemo.jar
  • 当需要排查 Agent 报错问题或者二次开发 Agent 时需要本地调试:

    java -javaagent:/path/to/agent.jar -Ddebug.name=true -jar SpringDemo.jar
  • 当启动 Agent 影响了应用的运行,需设置 Agent 延迟启动时间,以 15 秒 为例:

    java -javaagent:/path/to/agent.jar -Diast.engine.delay.time=15 -jar SpringDemo.jar
  • 当排查 agent 异常或者研究字节码转换原理时,在目录 /tmp/class 查看转换后的字节码文件:

    java -javaagent:/path/to/agent.jar -Diast.dump.class.enable=true -Diast.dump.class.path=/tmp/class -jar SpringDemo.jar
  • 当前网络无法访问洞态云端需设置 HTTP 代理,以设置代理 10.100.100.1:80 为例:

    java -javaagent:/path/to/agent.jar -Diast.proxy.enable=true -Diast.proxy.host=10.100.100.1 -Diast.proxy.host=80 -jar SpringDemo.jar
  • 当需要设置检测能力为 hunter/normal 时(hunter 模式的使用场景:代码审计,normal 模式使用场景:企业内部检测漏洞):

    java -javaagent:/path/to/agent.jar -Diast.mode=hunter/normal -jar SpringDemo.jar