Back to skill

Security audit

Bitget Data

Security checks for vulnerabilities and agentic risk

Overview

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.

Vulnerability Patterns
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
config.json:2
Finding

Plaintext Bitget API credentials committed in multiple project files

Content
View full analysis
Remediation
View remediation

T06 · System Persistence

Error
Location
setup-cron.js:8
Finding

Enabled cross-session OpenClaw scheduled task with incomplete removal support

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (304)

Missing User Warnings

Critical
Category
Not specified by scanner
Confidence
100% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Critical
Category
Not specified by scanner
Confidence
99% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 94)May include surrounding context.

md
| `start-simple.js` | Start all grids |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 96)May include surrounding context.

md
| `check-balance.js` | Check account balance |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 101)May include surrounding context.

md
| `grid-optimizer.js` | Optimize grid parameters |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 102)May include surrounding context.

md
| `kline-analyzer.js` | Analyze K-line data |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 103)May include surrounding context.

md
| `trade-analyzer.js` | Analyze trade history |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 104)May include surrounding context.

md
| `quick-report.js` | Generate quick report |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 109)May include surrounding context.

md
| `dynamic-adjust.js` | Dynamic grid adjustment |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 110)May include surrounding context.

md
| `dynamic-rebalance.js` | Portfolio rebalancing |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 111)May include surrounding context.

md
| `apply-scheme-a.js` | Apply optimization scheme A |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 116)May include surrounding context.

md
| `start-eth.js` | Start ETH grid |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 117)May include surrounding context.

md
| `deploy-bnb-grid.js` | Deploy BNB grid |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 118)May include surrounding context.

md
| `buy-eth-market.js` | Buy ETH at market price |

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
89% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.dangerous_exec, suspicious.env_credential_access, suspicious.exposed_secret_literal (+1 more)

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
bitget-cli.js:89

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
quick-start.js:112

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
setup-cron.js:28

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
cancel-all-orders.js:10

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
check-balance.js:10

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
start-avax-matic.js:10

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
start-btc-grid.js:10

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
start-eth-xrp.js:10

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
start-eth.js:9

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
start-grids.js:11

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
start-simple.js:11

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
start-sol.js:10

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
test-api-debug.js:10

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
analyze-coins.js:14

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
apply-scheme-a-final.js:16

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
cancel-all-btc.js:14

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
cancel-all.js:14

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
check-prices.js:14

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
debug-orders.js:14

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
optimize-strategy.js:14

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
rebalance.js:14

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
stop-btc-grid.js:14

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
test-eth-grid.js:14

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
use-sdk.js:17

HTTPS certificate verification is disabled.

Warn
Code
suspicious.insecure_tls_verification
Location
analyze-strategy.js:66

HTTPS certificate verification is disabled.

Warn
Code
suspicious.insecure_tls_verification
Location
cancel-all-orders.js:73

HTTPS certificate verification is disabled.

Warn
Code
suspicious.insecure_tls_verification
Location
check-balance.js:65

HTTPS certificate verification is disabled.

Warn
Code
suspicious.insecure_tls_verification
Location
optimize-grids.js:73

HTTPS certificate verification is disabled.

Warn
Code
suspicious.insecure_tls_verification
Location
start-eth-xrp.js:71

HTTPS certificate verification is disabled.

Warn
Code
suspicious.insecure_tls_verification
Location
start-grids.js:78

HTTPS certificate verification is disabled.

Warn
Code
suspicious.insecure_tls_verification
Location
test-grid-api.js:65