Back to skill

Security audit

Ecommerce Logistics

Security checks for vulnerabilities and agentic risk

Overview

This skill appears intended to track e-commerce shipments, but it uses unsafe authenticated browser automation and stores sensitive session/order data in ways users should review carefully before installing.

Install only if you are comfortable giving the skill access to authenticated shopping sessions and local storage of account cookies. Before use, require fixes for plaintext cookie storage, the false encryption claim, security-disabling Chromium flags, hard-coded Douyin debug captures, and the unsupported JD/Douyin execution path.

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 (4)

T09 · Insecure Skill Coding Practices

Error
Location
scripts/src/core/auth-manager.ts:15
Finding

Authentication Cookies Stored as Unencrypted JSON

Content
View full analysis
{ const cookies = await this.context.cookies(); const authState: AuthState = { cookies, lastRefreshed: Date.now() }; const cookieDir = path.join(this.dataDir, 'cookies'); await fs.ensureDir(cookieDir); const cookieFile = path.join(cookieDir, `${platform}.json`); await fs.writeFile(cookieFile, JSON.stringify(authState, null, 2)); } ``` The behavior also contradicts the encryption claim in `SKILL.md:74-78`: ```md ## Cookie Storage Cookies are stored encrypted in: - Default: `~/.ecommerce-logistics/cookies/` - Each platform has separate cookie file - Auto-refresh on expiration ``` ### Technical Analysis The application retrieves the complete authenticated browser cookie collection and serializes it directly to a JSON file. No encryption, operating-system credential store, access-control mode, or secret-separation mechanism is used. Session cookies can function as bearer credentials. An actor who obtains a valid cookie file may be able to replay its contents in another browser context and access the associated e-commerce account without completing QR authentication. The 30-day application expiration check does not revoke the underlying platform cookies and only controls whether this application loads them. The application accepts a custom `--data-dir`, which also makes it possible for a user to accidentally select a shared, synchronized, backed-up, or otherwise exposed directory. ### Attack Path 1. The user performs QR authentication for Taobao, JD, PDD, or Douyin. 2. `saveCookies()` obtains all cookies from the authenticated browser context. 3. The cookies are written as readable plaintext JSON under `/cookies/.json`. 4. A local process, another a ...[truncated 719 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
scripts/src/core/stealth-browser.ts:13
Finding

Authenticated Browser Runs with Sandbox and Origin Protections Disabled

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/src/adapters/douyin-adapter.ts:48
Finding

Authenticated Douyin Order Pages Persisted as Unprotected Debug Artifacts

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
scripts/package-lock.json:563
Finding

Dependency Installation Relies on a Third-Party Registry Mirror and Lifecycle Scripts

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (41)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The documentation explicitly advertises stealth browser automation, fingerprint spoofing, webdriver hiding, and anti-bot bypass techniques, which go far beyond ordinary logistics lookup. In the context of a shopping/logistics skill handling authenticated sessions and cookies, these evasion features materially increase abuse potential, undermine platform defenses, and may facilitate unauthorized scraping or account misuse.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The documentation explicitly advertises stealth browser automation, fingerprint spoofing, webdriver hiding, and anti-bot bypass techniques, which go far beyond ordinary logistics lookup. In the context of a shopping/logistics skill handling authenticated sessions and cookies, these evasion features materially increase abuse potential, undermine platform defenses, and may facilitate unauthorized scraping or account misuse.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The documentation explicitly advertises stealth browser automation, fingerprint spoofing, webdriver hiding, and anti-bot bypass techniques, which go far beyond ordinary logistics lookup. In the context of a shopping/logistics skill handling authenticated sessions and cookies, these evasion features materially increase abuse potential, undermine platform defenses, and may facilitate unauthorized scraping or account misuse.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The documentation openly instructs use of stealth mode and anti-detection measures to bypass anti-bot protections. In this context, that is a strong red flag because it normalizes evasion of platform security controls while operating on authenticated shopping accounts, increasing the likelihood of terms-of-service violations, blocking, or misuse of session data.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding

