# 威胁情报查询工具特有坑与边界 ## 数据质量:无结果 ≠ 干净 - **私有/未收录样本查不到是常态**:VT 只有公开库——检测数 0 或 not found 只标"未见记录"并注明查询时间,用行为证据([[re-behavior]] / [[re-mem-forensics]])下结论 - **hash 误报**:单厂商签名粒度粗,聚合统计不加权——"恶意"判定要求多厂商一致 + 家族标签 + 行为证据;改名/拼接样本的旧 hash 命中要核对内容(重算 sha256 比对) - **沙箱报告假阴性**:反沙箱样本在公开沙箱里休眠/走正常分支——报告"无恶意行为"不代表真实环境无行为;结合真实环境动态分析交叉验证 ## 隐私与数据公开 - **上传即公开**:VT/Any.run/hybrid-analysis 的免费通道默认公开报告——内部/客户样本上传前确认归属与数据策略(VT 企业私有 API、脱敏后上传、或选 private 分析选项) - **查询也算数据暴露**:API 查询行为与 key 关联——批量查询内部基础设施前评估暴露面 - 拿不准先问归属方,不做默认上传([[re-analyze/platform-tips]] 敏感数据处理原则) ## API 配额与限速 - **VT 免费 key**:有日配额与分钟限速,返回 403(无效/配额)与 429(限速)——脚本循环内 sleep(如 15 秒),聚合用 /search 少发请求,jq 只取所需字段 - **hybrid-analysis**:restricted key 只能查不能提交/下载;`/search/hash` 返回体含当前限额(Api-Limits 头)——超额先等重置 - **MISP**:配额取决于实例配置(无统一限速),但大结果集(不设 limit)会拖垮实例——查询带 `limit` + `page` 分页 ## API 版本与端点漂移 - **VT v2 → v3**:v2 的 `/vtapi/v2/*` 与 `/graph` 路径已废弃;v3 统一 `/api/v3/`,鉴权头 `x-apikey`——旧脚本 404 先查端点是否 v3 化(如 graphs 复数) - **MISP 响应结构版本差异**:restSearch 响应从 `{"response": [...]}` 演变(老版本 `.response[0].Event` 直接对象、新版本数组包一层)——jq 用 `.response[]?.Event` 兼容展开;以实例实际返回为准 - **hybrid-analysis**:`POST /search/hash` 已标记弃用(被 `GET /search/hash` 取代);`/report/summary` 弃用(用 `/report//summary`);`/report/{id}/dropped-files` 被 `-v2` 取代——按 v2.x 现文档写脚本 - **Any.run**:API 端点与鉴权以官方文档(any.run/api-documentation)为准,不同套餐能力不同——脚本化前先核对 ## 关联误判边界 - **graph/关联样本是启发式**:同 C2/同签名/同互斥体命中不代表同一家族——关联强度分级写报告(强=多属性一致,弱=单属性巧合) - **家族名口径不一**:不同厂商对同一家族命名不同——以多厂商一致名称为准,报告里注明判定依据 - **时间漂移**:历史检测/解析记录会随时间变化(下架/改名)——结论记录查询时间,复查时重新拉取 ## 使用注意 - 查询证据链:值 + 来源 + 查询时间戳逐条入档([[re-triage]] 惯例) - 外部情报是佐证不是结论:最终判定以本地静态/动态证据为准([[re-analyze/analysis-contract]])