- CustomClassTransformer: 字节码转换器,调用 hook 类进行插桩
- 使用 javassist 库插桩,将 XxxHook 类中的 checkXxx 静态方法插入到目标方法中
- 请求线程检测入口:HookHandler#doCheck
- 当去 hook 像 java.io.File 这样由 BootstrapClassLoader 加载的类的时候,无法从该
类调用非 BootstrapClassLoader 加载的类中的接口,所以 agent.jar 会先将自己添加
到 BootstrapClassLoader 的 ClassPath 下
- 给 openrasp.yml 和 js 插件目录以及 assets 目录增加文件监控,以便文件内容更改的
时候不需要重启就能够实时生效 (FileScanListener)
- 基线检测使用 java 插件,不需要再请求线程中执行;攻击检测多数使用 js 插件,要求
在请求线程中执行
- detectors 用于收集服务器信息,然后分派给对应的 checker 进行基线检测
plugin: 查找 str1 和 str2 的最长公共子串,返回为所有最长子串组成的数组
- 当 iast.js 下发成功,Java/PHP 内部的探针会自动在请求结束时,将本次请求的参数、
hook 点信息提交给 openrasp-iast 服务器进行分析,并选择性的 Fuzz 目标