Soho
v2.0.0Initiate payments on the SOHO Pay credit layer using EIP-712 signatures.
⭐ 0· 387·0 current·0 all-time
bySULEMAN ISMAILA@max-clinch
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The skill is a payment orchestrator for the SOHO credit layer and its code requires RPC access, chain selection, and a wallet-signing backend (remote or local). Those requirements are appropriate for the described purpose. However, the registry metadata supplied to you earlier claims no required environment variables, while skill.json and SKILL.md declare multiple required env vars (RPC_URL, CHAIN_ID, SIGNER_PROVIDER, etc.) — that's an upstream metadata mismatch to verify.
Instruction Scope
Runtime instructions (scripts/pay.js and SKILL.md) restrict actions to: config validation, pre-flight credit checks on-chain, requesting EIP‑712 signatures from a user-controlled signer, and submitting spendWithAuthorization to the Creditor contract. The skill does not attempt to read unrelated files or exfiltrate secrets. Note: SOHO_API_URL is declared in config but is not actually used by the code — this is a scope/inconsistency but not an obvious data-exfiltration issue.
Install Mechanism
There is no installer specified (instruction-only from platform perspective), but code files and package.json dependencies exist. Running the skill locally will require installing Node deps (ethers, dotenv, zod). No suspicious remote download or obscure install URL is present.
Credentials
The environment variables declared (RPC_URL, CHAIN_ID, SIGNER_PROVIDER, optional WALLET_SIGNER_SERVICE_URL and SIGNER_SERVICE_AUTH_TOKEN, and a dev private key for local testing) align with the skill's needs. Sensitive values (SIGNER_SERVICE_AUTH_TOKEN, SOHO_DEV_PRIVATE_KEY) are marked sensitive in skill.json. There are no unrelated credentials requested.
Persistence & Privilege
The skill is not marked always:true and skill.json + SKILL.md indicate manual invocation with require_confirmation. The runtime script also refuses to run when SOHO_AUTONOMOUS env is set. However, the platform-level flags you were shown indicate disable-model-invocation: false (the platform default), which could allow the platform to attempt autonomous invocation; the skill defends itself by aborting in that case, but you should confirm that the platform honors the skill's manual-invocation intention and that operators do not override it.
Assessment
This skill appears to implement exactly what it claims (EIP‑712 orchestration and on‑chain settlement) — but check a few things before installing/running: 1) Verify the registry metadata mismatch: skill.json / SKILL.md require RPC_URL, CHAIN_ID, and SIGNER_PROVIDER — make sure you supply and protect those env vars. 2) Only point WALLET_SIGNER_SERVICE_URL at a trusted, user‑controlled MPC/HSM/signing service and keep SIGNER_SERVICE_AUTH_TOKEN secret; audit that service’s /sign-eip712 and /send-tx endpoints. 3) Never use SOHO_DEV_PRIVATE_KEY on mainnet; the code enforces this but double-check CHAIN_ID and DEV_ALLOW_LOCAL_KEY before running. 4) Confirm the platform invocation settings — although the skill is written to be manual-invocation-only, the platform flag you were shown suggests autonomous invocation is permitted; ensure the platform honors manual-only invocation or that you don’t enable autonomous runs. 5) Note the declared SOHO_API_URL is not used by the code — ask the author if that’s intentional. 6) Because package.json exists, running locally requires npm install; review dependencies and the contract addresses in config before sending real funds. If anything above is unclear, ask the skill author for clarifications and an integrity checksum for the package files.Like a lobster shell, security has layers — review code before you run it.
latestvk9778kgk68twh4d00wf268td1s81pkka
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
