Back to skill
Skillv1.0.0

ClawScan security

venue-polling · ClawHub's context-aware review of the artifact, metadata, and declared behavior.

Scanner verdict

SuspiciousApr 24, 2026, 3:23 AM
Verdict
suspicious
Confidence
medium
Model
gpt-5-mini
Summary
The skill's code and instructions largely match its stated purpose (polling and signature debugging), but it uses credentials and local private-key material that are not declared and can perform live requests (including creating orders), which is disproportionate and requires caution.
Guidance
This skill appears to do what it says (poll venue availability and help debug signing), but it reads a local rsa_private_key.pem and contains a hardcoded API token — neither of which are declared in the metadata. Before running it: (1) review the code yourself or have someone you trust review it; (2) do not place your real private key or production tokens in the working directory unless you trust the code and the remote endpoint; (3) remove or replace the hardcoded TOKEN and prefer an environment variable if you must supply credentials; (4) run signature-replay and verification helpers offline first (they won't contact the network) before enabling AUTO_BOOK; (5) run the scripts in an isolated environment (container/VM) and monitor outbound network traffic; and (6) be aware running venue_polling.py with AUTO_BOOK=True will attempt to create real orders on the external service, which could have financial or account consequences.
Findings
[base64-block] expected: A base64 block was detected by the pre-scan. This is expected here: the scripts and captured request include a Base64-encoded RSA signature constant used for signature verification/replay. The flagged pattern likely corresponds to the captured X-Ca-Signature or other signature material in the scripts/references rather than a prompt-injection attempt.

Review Dimensions

Purpose & Capability
noteThe name/description match the included scripts: venue_polling.py (polling + auto-booking), signature_replay_test.py and public_key_verify_test.py (offline signature debugging). The skill talks to a real external endpoint (shop.chuanshatiyuchang.cn) and includes captured requests and analysis notes — all consistent with a reverse-engineering / booking helper. However, the code embeds a hardcoded token constant (TOKEN = "0cd5cb6b21fc410dbd81bc3e6a066614") and expects a local rsa_private_key.pem file (not declared as a required credential). The presence of an embedded token and an expectation to place a private key in the working directory are not declared in the skill metadata and are disproportionate to an instruction-only skill that lists no required credentials.
Instruction Scope
okSKILL.md stays on-topic: it directs the agent to read and modify the provided scripts and to use the captured references for context. It explicitly notes the scripts expect rsa_private_key.pem. It does not instruct reading unrelated system files. One caveat: the instructions encourage modifying and running bundled scripts, which — coupled with the included code — will cause outbound network requests and possibly create live orders. The agent should not run the auto-booking behavior without explicit user consent.
Install Mechanism
noteThere is no install spec (instruction-only), so nothing is written to disk by an installer. However, the shipped Python scripts require third-party libraries (requests, cryptography) that are not declared in metadata. Running the scripts will execute code on the host and perform network I/O; users should ensure dependencies are installed from trusted sources and run in an isolated environment if needed.
Credentials
concernThe skill metadata declares no required environment variables or credentials, but the code contains an embedded 'token-user' value and reads rsa_private_key.pem from the working directory. These are sensitive: the token is effectively a credential for the external API and the private key can sign requests. The skill thus expects or uses credentials without declaring them, which is a disproportionate and unexpected privilege request and increases risk of unintended transactions or secret exposure.
Persistence & Privilege
noteThe skill is not marked 'always' and is user-invocable. It allows autonomous model invocation (the platform default), which by itself is normal. Combined with the credential/secret handling and the ability to send signed createOrder requests, autonomous runs could perform actions (e.g., place orders) if the private key or token are accessible — so run with caution and avoid granting it access to live secrets without review.