OpenRASP Documents (Old)
  • 简介
  • 安装部署
    • 兼容性说明
    • 安装管理后台
    • 快速接入
      • PHP 服务器
      • Tomcat 服务器
      • JBoss 服务器
      • Wildfly 服务器
      • Resin 服务器
      • Jetty 服务器
      • Spring Boot 框架
      • WebLogic 服务器
      • WebSphere 服务器
      • 宝兰德BES服务器
      • 东方通TongWeb服务器
      • 中创InforSuiteAS服务器
      • 普元PAS服务器
    • 安装测试用例
    • 安装灰盒扫描工具
      • IAST 高级配置选项
    • SIEM 系统集成
      • Splunk
      • Logstash
    • 大规模部署
    • 卸载软件
  • 服务配置
    • 日志说明
    • 管理后台
    • 单机版本
    • 其他配置
  • 功能说明
    • 攻击检测能力说明
    • CVE 漏洞覆盖说明
    • 安全基线检查
    • 应用加固支持
    • 应用异常监控
    • 类库信息查询
    • HTML 响应修改
  • 插件开发
    • 开发插件
    • 接口说明
      • RASP 类接口
      • Context 类接口
    • 参数说明
    • 单元测试
    • 在线调试
    • 官方插件定制
  • 二次开发
    • 架构说明
      • Java 版本
      • PHP 版本
      • 管理后台
      • IAST 扫描器
      • Hook 函数列表
    • 从源代码编译
      • Java 版本
      • PHP 版本
      • 管理后台
    • 云控后台接口
    • 代码调试
    • 添加新的Hook点
    • 添加新的插件API
    • 提交你的代码
  • 性能测试
  • 版本变更
  • 关于我们
Powered by GitBook
On this page
Export as PDF
  1. 插件开发

单元测试

Previous参数说明Next在线调试

Last updated 11 days ago

参数说明

我们的插件开发工具 提供了插件测试命令,可以对插件进行功能和性能测试。命令行参数如下,

$ rasp check

OpenRASP plugin devtool - https://rasp.baidu.com
Usage: rasp-check

Options:
  -d, --case-dir <dir>        specify a testcases directory
  -p, --plugin-file <plugin>  specify a javascript plugin file
  -h, --help                  output usage information 

创建测试用例

我们在 上提供了一些样例。测试用例以 JSON 格式保存,示例如下:

[{
    "id": "ssrf_userinput_intranet",
    "name": "ssrf",
    "action": "block",
    "params": {
        "hostname": "172.16.177.120",
        "ip": ["172.16.177.120"],
        "url": "http://172.16.177.120/hello.action?redirect=123"
    },
    "context": {
        "parameter": {
            "url": ["http://172.16.177.120/hello.action?redirect=123"]
        }
    },
    "description": "SSRF userinput match test"
}]

其中,action 表示期望的结果,是拦截、日志还是放行;id 是测试用例编号。其他字段主要是对请求上下文的模拟。

运行测试用例

运行单元测试,需要两个关键参数

  • 测试用例目录

  • 检测插件路径

比如,若要测试官方插件,可以执行如下命令:

$ rasp check -d ~/openrasp/agent/java/engine/src/test/resources/pluginUnitTest/unitCases/ -p ~/openrasp/plugins/official/plugin.js

[offical] OpenRASP official plugin: Initialized, version 2018-1010-1600
 
  ✓ sql.json Simple userinput match test: 9ms
  ✓ sql.json SQL injection with hex values: 1ms
  ✓ sql.json SQL injection with datetime methods: 2ms
  ✓ ssrf.json SSRF userinput match test: 2ms
  ✓ ssrf.json SSRF false positive test: 1ms
 
  5 passing (26ms)

当测试结果中出现 failing 和详细错误信息时,表示测试用例没有通过。

插件耗时测试

每一个测试用例所消耗的时间出现在测试结果行的最末端。

若时间被标注为黄色,表示该测试用例消耗时间过长,若时间被标注为红色,表示该测试用例消耗时间超过最大限制。默认超时时间为 20ms

openraspjs
baidu/openrasp