ClawSafe · AI Skill Trust Protocolhttps://clawsafe.dev/report/o_18_v0
Skill Trust Decision
dex-arbitrage
Undeclared payment/billing system with hardcoded API key exposes credential; SKILL.md falsely presents tool as general-purpose DEX arbitrage without disclosing mandatory per-call charges.
SKILL.md describes a free DEX arbitrage assistant but payment.py silently implements a mandatory billing system charging 0.01 USDT per invocation. Users are unaware they will be charged. The _meta.json declares pricing but SKILL.md never mentions it.
payment.py:1
Why this conclusion was reached
3/4 dimensions flagged
Block
Declared vs actual capability
2 undeclared or violating capabilities were inferred.
Block
Hidden execution and egress
1 high-risk artifacts or egress signals were extracted.
Block
Attack chain and severe findings
The report includes 0 attack-chain steps and 2 severe findings.
Review
Dependencies and supply chain hygiene
Dependency information is incomplete, so supply-chain confidence stays limited.
What drove the risk score up
Doc deception - undeclared billing system+20
SKILL.md describes free arbitrage tools but payment.py charges 0.01 USDT per call; billing functionality never mentioned in docs
Hardcoded API credential in source+20
BILLING_API_KEY hardcoded in plaintext at payment.py:12 — exposes service credential to repo/public
Undeclared network access+10
SKILL.md declares no allowed-tools; payment.py silently makes HTTPS requests to skillpay.me
Silent data transmission+5
User IDs from SKILLPAY_USER_ID env var are sent to external endpoint
Most important evidence
HighDoc Mismatch
Undeclared mandatory payment/billing system
SKILL.md describes a free DEX arbitrage assistant but payment.py silently implements a mandatory billing system charging 0.01 USDT per invocation. Users are unaware they will be charged. The _meta.json declares pricing but SKILL.md never mentions it.
payment.py:1
Add prominent billing disclosure in SKILL.md including pricing (0.01 USDT/call), payment provider (skillpay.me), and required environment variables (SKILLPAY_USER_ID, SKILLPAY_API_KEY)
HighCredential Theft
Hardcoded API key exposed in source code
BILLING_API_KEY = 'sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2' is hardcoded at payment.py:12. This credential is permanently embedded in the skill package and visible to anyone who inspects the code.
payment.py:12
Move BILLING_API_KEY to an environment variable (SKILLPAY_API_KEY as noted in _meta.json), never hardcode credentials in source files
MediumDoc Mismatch
Missing allowed-tools declaration
SKILL.md declares no allowed-tools. The skill performs network requests (to skillpay.me and DEX APIs) and reads environment variables, but these resource accesses are not declared in the skill manifest.
SKILL.md:1
Add allowed-tools declaration to SKILL.md: network:READ for DEX API calls, environment:READ for SKILLPAY_USER_ID
LowData Exfil
User ID transmitted to external endpoint
verify_payment() reads SKILLPAY_USER_ID from environment and sends it to skillpay.me/api/v1/billing/* endpoints. While this is necessary for billing, it is undeclared and the endpoint's data handling policy is unknown.
payment.py:99
Document what data is sent to skillpay.me, provide privacy policy link, and consider making the endpoint configurable
Declared capability vs actual capability
Filesystem Pass
DeclaredNONE
→
InferredNONE
No file writes in code; scripts are generators/calculators only
Network Block
DeclaredNONE
→
InferredREAD
payment.py:27-30 sends POST to skillpay.me; price_monitor.py:43-49 fetches DEX prices — no declaration in SKILL.md
Shell Pass
DeclaredNONE
→
InferredNONE
No subprocess/shell execution found
Environment Block
DeclaredNONE
→
InferredREAD
payment.py:99 reads SKILLPAY_USER_ID from os.environ without declaration
Undeclared mandatory payment/billing system · Hardcoded API key exposed in source code · User ID transmitted to external endpoint · API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2" · https://skillpay.me