T08 · Insecure Dependencies
- Location
SKILL.md:104- Finding
Unpinned External Skill Installation Allows Mutable Supply-Chain Code
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This setup skill is coherent, but it installs and executes unpinned companion code that can persist inside the OpenClaw gateway path.
Install only if you trust both this setup skill and the companion @daveangelcode/topical package. Prefer a pinned or reviewed companion version, inspect the transform before copying it into ~/.openclaw/hooks/transforms, do not expose Agent API keys or hooks.token, and keep a backup of ~/.openclaw/openclaw.json before running the setup.
SKILL.md:104Unpinned External Skill Installation Allows Mutable Supply-Chain Code
scripts/copy-transforms.sh:5Environment-Controlled Transform Installer Executes an Arbitrary Local Program
scripts/verify-migration.sh:4Environment-Controlled Verification Script Allows Arbitrary Code Execution
The skill’s stated purpose is Topical/OpenClaw integration, but it also instructs the agent to execute auxiliary scripts from a sibling skill/repo path (copy-transforms.sh, verify-migration.sh). That expands the trust boundary to external code not fully described in the metadata, creating supply-chain and unexpected-execution risk if those scripts are modified or malicious.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
Or manually:
mkdir -p ~/.openclaw/hooks/transforms
cp <topical-skill>/assets/topical-inbound.mjs ~/.openclaw/hooks/transforms/
cp <topical-skill>/assets/topical.config.example.json ~/.openclaw/hooks/transforms/topical.config.json
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Optional live probe (requires public URL):
curl -sS -X POST "https://<PUBLIC_GATEWAY_HOST>/hooks/topical-inbound" \
-H "Authorization: Bearer <hooks.token>" \
-H "Content-Type: application/json" \
-d '{"type":"topic_breaking_news","topicId":"test","breakingNewsId":"probe","title":"Setup probe","summary":"Ignore","relevanceScore":0,"sources":[],"deliveredAt":"2026-01-01T00:00:00.000Z"}'
No suspicious patterns detected.