T09 · Insecure Skill Coding Practices
- Location
config.json:2- Finding
Plaintext Bitget API credentials committed in multiple project files
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Bitget trading skill is purpose-aligned, but it ships live-looking credentials, defaults examples to live trading, can place or cancel real orders without strong safeguards, and can add persistent OpenClaw cron behavior.
Review this skill carefully before installing. Do not run it with real exchange credentials unless you have replaced the shipped credential files, confirmed API permissions and IP restrictions, and are comfortable with scripts that can place market/limit orders, cancel existing orders, and create persistent OpenClaw reminders. Prefer paper trading or simulation first, and remove or disable cron setup unless you explicitly want recurring agent-session activity.
config.json:2Plaintext Bitget API credentials committed in multiple project files
setup-cron.js:8Enabled cross-session OpenClaw scheduled task with incomplete removal support
This is a direct disclosure of operational exchange credentials without redaction or access control. Because the file documents a ready-to-run trading automation environment with cron jobs and controller scripts, the exposed secrets materially increase the risk of immediate account compromise, unauthorized trades, data exfiltration, and potential financial loss.
This code performs authenticated POST requests to Bitget's order-placement endpoint and can submit real buy orders in a loop. Because the script defaults to simulation unless an environment variable says otherwise but still supports live credentials and does not require runtime confirmation, misuse could trigger unauthorized market activity and financial loss.
The guide contains what appear to be live Bitget API credentials, including an API key, secret key, and passphrase, embedded directly in documentation. In the context of an automated trading multi-agent setup, these secrets could allow unauthorized access to trading functions, account data, or fund movement depending on exchange permissions, making the exposure especially dangerous.
The sample config.json sets isSimulation: false, which normalizes live trading as the default example. Because this file also contains ready-to-run start commands, users may copy the config verbatim and execute real trades without appreciating that actual funds are at risk.
Referenced artifact was not completely inspected
| `start-simple.js` | Start all grids |
Referenced artifact was not completely inspected
| `check-balance.js` | Check account balance |
Referenced artifact was not completely inspected
| `grid-optimizer.js` | Optimize grid parameters |
Referenced artifact was not completely inspected
| `kline-analyzer.js` | Analyze K-line data |
Referenced artifact was not completely inspected
| `trade-analyzer.js` | Analyze trade history |
Referenced artifact was not completely inspected
| `quick-report.js` | Generate quick report |
Referenced artifact was not completely inspected
| `dynamic-adjust.js` | Dynamic grid adjustment |
Referenced artifact was not completely inspected
| `dynamic-rebalance.js` | Portfolio rebalancing |
Referenced artifact was not completely inspected
| `apply-scheme-a.js` | Apply optimization scheme A |
Referenced artifact was not completely inspected
| `start-eth.js` | Start ETH grid |
Referenced artifact was not completely inspected
| `deploy-bnb-grid.js` | Deploy BNB grid |
Referenced artifact was not completely inspected
| `buy-eth-market.js` | Buy ETH at market price |
This script immediately cancels existing pending orders and places new live orders based on local configuration, with no dry-run mode, interactive confirmation, allowlist check, or explicit execution safeguard. In a trading automation context, that is dangerous because accidental invocation, bad config data, or tampered adjustment files can directly modify market positions and disrupt active strategies, causing financial loss.
This script performs destructive and financially sensitive actions against a live exchange account: it cancels all existing orders for each symbol and then places many new orders, all without any interactive confirmation, dry-run mode, environment guard, or explicit warning at execution time. In the context of an automated trading skill, this is especially dangerous because a mistaken run, wrong config, stale strategy parameters, or compromised invocation can immediately alter live positions and cause direct financial loss.
The script immediately cancels existing orders and places new live orders against an exchange API without any interactive confirmation, dry-run mode, or safety gate. In a trading automation skill, that creates a high-risk footgun: accidental execution, misconfiguration, or unauthorized invocation can directly cause destructive account changes and financial loss.
The script performs live bulk cancellation and redeployment of exchange orders immediately when executed, with no confirmation prompt, dry-run mode, account/environment validation, or trading safeguard. In the context of an agent skill, this is dangerous because accidental or automated execution can directly alter a user's real market positions and open orders, causing financial loss or unintended market exposure.
The CLI exposes commands such as stop/cancel (cancel all orders) and buy-eth/buy-bnb (market buys), then executes the mapped scripts directly via execSync. The file shows no confirmation prompt or explicit warning that these commands may place trades or cancel orders, which are safety-critical and potentially irreversible operations.
This code submits a real authenticated buy order to the exchange with no interactive confirmation, no dry-run default, and no visible safety prompt to the user. In the context of an agent skill, that is especially dangerous because execution can directly cause financial loss or unauthorized trading if the script is triggered unintentionally or with the wrong account configuration.
The script places live market buy orders automatically as soon as it runs, with no user confirmation, dry-run mode, or final review step. In a trading context this is dangerous because accidental execution, misuse, or invocation in the wrong environment can immediately spend funds and create irreversible financial exposure.
This script places a real market buy order against a live exchange using configured API credentials with no interactive confirmation, dry-run mode, environment gating, or other execution safeguard. In the context of an agent skill, this is dangerous because accidental invocation, misuse by another component, or misunderstanding by the operator can immediately spend funds and create unwanted positions.
This script immediately cancels all open BTCUSDT spot orders as soon as it is run, with no confirmation prompt, dry-run mode, order count threshold, or account/environment safety check. In a trading automation context this is a destructive financial action that can cause unintended strategy disruption, lost execution opportunities, and accidental cancellation on a live account if environment variables are misconfigured.
Detected: suspicious.dangerous_exec, suspicious.env_credential_access, suspicious.exposed_secret_literal (+1 more)