Back to skill

Security audit

NOFX AI Trading

Security checks for vulnerabilities and agentic risk

Overview

This crypto-trading skill is mostly coherent, but it includes live-trading controls and unsafe deployment/update instructions without enough safeguards.

Install only after reviewing the NOFX deployment source yourself, pinning installers/images to immutable releases or checksums, using HTTPS end to end, storing secrets outside shared workspace files, and requiring explicit confirmation before any strategy activation, trader start/stop, exchange API permission change, or fund transfer. Start with testnet or isolated sub-accounts with limited funds and withdrawal permissions disabled.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (6)

T03 · Remote Payload Retrieval and Execution

Error
Location
references/deployment.md:7
Finding

Unverified Remote Installer Is Piped Directly into Bash

Content
View full analysis
Remediation
View remediation
/install.sh" echo " install.sh" | sha256sum -c - less install.sh bash install.sh ``` ]]>

T03 · Remote Payload Retrieval and Execution

Error
Location
references/faq.md:26
Finding

FAQ Recommends Executing a Mutable Remote Update Script

Content
View full analysis
Remediation
View remediation

T03 · Remote Payload Retrieval and Execution

Error
Location
references/deployment.md:15
Finding

Mutable Deployment Definitions and Unpinned Build Dependencies Are Executed

Content
View full analysis
Remediation
View remediation
``` 7. Require committed and reviewed Go and npm lockfiles. 8. Use reproducible installation commands such as `npm ci` where an appropriate lockfile is present. 9. Add dependency and container-image signature verification to the documented workflow. 10. Run builds and containers with non-root users and narrowly scoped filesystem and network permissions. ]]>

T08 · Insecure Dependencies

Error
Location
references/faq.md:13
Finding

FAQ Pulls a Mutable Latest Container Image

Content
View full analysis
Remediation
View remediation
``` 2. Publish signed release images and verify them with an appropriate container-signing mechanism. 3. Document the expected image version, digest, provenance, and release notes. 4. Scan each release image for known vulnerabilities and embedded secrets. 5. Run the container as a non-root user with a read-only root filesystem where practical. 6. Remove unnecessary Linux capabilities, mounts, ports, and network access. 7. Require explicit review before changing the pinned image digest. ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/nofx-api.sh:29
Finding

NOFX API Key Is Exposed in Request URLs

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
references/webhooks.md:30
Finding

Telegram Bot Token Is Exposed in Command-Line URL Arguments

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (38)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The code clearly supports part of the declared description: it integrates with NOFX endpoints for crypto market data, AI signals, fund flow tracking, OI monitoring, and related market analysis. However, the declared purpose is substantially broader than what this code chunk actually does. The script is only a command-line API fetcher for read-oriented data endpoints. It does not implement or expose functionality for strategy creation or management, trader control/management, backtesting, automated reporting, or any AI debate arena features. There is no evidence of order execution, account/trader administration, report generation, or strategy lifecycle operations. So while the description is directionally related, it materially overstates the capabilities present in this supplied code chunk.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill instructs an agent to create, save, and activate trading strategies without any safety gating, suitability warning, or explicit confirmation step. In the context of a live crypto trading platform, activating a strategy can directly lead to real-money losses, unintended orders, or autonomous trading behavior based on parsed natural-language instructions.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The trader management section allows creation and starting or stopping traders through browser automation without requiring confirmation or warning about account impact. Because these actions can start autonomous trading or interrupt existing positions and protections, an incorrect or manipulated instruction could cause immediate financial harm.

Content

No source excerpt is available for this finding.

Chaining Abuse

High
Category
Tool Misuse
Confidence
99% confidence
Finding

The pipe into bash removes the user's chance to inspect downloaded content before execution and is a well-known dangerous command-chaining pattern. If the remote content is altered, arbitrary shell commands run immediately on the host.

Content

Scanner excerpt · references/deployment.md (reported line 8)May include surrounding context.

一键安装 (Linux/macOS)

bash
curl -fsSL https://raw.githubusercontent.com/NoFxAiOS/nofx/main/install.sh | bash

安装完成后访问: http://127.0.0.1:3000

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The server deployment section explicitly recommends HTTP with transport encryption disabled by default and does not warn about confidentiality or integrity risks. For a trading platform handling API keys, trader control, and potentially sensitive market actions, unencrypted access can expose credentials, session tokens, and administrative actions to interception or tampering.

Content

No source excerpt is available for this finding.

Chaining Abuse

High
Category
Tool Misuse
Confidence
99% confidence
Finding

The same dangerous curl-to-bash chaining is recommended for server deployment, where compromise is especially serious because the host may be internet-exposed and hold production credentials. Combined with the nearby advice to use HTTP, this increases operational risk for a trading system deployment.

Content

Scanner excerpt · references/deployment.md (reported line 95)May include surrounding context.

默认禁用传输加密,可直接通过 IP 访问:

bash
curl -fsSL https://raw.githubusercontent.com/NoFxAiOS/nofx/main/install.sh | bash
# 访问: http://YOUR_SERVER_IP:3000

Chaining Abuse

High
Category
Tool Misuse
Confidence
99% confidence
Finding

Using a pipe-to-bash chain for updates creates a recurring remote-code-execution workflow, making compromise of the upstream script an efficient way to reach existing installations. This is particularly sensitive in a trading platform context where hosts may store exchange credentials and automation logic.

