Back to skill

Security audit

Kalshi Econ Fed Link Trader

Security checks for vulnerabilities and agentic risk

Overview

This trading skill is not clearly malicious, but it asks for high-value wallet and trading credentials with weak scoping and can execute real financial trades.

Install only after reviewing or pinning the Simmer SDK and use a dedicated low-balance wallet/API key. Keep the skill in dry-run unless you intentionally want live trades, and check the tunables because --set can change future trading behavior.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Error
Location
clawhub.json:8
Finding

Unpinned Third-Party SDK Executes in a Credentialed Trading Process

Content
View full analysis
SDK tab") sys.exit(1) venue = os.environ.get("TRADING_VENUE", "kalshi") _client = SimmerClient(api_key=api_key, venue=venue, live=live) return _client ``` ### Technical Analysis The project declares `simmer-sdk` without a version constraint or integrity hash. Consequently, installation can resolve to a package release that was not part of this audit. The dependency is imported into the same Python process that has access to a high-value trading API key and, according to the package metadata, a Solana private key. Python package code can execute immediately during import. A compromised or unexpectedly modified SDK release could therefore inspect process environment variables, redirect network requests, alter order parameters, or initiate unauthorized activity. The audited project does not contain the SDK source, so its network destinations and credential-handling implementation could not be independently verified. The use of an external SDK is consistent with the declared trading functionality. The security issue is the absence of a reproducible, integrity-veri ...[truncated 1430 chars]
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Error
Location
clawhub.json:3
Finding

Solana Private Key Is Declared as Required for Non-Live Operations

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • 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 (6)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The metadata and top-level description understate the skill's operational behavior: it can place live trades, inspect/manage positions, auto-discover markets, and requires a high-value private key not declared in the skill metadata. This mismatch is dangerous because users or automated review systems may approve or run the skill with an incomplete understanding of its financial and secret-handling capabilities, leading to unauthorized trading or exposure of wallet credentials.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding

The skill requests access to sensitive environment variables but does not declare an explicit tool or permission scope. In an agent ecosystem, this weakens least-privilege controls and makes it harder for operators to understand or constrain what secrets the skill may access, increasing the chance of unintended credential exposure or overbroad runtime access.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The manifest requests a SOLANA_PRIVATE_KEY even though the stated skill purpose only mentions a CPI/Fed trading strategy requiring SIMMER_API_KEY and simmer-sdk. Requiring a blockchain private key without clear necessity expands the secret exposure surface and could enable unauthorized signing or fund movement if later code uses that key unexpectedly.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The manifest declares a private key requirement but provides no user-facing warning, justification, or risk disclosure. This is dangerous because users may supply a sensitive signing key without understanding that the skill could potentially execute blockchain actions beyond the described CPI/Fed market logic, especially given the mismatch between description and secret requirements.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill performs side-effecting market discovery and import operations that are not reflected in the stated purpose of merely adjusting Fed positions. Even if intended to support the strategy, this expands the operational scope and can modify the user's trading environment by importing additional markets, increasing API activity and asset exposure beyond what a user would reasonably expect from the description.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

The CLI allows runtime mutation of persistent configuration via --set, but this capability is not disclosed in the skill metadata. Hidden configuration-changing behavior can surprise operators, alter future trading behavior across runs, and be abused by wrappers or automation to silently weaken safeguards such as entry thresholds, position caps, or slippage limits.

Content

No source excerpt is available for this finding.