The skill describes browser-based querying of third-party e-commerce sites, which inherently requires network access, but it does not declare any tool scope or permissions boundary. Missing scope declarations make the actual capability surface opaque to reviewers and users, increasing the chance of over-privileged execution or unexpected external communication.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The manifest says the skill supports JD and Douyin aggregation, while the documentation later says those platforms are unsupported. This inconsistency can cause users or calling systems to invoke the skill under false assumptions, potentially prompting unnecessary login attempts, cookie handling, or browser automation against unsupported services.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill persistently stores authentication cookies and saves QR-code images to disk without an up-front explicit warning in the description. In a skill that accesses consumer commerce accounts, local persistence of these artifacts creates privacy and account-takeover risk if the files are readable by other users, backups, malware, or unrelated processes.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The adapter injects stealth/anti-bot evasion by overriding browser fingerprinting surfaces such as navigator.webdriver, navigator.plugins, and permissions behavior. For a logistics-tracking skill, this exceeds what is necessary for normal automation and can facilitate access in ways that evade platform detection or policy controls, especially when combined with persistent cookies and login automation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The code silently applies browser-evasion logic without any user-facing disclosure or consent. Hidden stealth measures reduce transparency, make it harder for users to understand how their accounts are being accessed, and increase the risk that the skill is used to bypass anti-abuse mechanisms on shopping platforms.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The adapter saves a full screenshot and complete HTML of the authenticated Douyin order page to a fixed local path. Because order pages can contain sensitive personal and commerce data such as names, addresses, order IDs, tracking details, and session-derived content, this creates an unintended local data exposure channel unrelated to the advertised order-query function.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The code writes debug artifacts to hard-coded paths under a user home directory, creating persistent storage of sensitive order-page content without lifecycle controls. In a skill that handles multi-platform logistics and persistent cookies, local disk writes increase the risk of later unauthorized access by other local users, malware, backups, or support collection processes.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The adapter persists screenshot and HTML copies of a user's order page without any user-facing notice or consent flow. Given the skill's purpose of aggregating logistics data across shopping platforms, silently retaining full page contents is more dangerous because it captures more information than needed and violates data-minimization expectations.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The adapter explicitly sets Accept-Language to prefer zh-CN, which imposes a specific language/locale behavior. Under the policy, locale constraints should be user-selectable or clearly justified as region-specific; this file provides neither.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This adapter programmatically accesses a user's logged-in PDD account, enumerates orders, and extracts order, shipment, store, and tracking details without any visible consent, minimization, or disclosure controls in this file. In the context of an aggregation skill with persistent cookies and QR login, that creates a real privacy and data-handling risk because sensitive commerce data can be collected and returned automatically once session access exists.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This code navigates to the user's Taobao order history and collects potentially sensitive purchase and shipment data, including order IDs, product titles, tracking numbers, and delivery events. There is debug logging for control flow, but no confirmation prompt, user-facing notice, or explanatory comment/docstring disclosing that personal order and logistics information will be accessed and processed.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This code emits user-facing console instructions in Chinese, such as the cookie-expiry notice and re-login command guidance. Because the skill forces a specific language in its natural-language output without presenting a user choice or documenting a justified locale constraint, it violates the language/locale policy criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The progress and success messages shown during order queries are emitted only in Chinese. This is a natural-language policy issue because the skill mandates one language for interactive output without opt-in, fallback, or documented regional justification.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The code persists live authentication cookies for multiple e-commerce platforms to disk in plaintext JSON without any encryption, permission hardening, or explicit consent flow. Because these cookies likely grant account access to order history and potentially account actions, any local compromise, shared machine access, backup leak, or accidental log exposure of the data directory could enable session hijacking across Taobao, JD, PDD, or Douyin.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

Multiple console messages are hard-coded in Chinese, including login prompts, status updates, and timeout notices. This imposes a specific language on users without opt-in or explanation, which matches the policy's language/locale violation criteria.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The browser context automatically grants geolocation permission and injects a fixed Shanghai location even though order-tracking functionality does not inherently require location access. This creates unnecessary collection and spoofing of sensitive context data, can misrepresent the user's region to third-party services, and expands privacy risk without clear user consent or a documented business need.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The context forces locale, timezone, and regional settings to Chinese/Shanghai values without exposing a user choice or documenting why this is necessary. This can misrepresent the user's environment to external services, affect account behavior or fraud controls, and process region-linked data in a way the user did not authorize.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The file contains extensive anti-detection and fingerprint-evasion logic, including disabling browser security features, hiding automation markers, mocking Chrome/runtime objects, and altering WebGL and plugin fingerprints. In the context of a logistics-query skill, this goes well beyond normal compatibility measures and is consistent with trying to evade platform bot detection and access services under false pretenses, which can facilitate unauthorized scraping or account abuse.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This code presents user-facing text such as the banner, totals, data directory label, platform names, and order field labels only in Chinese. Under the policy, forcing a specific language without opt-in is a natural-language policy violation unless the locale restriction is explicitly documented and justified, which is not shown here.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The feature section describes the skill as multi-platform and the architecture lists jd-adapter.ts and douyin-adapter.ts, creating the impression those integrations are part of intended functionality. Later usage and support-status sections explicitly contradict that by saying JD and Douyin are unsupported.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: esbuild==0.27.4 — 1 advisory(ies): GHSA-g7r4-m6w7-qqqr (esbuild allows arbitrary file read when running the development server on Window)

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.