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.
Why this conclusion was reached
1/4 dimensions flagged3 undeclared or violating capabilities were inferred.
No obvious high-risk egress or execution signals were found.
There is no explicit malicious chain in the report.
Dependency information is incomplete, so supply-chain confidence stays limited.
What drove the risk score up
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
Most important evidence
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 Declared capability vs actual capability
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 Suspicious artifacts and egress
No obvious IOC was extracted.
Dependencies and supply chain
There are no structured dependency warnings.
File composition
scripts/unified_query.py scripts/registry.py