Back to skill

Security audit

Amazon 产品需求整理

Security checks for vulnerabilities and agentic risk

Overview

This skill is a real ARI/Amazon review assistant, but it grants broader paid, monitoring, export, and account-changing powers than its narrow product-requirements description suggests.

Install only if you intend to use ARI as a broader Amazon review operations tool, not just a narrow requirements organizer. Before using it, review or turn off auto-confirm billing, understand that it can save an API key locally, create ongoing monitoring/schedules, change remote workbench state, and export report or review data to local files.

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
Findings (1)

T01 · Skill Instruction Hijacking

Note
Location
SKILL.md:233
Finding
Mandatory Vendor Link Injection into Agent Responses<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:233-235` **Vulnerability Type**: Forced output modification and promotional link injection **Risk Level**: Low ### Complete Vulnerable Instruction ```markdown At the end, briefly list the ASIN/site, sample size, statistical window (`_window.days`), the returned `reportId` and `creditsUsed`, and the current balance. When the output contains `reportUrl`, it must be appended at the end using the fixed wording: “View the complete chart-based report online / Export: <reportUrl>” (login to the account that owns the report is required). ``` This is an English rendering of the complete instruction segment at the cited location. ### Technical Analysis The Skill requires the agent to append vendor-prescribed wording and a vendor-controlled report URL whenever an API response contains `reportUrl`. This is not merely a structured result field: it dictates the content and placement of text in the agent's final response. Because the instruction is automatically loaded as part of the Skill, it modifies how the agent communicates with the user and creates a persistent promotional output pattern within the current session. The link points to the pinned vendor origin, `https://ari.funewa.com`, and the audit found no evidence that the URL is used to retrieve or execute code. Nevertheless, mandatory insertion exceeds the minimum output control needed to organize Amazon review information into product requirements. ### Attack Path 1. A user invokes the Amazon product-requirements Skill. 2. The Skill sends an authenticated request to the ARI service for a report. 3. The service returns a response containing a `reportUrl`. 4. The loaded Skill instruction requires the agent to place that URL at the end of its response. 5. The agent inserts the fixed vendor-provided promotional wording even when the user did not request an online report or export link. 6. The user may follow the link and be redirected from the con ...[truncated 1060 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove the requirement that the link and fixed wording must always appear at the end of the response. 2. Return `reportUrl` as an optional structured result field rather than an agent-output directive. 3. Display the URL only when: - the user explicitly requests an online report, export page, chart view, or share link; or - the agent determines that the link is directly relevant and clearly labels it as optional. 4. Replace the fixed promotional sentence with neutral wording, such as: ```markdown Optional online report: <reportUrl> ``` 5. Preserve user formatting preferences, including requests for concise output or responses without external links. 6. Continue validating report URLs against the pinned HTTPS origin before presenting them. 7. Treat all remotely returned display text and URLs as untrusted data and prevent API responses from introducing new agent instructions. ]]>
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (79)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
The declared purpose says the skill is only for organizing product requirements, but the instructions authorize far broader behaviors: account setup, key storage, paid collection/analysis, scheduling, watch management, exports, and operational workflows. This mismatch can mislead users and reviewers into granting trust and permissions to a skill whose real actions include state-changing and billable operations.

Ae1

High
Category
analysis-evasion
Content
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Description-Behavior Mismatch

High
Confidence
95% confidence
Finding
The code performs paid review collection, task submission, waiting, and recurring subscription-style monitoring even though the manifest claims the skill is only for requirement organization. This hidden expansion of capability creates a real risk of unauthorized charges and long-lived monitoring actions if an agent or user invokes the tool based on the narrower declared purpose.

Context-Inappropriate Capability

High
Confidence
93% confidence
Finding
Watch monitoring, alerts, benchmark, and leaderboard analytics are context-inappropriate for a requirements-synthesis skill and meaningfully broaden its authority. In practice, this allows the tool to create persistent monitoring relationships and perform analytics outside user expectations, increasing the risk of unauthorized surveillance-like behavior, spending, or business-side effects.

