Back to skill

Security audit

nasdaq100-futures

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Nasdaq-100 futures quote lookup that fetches Yahoo Finance data and returns formatted results.

Install this if you are comfortable with the skill sending the requested ticker symbol to Yahoo Finance and receiving Chinese-formatted messages. Review or modify it first if you need English output, stricter symbol limits, or explicit platform permission metadata.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
- If you need a different data provider, adjust `scripts/main.js` accordingly.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding

The skill performs network access to Yahoo Finance but the skill documentation does not declare any corresponding scope or allowed-tools boundary. This creates a capability-transparency gap: reviewers and calling agents may not realize the skill reaches external services, which can weaken policy enforcement, data-flow review, and least-privilege controls.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The README states that the returned message is a human-readable Chinese summary, which imposes a specific language on output. Under the policy, forcing a language without user opt-in or documented justification is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The manifest description is presented exclusively in Chinese, which can impose a language constraint on users without any opt-in or documented locale limitation. The policy requires either offering language choice or clearly justifying a locale-specific scope.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The function and parameter descriptions are only in Chinese, which creates a natural-language locale restriction in the skill metadata. There is no indication that users can choose their preferred language or that the skill is limited to a Chinese-language environment.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The code hard-codes Chinese-language user-facing strings in both success and error paths, including the main message and parsing/query failure messages. This imposes a specific language on all users without opt-in or any documented region-specific justification, which matches the language/locale policy violation criteria.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.