research-archive-query
Skill is a legitimate research archive query tool but has a significant doc-to-code mismatch: SKILL.md does not declare that it uses shell:WRITE via subprocess to invoke external scripts, and it depends on unsandboxed external scripts outside its own codebase.
为什么得出这个结论
1/4 个维度触发发现 3 项声明之外的能力或越权行为。
当前没有明显的高危外联或执行信号。
没有形成明确的恶意路径。
没有完整依赖信息,供应链判断需要保留弹性。
风险分是怎么被拉高的
SKILL.md declares only filesystem:READ for output but code uses subprocess to invoke external scripts in unified_query.py, registry.py, and publish_skill.py
Code imports from alphapai-scraper scripts via dynamic WORKSPACE_ROOT path, no integrity checks
ALPHAPAI_QUERY_SCRIPT and KB_ENGINE_SCRIPT point to unsandboxed external scripts that could contain arbitrary code
No requirements.txt or pinned dependencies found
No credential theft, data exfiltration to external IPs, or obfuscation observed
最关键的证据
Undeclared subprocess/shell execution
SKILL.md does not declare shell:WRITE capability. The skill uses subprocess.run() in unified_query.py (line 76), registry.py (via adapter commands), and publish_skill.py (line 58) to execute external CLI tools. This is a doc-to-code mismatch.
scripts/unified_query.py:76 Dynamic import from external workspace scripts
The skill imports run_ai_analysis and load_settings from alphapai-scraper scripts via dynamic path calculation (WORKSPACE_ROOT / 'skills/alphapai-scraper/scripts'). These external scripts are not bundled or verified.
scripts/unified_query.py:29 Hardcoded external script paths with no integrity verification
registry.py hardcodes paths to ALPHAPAI_QUERY_SCRIPT and KB_ENGINE_SCRIPT pointing to scripts outside the skill's control. No checks verify these scripts haven't been tampered with.
scripts/registry.py:14 No dependency pinning
No requirements.txt, package.json, or Cargo.toml found. Python stdlib is used directly but third-party libraries like json, subprocess, pathlib are all built-in.
scripts/unified_query.py:1 声明能力 vs 实际能力
scripts/unified_query.py:29 - subprocess.run() scripts/registry.py:47 - subprocess via build_exact_command() scripts/publish_skill.py:58 - subprocess.run(clawhub) scripts/unified_query.py:59 - Path.write_text() for reports 可疑产物与外联
没有提取到明显 IOC。
依赖与供应链
没有结构化依赖告警。
文件构成
scripts/unified_query.py scripts/registry.py