W5 SOAR 使用文档

vuePress-theme-reco W5er    2021
W5 SOAR 使用文档 W5 SOAR 使用文档

Choose mode

  • dark
  • auto
  • light
官网 (opens new window)
常见问题
交流群
建议反馈 (opens new window)
Github (opens new window)
下载 (opens new window)

W5er

0

Article

0

Tag

官网 (opens new window)
常见问题
交流群
建议反馈 (opens new window)
Github (opens new window)
下载 (opens new window)
  • 介绍

    • 什么是 W5 SOAR
    • 美图欣赏
  • 入门

    • Redis 配置
    • Mysql 配置
    • Linux 搭建环境
    • Linux 部署
    • Win 部署
    • Docker 部署
  • 使用

    • 创建剧本
    • 链路判断
    • 变量传递
    • 用户输入
    • WebHook
    • 定时器
  • APP 开发

    • Hello Word
    • app.json 配置
    • 其他配置
    • APP 类型
    • 使用 APP
    • 开发规范
  • 乱七八糟

    • W5 API
    • 更新说明
  • 其他

    • 常见问题
    • TODO
    • 更新日记
    • 联系我们

开发规范

vuePress-theme-reco W5er    2021

开发规范

W5er

# 基本规范

  • APP 参数不能用 result ,此为系统变量
  • app.json 必须包含 identification
  • APP 开发文件只能有一个脚本 run.py
  • 请用 async , await 开启异步,提升性能
  • HTTP 请求库,推荐使用 requests

# try except

为了保证 APP 的稳定性,请使用 try except 语法

try:
    pass
except:
    pass
else:
    pass
finally:
    pass

# 导入第三方模块

防止用户没安装第三方模块,为了达到友好的提示,请在函数里 import 库

#!/usr/bin/env python
# encoding:utf-8
from loguru import logger

async def hello_word(name):
    try:
        import nmap
    except:
        logger.info("[Hello Word] 导入 nmap 模块失败, 请输入命令 pip install nmap")
        return {"status":2,"result":"导入 nmap 失败"}

    logger.info("[Hello Word] 该 APP 执行参数为: {name}", name=name)
    return {"status":0,"result":"Hello," + name}

# 返回值说明

返回数据结构为:字典

// 列:
{
    "status":0,
    "result":"执行成功",
    "html":"<span style='color:#333;'>执行成功</span>"
}

参数说明

key 是否必写 说明
status 是 执行状态
result 是 执行结果,原始数据
html 否 可视化报告用,筛选过的数据,支持 HTML+CSS 语法 ,此项不写默认为 result 数据

执行状态说明,目前支持 4 种状态

状态码 说明
0 正常
1 警告
2 异常
3 威胁