网络安全情报爬虫
Analysis
The crawler’s purpose is plausible, but it uses undeclared credentials, references a missing runner that supposedly contains hardcoded secrets, and describes hourly cron-style background writes to IMA notes.
Findings (5)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
bash ~/.openclaw/workspace/skills/sec-news-crawler/scripts/run.sh ... Cron:每小时整点执行 `scripts/run.sh` ... 已在 `scripts/run.sh` 中硬编码
SKILL.md makes scripts/run.sh the main runner and says credentials are hardcoded there, but the provided file manifest does not include run.sh.
| 手动触发 cron | `run-parts /etc/cron.hourly`(系统级)|
This command triggers all system hourly cron jobs, not just this crawler, making it broader than the skill’s stated task.
每小时从多个安全社区 RSS 抓取最新文章 ... **Cron**:每小时整点执行 `scripts/run.sh`
The artifacts describe recurring autonomous execution that writes to IMA notes, but do not provide a clear bounded install, disable, or cleanup mechanism.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
IMA_CLIENT_ID = os.environ.get("IMA_OPENAPI_CLIENTID", "") ... MINIMAX_API_KEY = os.environ.get("MINIMAX_API_KEY", "") ... _cfg = os.path.join(..., "openclaw.json") ... "apiKey"The code uses IMA credentials and can read a MiniMax provider API key from local OpenClaw configuration, even though the registry metadata declares no required credentials or env vars.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
lines.append(f"## {i}. {article['title']}") ... lines.append(f"- 摘要:{article['summary']}") ... doc_id = import_doc(content, note_title, folder_id)External RSS titles and summaries are stored persistently in IMA notes.
