Back to skill

Security audit

Einstein Research — Market Breadth Analyzer

Security checks for vulnerabilities and agentic risk

Overview

The skill appears to be a real market-breadth analyzer, but it needs review because it can fetch arbitrary URLs, write reports/history locally, and gives fairly prescriptive investment guidance.

Install only if you are comfortable with a financial-analysis skill that runs Python, uses outbound network access, and writes reports/history locally. Prefer running it with the default TraderMonty URLs in an isolated workspace, avoid passing untrusted custom URLs, and treat the equity exposure guidance as informational rather than investment advice.

Vulnerability Patterns
  • 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
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (3)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/market_breadth_analyzer.py:53
Finding

Arbitrary URL Fetching Enables Server-Side Request Forgery

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/csv_client.py:50
Finding

Unbounded Remote CSV Downloads Can Exhaust Memory and CPU

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Note
Location
README.md:20
Finding

Unpinned and Unnecessary Dependency Installation Creates Supply-Chain Risk

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (9)

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

A skill that claims to fetch TraderMonty data and compute a 0-100 breadth score but instead performs testing/report validation or otherwise lacks the primary analysis logic is a material integrity problem. In this context, the danger is less classic code execution and more deceptive or unreliable operation: users may receive financial-health conclusions that are ungrounded in the stated data source or methodology, while still granting network/file privileges based on the advertised purpose.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

A skill that claims to fetch TraderMonty data and compute a 0-100 breadth score but instead performs testing/report validation or otherwise lacks the primary analysis logic is a material integrity problem. In this context, the danger is less classic code execution and more deceptive or unreliable operation: users may receive financial-health conclusions that are ungrounded in the stated data source or methodology, while still granting network/file privileges based on the advertised purpose.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

A skill that claims to fetch TraderMonty data and compute a 0-100 breadth score but instead performs testing/report validation or otherwise lacks the primary analysis logic is a material integrity problem. In this context, the danger is less classic code execution and more deceptive or unreliable operation: users may receive financial-health conclusions that are ungrounded in the stated data source or methodology, while still granting network/file privileges based on the advertised purpose.

Content

No source excerpt is available for this finding.

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
80% confidence
Finding

Skill instructs the agent to omit warnings, disclaimers, or ethical commentary. Stripping safety caveats hides risk from the user and is a common jailbreak preamble.

Content

Scanner excerpt · scripts/calculators/bearish_signal_calculator.py (reported line 15)May include surrounding context.

python
Scoring (100 = healthy):
  Base:
    Signal=False & Trend=1  -> 85 (all clear)
    Signal=False & Trend=-1 -> 50 (no warning but downtrend)
    Signal=True  & Trend=1  -> 30 (warning in uptrend)
    Signal=True  & Trend=-1 -> 10 (fully bearish)

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
80% confidence
Finding

Skill instructs the agent to omit warnings, disclaimers, or ethical commentary. Stripping safety caveats hides risk from the user and is a common jailbreak preamble.

Content

Scanner excerpt · scripts/calculators/bearish_signal_calculator.py (reported line 108)May include surrounding context.

python
if not signal_active and trend == 1:
        return 85  # All clear
    elif not signal_active and trend == -1:
        return 50  # No warning but downtrend
    elif signal_active and trend == 1:
        return 30  # Warning in uptrend
    else:  # signal_active and trend == -1

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
82% confidence
Finding

The skill declares no tool scope or permissions, yet its documented workflow explicitly invokes a Python script that downloads remote data and writes JSON/Markdown reports to disk. This creates an authority/visibility gap: hosts or reviewers may treat the skill as low-privilege while it actually depends on network and file-write capabilities, increasing the chance of unintended data access, persistence, or unsafe execution in a broader agent environment.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The module’s documented scoring rules diverge from the actual implemented logic, which can cause downstream users, reviewers, or other components to make decisions based on incorrect assumptions about how market breadth health is computed. In a financial-analysis skill, this is a real integrity issue because users may rely on the published scoring model to interpret signals, validate outputs, or compare results, and the mismatch can silently produce misleading assessments.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The scorer returns explicit trading posture recommendations such as equity exposure ranges, profit-taking, hedging, and sector rotation without any built-in disclaimer, suitability check, or requirement for independent validation. In a skill marketed for assessing market health, this can cause users to treat the output as prescriptive investment advice and make harmful financial decisions based on incomplete or stale data.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The helper writes a temporary markdown file, reads it back, and unlinks it in cleanup. Although this is test code, the safety-relevant file operations have no visible user-facing notice beyond a generic docstring, so the behavior is not explicitly disclosed under the code-file warning criterion.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.