Content

Scanner excerpt · references/deployment.md (reported line 112)May include surrounding context.

每日运行以获取最新版本:

bash
curl -fsSL https://raw.githubusercontent.com/NoFxAiOS/nofx/main/install.sh | bash

初始配置

Chaining Abuse

High
Category
Tool Misuse
Confidence
99% confidence
Finding

The pipe into 'bash' turns external content retrieval into immediate execution, removing the opportunity for user inspection and greatly increasing exploitation likelihood. Given this skill supports crypto trading operations, a malicious or compromised script could steal credentials, modify bots, redirect trades, or fully compromise the trading server.

Content

Scanner excerpt · references/faq.md (reported line 28)May include surrounding context.

bash
# Re-run installation script
curl -fsSL https://raw.githubusercontent.com/NoFxAiOS/nofx/main/install.sh | bash

Q: Will data be lost?

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding

The skill includes shell usage examples and operational instructions but does not declare an explicit tool scope such as allowed tools or permissions. That creates an authorization ambiguity where an agent may use shell capabilities more broadly than intended, increasing the chance of unintended command execution or unsafe handling of credentials and trading operations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill tells users to store API and account-related credentials in a workspace file without any secret-handling guidance. Workspace files are commonly readable by tools, agents, logs, backups, or source control, so this pattern increases the likelihood of credential leakage that could expose market data access, browser identity, or potentially linked trading operations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The guide gives direct instructions to start or stop live traders via browser automation without any warning to verify user intent, confirm account/environment, or require a human approval step. In a crypto trading context, these are consequential actions that can immediately alter live market exposure, so omission of safeguards materially increases the chance of accidental or unauthorized trading changes.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The import/export workflow describes moving strategy JSON without warning about sensitive data exposure, provenance validation, or overwrite risks. In this skill's context, exported strategies may contain proprietary logic or risky configuration, and imported JSON could unintentionally replace settings or introduce unsafe trading behavior if used without review.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The documentation instructs users to fetch a remote shell script and pipe it directly into bash, which executes unreviewed network content immediately. If the upstream repository, CDN path, or transport chain is compromised, users could run arbitrary code with their local privileges without an opportunity to inspect the script first.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/deployment.md (reported line 17)May include surrounding context.

bash
# 下载并启动
curl -O https://raw.githubusercontent.com/NoFxAiOS/nofx/main/docker-compose.prod.yml
docker compose -f docker-compose.prod.yml up -d

# 管理命令

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The guide tells users to download a remote Docker Compose file and immediately start it, which causes arbitrary container images, ports, volumes, and environment settings from network-fetched content to be trusted by default. A malicious or compromised compose file could start unsafe services, expose secrets, mount sensitive host paths, or run attacker-controlled images.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The Windows instructions repeat the same unsafe pattern of downloading a remote compose file and launching it without review. This can lead users to run untrusted containers and host mappings on their systems with little visibility into what is being started.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · references/deployment.md (reported line 65)May include surrounding context.

brew install ta-lib

Ubuntu/Debian

sudo apt-get install libta-lib0-dev

text

### 安装步骤

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The update instructions again tell users to execute a remotely hosted script directly in bash, compounding supply-chain risk because this action is encouraged as a recurring maintenance workflow. Repeated unattended execution increases the blast radius of any compromise of the script source or delivery path.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The document gives step-by-step instructions for creating live trading API keys with trading permissions across multiple exchanges, but it does not clearly warn that these keys can immediately authorize real-money trades and losses if misused, misconfigured, or supplied to an untrusted integration. In a crypto trading skill, this omission is more dangerous because users are likely to follow the steps directly and connect production accounts, increasing the chance of financial loss from operator error, compromised systems, or unsafe downstream tooling.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The FAQ recommends pulling a Docker image using the floating 'latest' tag, which is mutable and can change over time without notice. This weakens supply-chain integrity because users cannot verify they are getting the expected build, and a compromised or accidentally replaced image could be deployed.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
99% confidence
Finding

The FAQ instructs users to download and immediately execute a remote shell script via 'curl ... | bash' without any integrity verification, review step, or warning. If the GitHub source, transport path, or referenced branch is tampered with, arbitrary code would run on the user's system with the user's privileges.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This document provides detailed leveraged grid-trading configuration examples, expected return calculations, and strategy recommendations without any explicit warning that users can lose all invested capital, that leverage amplifies losses, or that the content is not personalized financial advice. In a trading skill context, omission of these warnings can encourage unsafe real-money use by inexperienced users and materially increases the chance of harmful decision-making.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

Lines L098-L100 instruct the user to create sub-accounts and transfer funds, which can affect user assets and may be difficult to reverse if done incorrectly. The document provides procedural steps but no warning to confirm account identity, amounts, or exchange-side implications before moving funds.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The configuration schema sets "language": "zh" as a fixed value in the example, which indicates a locale/language constraint without any user opt-in or explanation. This matches the policy concern for forcing a specific language unless the skill offers choice or documents a justified regional scope.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The second strategy example again hard-codes "language": "zh", reinforcing a forced locale behavior rather than presenting language as user-selectable. Because no opt-in, alternatives, or regional justification are provided in the surrounding text, this is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.