引擎流水线
引擎高度模块化,职责分明,逻辑清晰。
PE 文件
Windows 可执行文件
→
EFG 提取
基于反汇编技术,解析程序调用及跳转,生成外部调用流程图
→
tosSPM 推理
基于自研语义解析引擎 tosSPM 实现的外部调用语义解析
→
171 维特征
EFG 39 + tosSPM 推理结果 43 + PE 89 维融合
→
LightGBM
梯度提升树二分类打分
→
概率 + 证据树
恶意概率与可解释的调用链证据
核心技术
CFTQ 查杀云搭载的 CSafe Starlight V3 引擎为人工自研架构,具备多项独有优势。
tosSPM 语义解析引擎
先进的语义挖掘、分析引擎,基于由 ternaryop8479 提出的 tosSpan 有向图频繁序列算法,突破了通用序列挖掘算法的时间复杂度极限,能够在超大规模数据集上执行训练,解析外部调用语义识别恶意行为模式。
可解释证据树
由 tosSPM 语义解析引擎在分析过程中自然产生并导出的语义解析树,涵盖引擎解析出的恶意调用链及良性调用链,为程序行为判断提供有力证据,告别黑盒模型;支持导出证据树为 DOT 图。
API 抗混淆能力
推理时能够忽略混淆 API,确保匹配数据中含真实有效的调用链。
外部调用流程图
利用反汇编技术提取 API 调用图,还原程序的真实外部行为。
高性能 PE 分析
从程序外部调用特征提取到语义解析及机器学习推理,每一段算法和代码都经过细致的审查与优化,单文件平均分析时长约75~1500ms
源码去 AI 化
每一行代码都经过人类审查,核心源码全部由人类编写并优化,确保引擎运行高稳定、高性能,代码质量高,漏洞少。(这个屑 ternaryop8479 最讨厌别人乱动他的代码了)
三分判定
引擎输出恶意概率后,根据上下阈值进行三分判定。
安全 · benign
样本恶意概率不高于下阈值,未匹配到显著恶意调用链,可正常使用。
score ≤ 下阈值可疑 · suspicious
样本处于上下阈值之间,存在可疑特征,建议谨慎处理并进一步核查。
下阈值 < score ≤ 上阈值病毒 · malware
样本恶意概率高于上阈值,判定为恶意程序,建议立即隔离删除。
score > 上阈值API 快速入门
查杀云服务地址 https://starlight-v3.ternaryop.top
完整 API 调用文档见 ternaryop8479的博客。
API Key 申请指引
健康检查 · GET /health
curl -s https://starlight-v3.ternaryop.top/health
# {"status":"ok","model_version":"26.08.04","concurrency_in_use":0}
文件查杀 · POST /scan(三种鉴权方式)
# ① 访客模式(无 api_key,每 IP 每分钟 1 次) curl -F "file=@sample.exe" https://starlight-v3.ternaryop.top/scan # ② api_key 放请求头(不限速,最大 2 并发) curl -F "file=@sample.exe" -H "X-API-Key: $KEY" https://starlight-v3.ternaryop.top/scan # ③ api_key 放查询参数 curl -F "file=@sample.exe" "https://starlight-v3.ternaryop.top/scan?api_key=$KEY"
导出证据树 · 加查询参数 export_evidence=true
# 标准获取命令(响应中直接包含 evidence_dot 字段) curl -F "file=@sample.exe" -H "X-API-Key: $KEY" \ "https://starlight-v3.ternaryop.top/scan?api_key=$KEY&export_evidence=true" # 自动导出为 .dot 文件(用 Python 提取 evidence_dot 字段) curl -F "file=@sample.exe" -H "X-API-Key: $KEY" \ "https://starlight-v3.ternaryop.top/scan?api_key=$KEY&export_evidence=true" \ | python3 -c "import sys,json; print(json.load(sys.stdin)['evidence_dot'])"
响应字段概览
| 段 | 字段 | 类型 | 含义 |
|---|---|---|---|
| model | version | string | 模型版本 |
| model | tspm_trie_node_count | int | tosSPM Trie 节点数 |
| file | name | string | 过滤后的文件名(仅 basename) |
| file | size | int | 上传文件字节数 |
| file | machine | string | amd64 / x86_64 (64 位) / x86 (32 位) |
| file | import_count | int | 导入函数总数 |
| file | efg_node_count | int | EFG 节点数 |
| file | efg_edge_count | int | EFG 边数 |
| file | sha256 / md5 | string | 文件摘要 |
| result | type | string | benign / suspicious / malware |
| result | confidence | float | LightGBM 最终恶意概率 [0,1] |
| result | analyzing_time_ms | float | 引擎推理耗时 |
| tspm | final_score | float | tosSPM 引擎最终权重 |
| tspm | malware_score / benign_score | float | 恶意 / 良性权重 |
| tspm | malware_call_chain_count | int | 恶意调用链数 |
| tspm | benign_call_chain_count | int | 良性调用链数 |
| tspm | malware_call_count | int | 恶意 API 调用数 |
| tspm | benign_call_count | int | 良性 API 调用数 |
成功响应示例
{
"code": 0,
"model": {
"version": "26.08.04",
"tspm_trie_node_count": 6545210
},
"file": {
"name": "sample.exe",
"size": 94208,
"machine": "x86_64",
"import_count": 134,
"efg_node_count": 372,
"efg_edge_count": 1028,
"sha256": "34e640085bda4a851559bb958e59525d764240681aecc4593f04d2336ce04819",
"md5": "782c5b25d5053b83a90830e0818f7aa5"
},
"result": {
"type": "malware",
"confidence": 0.997319,
"analyzing_time_ms": 39.5
},
"tspm": {
"final_score": 0.911864,
"malware_score": 3142.782769,
"benign_score": -144.879949,
"malware_call_chain_count": 503,
"benign_call_chain_count": 95,
"malware_call_count": 1416,
"benign_call_count": 247
}
}