最近公司老板不知道抽什么风,非要做安全检测,我一个研发哪里懂这个,万般无奈就去找开源工具。结果发现了一个 java idea 插件可以做风险监测,这边简单记录和分享下。
首先放出开源地址: github.com/HXSecurity/DongTai 按照文档跑了一下确实能把故意写进去的风险检测出来,具体实际效果还有待考究。大家也可以试试。
记录一下我的使用过程
对了 官方的文档
hxsecurity.github.io/DongTai-Doc/#/README

下载插件

下载地址: github.com/HXSecurity/DongTai-Plugin-IDEA/releases/download/v1.0/DongTai-Plugin-IDEA.zip

安装插件

点击 IDEA 设置中的 Plugins,选择 “Install Plugin from Disk...”
选择刚刚下载的 IDEA 插件 zip 包

然后去他们官网注册下

申请洞态用户: dongtai.io (得等等,他们好像是人工审核的)

配置插件

在洞态-部署界面: iast.io/deploy 获取用户 Token,复制。
在插件内配置 Token 。

插件测试

在 api 里写一个风险方法
@Controller
@RequestMapping("/demo")
public class DemoController {

@GetMapping("cmdi")
public String qaaq(String var1,String var2) throws IOException {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(var1).append(var2);
Runtime.getRuntime().exec(stringBuilder.toString());
return stringBuilder.toString();
}
}

这里面故意写了个 exec 这个特定情况下会被认定为命令注入
v2ex 不能贴图 所以没办法贴效果了
去看了下 java 的实现原理
应该使用的 hook 把一些预设好的风险函数进行了托管 然后走了一些分析,这里没有探究。有兴趣的老哥可以看看他们的开源实现

有大神带着分析下实现就更好了

发推广吧,都需要去注册账号了,还能有什么实现原理

不能确定安全性的 IDEA 插件审慎使用,插件是有权限直接访问你本地资源的,包括但不限于项目文件、各种数据库配置信息,磁盘文件,通过网络挂载的远程资源等等

不是 他们完全开源了 前端后端啥的 只是方便没在本地搭建 所以就直接用他们搭建好的在线服务了