ClawSafe · AI Skill Trust Protocolhttps://clawsafe.dev/report/4CqW8Ck
Skill Trust Decision
dex-arbitrage
Skill contains a hardcoded API key exposed in source code and makes undeclared network requests, but scripts are benign calculators and generators without malicious execution capabilities.
Install decision firstSource: ClawHubScanned: 9 days ago
Files12Artifacts52Violations1Findings3
Most direct threat evidence
HighCredential Theft
Hardcoded API Key in Source Code
A BILLING_API_KEY is hardcoded directly in payment.py line 12. This API key is exposed in the package distribution and could be stolen if the source code is accessed. API keys should be stored in environment variables, not hardcoded.
payment.py:12
Why this conclusion was reached
3/4 dimensions flagged
Block
Declared vs actual capability
1 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 1 severe findings.
Review
Dependencies and supply chain hygiene
1 dependency or supply-chain issues need attention.
What drove the risk score up
Hardcoded API key in source+25
BILLING_API_KEY hardcoded in payment.py:12 - exposed in package distribution
Undeclared network access+15
Scripts make requests to skillpay.me and crypto APIs not declared in SKILL.md
Most important evidence
HighCredential Theft
Hardcoded API Key in Source Code
A BILLING_API_KEY is hardcoded directly in payment.py line 12. This API key is exposed in the package distribution and could be stolen if the source code is accessed. API keys should be stored in environment variables, not hardcoded.
payment.py:12
Replace hardcoded key with os.environ.get('SKILLPAY_API_KEY') and document required environment variables
MediumDoc Mismatch
Undeclared Network Access
SKILL.md does not declare any network permissions, but scripts make requests to external services: skillpay.me (billing), thegraph.com (DEX data), coingecko.com (prices), curve.fi (pool data). This violates the doc-to-code matching principle.
SKILL.md:1
Add 'network:READ' to declared permissions if external API calls are intended
LowSupply Chain
Unpinned Dependency (requests library)
payment.py uses 'import requests' without version pinning, which could allow malicious updates.
payment.py:3
Add requirements.txt with pinned versions: requests>=2.28.0