Back to skill

Security audit

Gprophet Api

Security checks for vulnerabilities and agentic risk

Overview

The skill has a clear market-analysis purpose, but its unpinned MCP package execution and unrestricted webhook callbacks should be reviewed before installation.

Install only if you trust the G-Prophet package source and are comfortable sending market queries and analysis requests to its external service. Prefer pinning a reviewed gprophet version, using a limited-scope API key with quotas, and avoiding callback_url unless it is an HTTPS endpoint you control and expect to receive the analysis result.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
README.md:35
Finding

Unpinned Third-Party Package Installation and Automatic Execution

Content
View full analysis
Remediation
View remediation
" ``` 2. Publish cryptographic hashes for approved distributions and require hash verification: ```text gprophet== \ --hash=sha256: ``` 3. Supply a lockfile or requirements file generated from reviewed artifacts, and install with hash enforcement: ```bash pip install --require-hashes -r requirements.txt ``` 4. Pin the `uvx` source to an exact version rather than allowing it to resolve the latest package: ```json { "command": "uvx", "args": ["--from", "gprophet==", "gprophet-mcp"] } ``` 5. Identify the authoritative package registry page, source repository, publisher identity, and release-signing process in the documentation. 6. Include the MCP server source in the audited artifact, or link each package release to an immutable source commit so reviewers can verify the executed implementation. 7. Run the MCP server in an isolated environment with restricted filesystem and network access. Supply a limited-scope API key with conservative quotas rather than a broadly privileged production key. 8. Document a package-update review process that verifies source changes, package provenance, signatures, and artifact hashes before changing the pinned version. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (11)

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 · README.md (reported line 26)May include surrounding context.

Quick Example

bash
curl -X POST "https://www.gprophet.com/api/external/v1/predictions/predict" \
  -H "X-API-Key: $GPROPHET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"symbol": "AAPL", "market": "US", "days": 7}'

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 · SKILL.md (reported line 198)May include surrounding context.

Example Request:

bash
curl -X POST "https://www.gprophet.com/api/external/v1/predictions/predict" \
  -H "X-API-Key: gp_sk_[REDACTED]_your_key" \
  -H "Content-Type: application/json" \
  -d '{"symbol": "AAPL", "market": "US", "days": 7, "algorithm": "auto"}'

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 · SKILL.md (reported line 247)May include surrounding context.

Example Request:

bash
curl -X POST "https://www.gprophet.com/api/external/v1/predictions/compare" \
  -H "X-API-Key: gp_sk_[REDACTED]_your_key" \
  -H "Content-Type: application/json" \
  -d '{"symbol": "TSLA", "market": "US", "days": 5, "algorithms": ["gprophet2026v1", "lstm", "transformer"]}'

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 · SKILL.md (reported line 413)May include surrounding context.

Example Request:

bash
curl -X POST "https://www.gprophet.com/api/external/v1/market-data/batch-quote" \
  -H "X-API-Key: gp_sk_[REDACTED]_your_key" \
  -H "Content-Type: application/json" \
  -d '{"symbols": ["AAPL", "TSLA", "GOOGL"], "market": "US"}'

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 · SKILL.md (reported line 477)May include surrounding context.

Example Request:

bash
curl -X POST "https://www.gprophet.com/api/external/v1/technical/analyze" \
  -H "X-API-Key: gp_sk_[REDACTED]_your_key" \
  -H "Content-Type: application/json" \
  -d '{"symbol": "AAPL", "market": "US", "indicators": ["rsi", "macd", "bollinger", "kdj"]}'

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 · SKILL.md (reported line 592)May include surrounding context.

Example Request:

bash
curl -X POST "https://www.gprophet.com/api/external/v1/analysis/stock" \
  -H "X-API-Key: gp_sk_[REDACTED]_your_key" \
  -H "Content-Type: application/json" \
  -d '{"symbol": "AAPL", "market": "US", "locale": "en-US"}'

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 · SKILL.md (reported line 644)May include surrounding context.

Example Request:

bash
curl -X POST "https://www.gprophet.com/api/external/v1/analysis/comprehensive" \
  -H "X-API-Key: gp_sk_[REDACTED]_your_key" \
  -H "Content-Type: application/json" \
  -d '{"symbol": "AAPL", "market": "US", "locale": "en-US"}'

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill explicitly supports arbitrary callback_url targets for async analysis results, but the documentation does not warn about SSRF, data exfiltration, or the need to authenticate/validate callback destinations. In an agent context, this can cause analysis results and task metadata to be POSTed to attacker-controlled endpoints or internal network services if users or upstream prompts influence the callback URL.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

This markdown file documents authenticated HTTP requests to a third-party API and provides examples that send request data off-system. It does not include any warning or disclosure about external data transmission, privacy considerations, or advising users not to send sensitive information.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill defines the report language default as zh-CN for stock analysis, which imposes a specific locale unless the user overrides it. The policy allows locale constraints when users are given a choice or explicitly opt in, but a forced default language without opt-in can violate language/locale policy expectations.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The deep analysis endpoint defaults report output to zh-CN, meaning users may receive content in a specific language without having chosen it. This is a natural-language policy concern unless the locale is user-selected or clearly justified as region-specific.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.