Data Hub

ReviewAudited by ClawScan on May 10, 2026.

Overview

The skill mostly matches its in-memory data-sharing purpose, but its trading-risk write permissions rely only on caller-supplied agent names.

Use this only behind a trusted orchestrator that authenticates which agent is writing each namespace. Do not let arbitrary users or agents choose agent_id values, review risk_audit updates before they affect trading, and store optional snapshots only in a safe dedicated path.

Findings (3)

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.

What this means

A compromised or misdirected agent could write market, intelligence, or risk-control data under another agent's name, potentially affecting downstream trading decisions.

Why it was flagged

Write authorization is enforced by comparing a caller-supplied string to an expected role name. The artifacts do not show binding to a platform-authenticated agent identity, so a caller that can choose agent_id could impersonate roles such as Guard_Agent or Default_Orchestrator.

Skill content
async def push_data(self, agent_id: str, category: str, key: str, data: dict) -> dict:
    ...
    expected_agent = WRITE_PERMISSIONS[category]
    if agent_id != expected_agent:
        return {"success": False, "error": format_permission_error(agent_id, category)}
Recommendation

Bind namespace permissions to authenticated platform identities or capability tokens, not self-reported strings; restrict who can invoke write methods and audit risk_audit changes.

What this means

Bad data in the hub can be reused by multiple agents and may shape later analysis or trading recommendations.

Why it was flagged

The skill intentionally creates shared memory that any agent can summarize. This is core to the purpose, but downstream agents may over-trust stale, incorrect, or adversarially inserted shared context.

Skill content
- 任意 Agent 调用 `get_summary()` 获取全局数据快照

`self._memory` 采用三级树状结构:`category → key → value`
Recommendation

Treat hub data as untrusted input, preserve timestamps and authorship, verify important values before trading actions, and avoid exposing the global summary to agents that do not need it.

What this means

If snapshot_path is misconfigured, the skill could overwrite a user-writable file or store risk data somewhere unexpected.

Why it was flagged

The optional risk-audit snapshot writes JSON to a caller-supplied local path. This is purpose-aligned with the documented snapshot feature, but the path is not constrained to an application-specific directory.

Skill content
def save_snapshot(data: dict, path: str) -> str | None:
    try:
        with open(path, "w", encoding="utf-8") as f:
            json.dump(data, f, ensure_ascii=False, indent=2)
Recommendation

Configure snapshot_path only under a dedicated data directory, avoid sensitive or shared locations, and consider adding path allowlisting or safe-create behavior.