Description-Behavior Mismatch

High
Confidence
96% confidence
Finding
The skill exposes broad operational capabilities—product operations workflows, monitoring, alerts, exports, workbench actions, and competitor management—that go well beyond the manifest’s stated purpose of organizing Amazon reviews into product requirements. In an agent setting, this scope mismatch is dangerous because a caller may trust the manifest and unknowingly grant a tool the ability to trigger paid actions, mutate remote state, and exfiltrate data to local files under a misleading requirements-only label.

Context-Inappropriate Capability

High
Confidence
94% confidence
Finding
Workbench status mutation and paid AI advice generation are action-oriented workflows unrelated to synthesizing product requirements. They can alter remote records and trigger charges, so including them in a requirements-focused skill materially increases the chance of unsafe agent use under false assumptions about the tool’s purpose.

Intent-Code Divergence

High
Confidence
98% confidence
Finding
The file presents the skill as limited to requirement organization, yet the same document details monitoring, operations, alerts, rankings, and export workflows. This internal contradiction is dangerous because it can be used to downplay the skill’s true authority and behavior, undermining informed consent, security review accuracy, and least-privilege decisions.

Description-Behavior Mismatch

High
Confidence
97% confidence
Finding
The usage guide advertises capabilities such as alerts, ongoing monitoring, quoting, and CSV export that materially exceed the manifest’s stated scope of merely organizing review pain points into product requirements. This creates a scope-deception problem: users and host systems may grant trust, permissions, or approvals appropriate for a narrow analytical skill while the documented behavior enables broader operational actions and data movement.

Description-Behavior Mismatch

High
Confidence
97% confidence
Finding
The documented operational audit/report workflows go beyond passive requirements organization into account capability checks, quoting, request-based execution, and status retrieval for operational reports. That mismatch can enable unauthorized or unexpected actions under a misleadingly narrow skill identity, increasing the risk of consent bypass, unintended spend, and overbroad data access.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
This markdown file uses only Chinese for user-facing natural language across the changelog entries. The stated policy flags forced language or locale without user opt-in, and there is no indication here that the skill is region-specific or that users can choose another language.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The skill instructions are entirely in Chinese and the recommended invocation phrases are only provided in Chinese, which implies a fixed language for use. The file does not offer an opt-in language choice or explain that the skill is intentionally limited to Chinese-speaking users or a China-specific compliance context.

Lp3

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding
The skill declares no explicit tool scope despite directing use of shell, network, environment variables, and local file writes. That omission weakens sandboxing and review controls, making it easier for the skill to access sensitive local state, persist credentials, and execute commands beyond a narrowly justified purpose.

Vague Triggers

Medium
Confidence
92% confidence
Finding
The natural-language trigger is broad enough to activate on ordinary discussion about Amazon products, reviews, or trends, increasing the chance of unintended tool use. In this skill, that matters because downstream actions include API calls and potentially billable or state-changing workflows, so ambiguous activation boundaries create real risk.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
1. 运行 `check`,确认账户、邮箱验证状态和可用积点。
2. 用户要 VOC / 评论分析报告时,默认运行 `voc <ASIN> --site <站点>`。
   **返回里有 `autoConfirmed: true` 就说明已经直接生成了**(1.4.5 起:服务端对前几次小额
   付费操作免确认,用户先拿到结果再谈钱),此时把报告讲给用户,并转述 `autoConfirmNote`
   (本次扣了多少、还剩几次免确认、之后会先问)。**不要在拿到结果后再补问「要不要生成」。**
3. 返回 `confirmationRequired: true` 才需要用户确认:报出 `totalCredits` 与余额,
Confidence
94% confidence
Finding
This instruction permits the skill to proceed with a paid report generation path based on server-side auto-confirm behavior without obtaining an immediate per-action confirmation from the user. Even if the backend allows it, the agent is being told to execute a billable action autonomously, which can cause surprise charges and actions the user did not clearly approve in the current interaction.

Static analysis

No suspicious patterns detected.