T08 · Insecure Dependencies
- Location
scripts/bitstamp.py:39- Finding
Unpinned privileged CCXT dependency creates supply-chain risk
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a disclosed Bitstamp trading helper, but its live-trading safety controls have material weaknesses that warrant review before installation.
Install only if you understand this can place real Bitstamp trades with your API key. Use an API key with no withdrawal permission, enable IP allowlisting, pin and review the ccxt dependency, and do not rely on the daily cap or kill switch as fully reliable until the locking, cancellation reporting, and numeric validation issues are fixed.
scripts/bitstamp.py:39Unpinned privileged CCXT dependency creates supply-chain risk
scripts/bitstamp.py:136Race condition allows concurrent orders to exceed the daily trading limit
scripts/bitstamp.py:452Kill switch falsely reports that failed order cancellations succeeded
scripts/bitstamp.py:200Non-finite and non-positive values can bypass local trading guardrails
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
Referenced artifact was not completely inspected
All commands use the script at `scripts/bitstamp.py`. Run via:
The skill exposes sensitive capabilities related to environment access and file read/write, but it does not declare any explicit tool scope or permissions boundaries. In a trading skill, this is especially dangerous because environment variables are expected to contain Bitstamp API credentials, and file access could enable unauthorized reading or persistence of sensitive data, making the agent's effective privileges broader than the user can easily assess.
Data from a source is assigned to a variable that is later passed to a sink, creating a variable-mediated taint flow.
"action": action,
**details,
}
with open(LOG_FILE, "a") as f:
f.write(json.dumps(entry) + "\n")
return entry
No suspicious patterns detected.