T09 · Insecure Skill Coding Practices
- Location
scripts/bitpanda.sh:164- Finding
User-Controlled jq Filter Injection in the Price Command
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a legitimate Bitpanda portfolio helper, but it handles financial credentials and private account data with under-disclosed storage and output risks.
Review this skill before installing. Use a least-privilege Bitpanda API key if available, avoid passing secrets as command-line arguments, avoid storing the key permanently in shell profile files unless you understand the exposure, and treat all command output as private financial data. Rotate or revoke the key if it is pasted into logs, chats, dotfiles, screenshots, or shared terminals.
scripts/bitpanda.sh:164User-Controlled jq Filter Injection in the Price Command
YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).
PowerShell:
$env:BITPANDA_API_KEY = "tua-api-key-qui"
# Per renderla permanente:
[System.Environment]::SetEnvironmentVariable("BITPANDA_API_KEY", "tua-api-key-qui", "User")
Bash (Linux/Mac):
export BITPANDA_API_KEY="tua-api-key-qui"
# Per renderla permanente, aggiungi a ~/.bashrc o ~/.zshrc:
echo 'export BITPANDA_API_KEY="tua-api-key-qui"' >> ~/.bashrc
balances - Wallet Crypto con Saldi > 0Mostra tutti i wallet crypto/commodity/security con saldo maggiore di zero.
Endpoint: /v1/asset-wallets (filtrato per balance > 0)
Esempio:
bitpanda.sh balances
Output: JSON array con solo gli asset che possiedi in quantità significativa. Include:
data - Portfolio CompletThe skill instructs users to create and use a Bitpanda API key to access sensitive financial portfolio and trade data, but it does not explicitly warn that command output may expose holdings, transaction history, and other private account information in shell history, logs, screenshots, or shared terminals. In a portfolio-management context, this omission increases the risk of unintentional disclosure of sensitive financial data even if the API usage itself is legitimate.
The documentation recommends storing the Bitpanda API key persistently in user environment settings and shell startup files, but it does not warn about the risks of long-lived secrets in plaintext configuration files. This can expose the key to other local users, backups, shell inspection, dotfile syncing, or accidental publication, leading to unauthorized access to account data.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
**Soluzione:**
- Windows: Installa via Chocolatey (`choco install jq`) o scarica da [stedolan.github.io/jq](https://stedolan.github.io/jq/)
- Mac: `brew install jq`
- Linux: `sudo apt install jq` (Debian/Ubuntu)
### Output JSON Non Formattato
**Causa:** `jq` non funziona correttamente.
The script retrieves a sensitive API key from an environment variable or argument and transmits it in outbound HTTPS requests, but the help text does not clearly warn users that credentials will be used and sent to a remote service. In a portfolio-management skill handling financial account data, that omission can lead to unsafe operator assumptions, accidental credential exposure via command-line arguments, or use in environments where outbound credential transmission is not expected.
Comments, errors, and the help output are consistently Italian-language only, and there is no indication that the tool is region-specific or that users may select another language. Under the stated policy, forcing a specific language without opt-in can be a natural-language policy violation.
No suspicious patterns detected.