基本规范
- APP 参数不能用 result,此为系统变量
- app.json 必须包含 identification
- APP 开发文件只能有一个脚本 run.py
- 请用 async,await开启异步,提升性能
- HTTP 请求库,推荐使用 requests
try except
为了保证 APP 的稳定性,请使用 try except 语法
python
try:
    pass
except:
    pass
else:
    pass
finally:
    pass
导入第三方模块
防止用户没安装第三方模块,为了达到友好的提示,请在函数里 import 库
python
#!/usr/bin/env python
# encoding:utf-8
from loguru import logger
async def hello_world(name):
    try:
        import nmap
    except:
        logger.info("[Hello World] 导入 nmap 模块失败, 请输入命令 pip install nmap")
        return {"status":2,"result":"导入 nmap 失败"}
    logger.info("[Hello World] 该 APP 执行参数为: {name}", name=name)
    return {"status":0,"result":"Hello," + name}
返回值说明
返回数据结构为:字典
json
// 列:
{
    "status":0,
    "result":"执行成功",
    "html":"<span style='color:#333;'>执行成功</span>"
}
参数说明
| key | 是否必写 | 说明 | 
|---|---|---|
| status | 是 | 执行状态 | 
| result | 是 | 执行结果,原始数据 | 
| html | 否 | 可视化报告用,筛选过的数据,支持 HTML+CSS 语法 ,此项不写默认为 result 数据 | 
执行状态说明,目前支持 4 种状态
| 状态码 | 说明 | 
|---|---|
| 0 | 正常 | 
| 1 | 警告 | 
| 2 | 异常 | 
| 3 | 威胁 | 
 W5 SOAR 文档
W5 SOAR 文档