Back to skill
Skillv1.0.2
ClawScan security
sf-express · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
BenignMar 21, 2026, 3:30 AM
- Verdict
- benign
- Confidence
- medium
- Model
- gpt-5-mini
- Summary
- The skill is internally coherent for an SF Express helper: it stores local history/subscriptions and implements local encrypted storage, and it does not request unrelated credentials or external services — however, there are implementation issues and privacy trade-offs you should understand before installing.
- Guidance
- This skill appears to do what it claims: local tracking, estimates and local persistence for history/subscriptions/addresses. Before installing: (1) Review the code (already included) if you plan to store sensitive addresses or phone numbers. (2) Note the skill creates ~/.openclaw/data/sf-express/ and a secure/ directory with a .key file (mode 600) — verify you are comfortable with local storage. (3) The encryption implementation contains a likely bug in key derivation/usage which may undermine encryption or cause the skill to fail; ask the author to fix key handling (Fernet expects a urlsafe_b64encoded 32-byte key). (4) Install dependencies in an isolated Python virtualenv and test in a sandbox before giving it real PII. (5) If you need stronger guarantees, request that the maintainer document the encryption design or remove local storage of sensitive fields. If you want, I can point to the exact lines/changes to fix the key handling and harden storage behavior.
Review Dimensions
- Purpose & Capability
- okName/description match the included code: tracking, estimates, history, subscriptions, address storage and privacy controls. No unrelated environment variables, binaries, or external cloud credentials are requested.
- Instruction Scope
- okSKILL.md describes only SF Express workflows and explicitly documents local persistence and privacy commands. The runtime files operate on ~/.openclaw/data/sf-express and do not reference other system-wide config or unrelated paths in the shown code.
- Install Mechanism
- okThis is an instruction/code bundle with no install spec; dependencies are listed in requirements.txt (aiohttp, cryptography, etc.). No external download URLs or archive extraction are present. Installing the Python dependencies via pip is the expected mechanism.
- Credentials
- noteThe skill requests no env vars or external tokens (proportionate). It does persist user data (query history, subscriptions, addresses) on disk and stores a local key file at ~/.openclaw/data/sf-express/secure/.key (mode 600). Storing address/phone data is sensitive — the persistence is reasonable for the stated functionality but users should be aware. Also, the local encryption implementation has a suspicious/incorrect key handling pattern (PBKDF2 used with random inputs and base64 encode/decode steps) that likely breaks or weakens encryption; this is an implementation bug rather than an indication of malicious intent, but it affects the privacy guarantees.
- Persistence & Privilege
- noteThe skill persists data under the user's home directory and provides privacy commands to inspect/clear/export that data. always:false (no forced global presence). Persisting subscriptions/history/addresses is appropriate for the feature set, but because the skill stores potentially sensitive PII and a local key file, you should review or audit the storage and encryption behavior before storing secrets.
