安全决策报告
dataify-brand-monitoring
品牌监控工具,代码存在文档未声明的阴影功能(文件写入、subprocess调用、环境变量访问),但功能本身合法且符合业务场景,无恶意指标
为什么得出这个结论
1/4 个维度触发 阻止
声明与实际能力
发现 3 项声明之外的能力或越权行为。
复核
隐藏执行与外联
提取到 3 个一般风险产物,需要结合上下文判断。
通过
攻击链与高危发现
没有形成明确的恶意路径。
复核
依赖与供应链卫生
没有完整依赖信息,供应链判断需要保留弹性。
风险分是怎么被拉高的
未声明的文件写入 +10
SKILL.md未提及会创建state.json/report.json/report.md/raw/等文件
未声明的subprocess调用 +8
代码调用subprocess执行其他技能脚本,SKILL.md仅提及run_brand_monitoring.py
未声明的环境变量访问 +7
访问DATAIFY_API_TOKEN但SKILL.md未声明
最关键的证据
低危 文档欺骗
文件写入功能未在文档声明
代码会在执行目录创建state.json、report.json、report.md和raw/子目录,但SKILL.md仅提及run_brand_monitoring.py脚本,未说明会写文件
scripts/business_workflow.py:179 在SKILL.md的Workflow部分补充说明会创建本地状态和报告文件
低危 文档欺骗
subprocess调用未在文档声明
代码通过subprocess调用其他技能脚本(serp-google-*/scraper-*等),SKILL.md仅声称使用run_brand_monitoring.py
scripts/business_workflow.py:117 补充说明会调用相关Dataify技能执行搜索和抓取
低危 文档欺骗
环境变量访问未在文档声明
代码读取DATAIFY_API_TOKEN环境变量进行API认证,但SKILL.md未声明需要此环境变量
scripts/business_workflow.py:184 在Account handling部分明确声明DATAIFY_API_TOKEN环境变量需求
声明能力 vs 实际能力
文件系统 阻止
声明 READ
→ 推断 WRITE
scripts/business_workflow.py:179-181 命令执行 阻止
声明 NONE
→ 推断 WRITE
scripts/business_workflow.py:117-118 环境变量 阻止
声明 NONE
→ 推断 READ
scripts/business_workflow.py:184 网络访问 通过
声明 READ
→ 推断 READ
scripts/business_workflow.py:143-162 可疑产物与外联
中危 外部 URL
https://dashboard.dataify.com/login?utm_source=skill SKILL.md:50
中危 外部 URL
https://scraperapi.dataify.com/request scripts/business_workflow.py:152
中危 外部 URL
https://webunlocker.dataify.com/request scripts/business_workflow.py:161
依赖与供应链
没有结构化依赖告警。
文件构成
4 个文件 · 514 行
Python 2 个文件 · 452 行Markdown 1 个文件 · 55 行YAML 1 个文件 · 7 行
需关注文件 · 2
scripts/business_workflow.py 文件写入功能未在文档声明 · subprocess调用未在文档声明 · 环境变量访问未在文档声明 · https://scraperapi.dataify.com/request · https://webunlocker.dataify.com/request
SKILL.md https://dashboard.dataify.com/login?utm_source=skill
其他文件 · openai.yaml · run_brand_monitoring.py
安全亮点
使用标准库,无第三方依赖风险
网络请求目标明确为Dataify官方API
功能逻辑清晰,为合法的品牌监控业务
有dry-run模式支持安全测试
有max-actions参数限制执行范围
无凭证收割、远程代码执行、Base64混淆等恶意指标