Back to skill

Security audit

DianPing-Search

Security checks for vulnerabilities and agentic risk

Overview

The skill has a coherent Dianping lookup purpose, but it should be reviewed carefully because it handles live session cookies in unsafe, overbroad ways and promotes an unsafe installer pattern.

Install only after reviewing the code and only if you are comfortable giving this skill Dianping session cookies. Do not use the documented curl-to-bash flow, avoid passing real cookies on the command line, do not use --export in logged terminals, and rotate/revoke the Dianping session if cookie values have been printed or shared.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (4)

T03 · Remote Payload Retrieval and Execution

Error
Location
install.sh:1
Finding

Documented Remote Script Execution Through curl Piped to Bash

Content
View full analysis
/install.sh | bash # curl -fsSL /install.sh | bash -s -- /custom/path ``` ### Technical Analysis The documented installation procedure retrieves a mutable script from an unspecified remote URL and immediately executes it with `bash`. There is no version pinning, checksum verification, digital-signature validation, or opportunity to inspect the downloaded artifact before execution. Although these lines are usage instructions rather than an automatic network request inside the local installer, users following them create a direct remote-code-execution channel. The effective code being executed can change after the Skill package has been reviewed. The installer only needs to place three local files in a selected directory. Remote, unverified shell execution therefore exceeds the minimum privilege and trust necessary for the declared restaurant-search functionality. The installer’s Base64 payloads reconstruct the project’s included files; the audit found no evidence that the Base64 operation itself transmits sensitive data. Nevertheless, encoding the installer payloads makes manual review more difficult and compounds the risk of the pipe-to-shell workflow. ### Attack Path 1. An attacker compromises the server, repository, publishing account, DNS path, or other infrastructure serving `install.sh`. 2. The attacker replaces the remote installer or one of its embedded payloads with malicious shell or Python code. 3. A user follows the documented `curl -fsSL ... | bash` command. 4. The downloaded content executes immediately without integrity verification. 5. The attacker gains code execution with all privileges available to the invoking user. ### Impact Assessm ...[truncated 383 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
scripts/dianping_login.py:86
Finding

Authentication Cookies Are Stored Without Explicit Restrictive Permissions

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
scripts/dianping_login.py:128
Finding

Session Credentials Are Exposed Through Command-Line Arguments and Terminal Output

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
scripts/dianping_api.py:27
Finding

Authentication Cookies Can Be Forwarded During Unrestricted Redirect Following

Content
View full analysis
_CurlResult: """Make an HTTP GET via curl with auth cookies.""" if cookies is None: cookies = _load_cookies() cookie_str = "; ".join(f"{k}={v}" for k, v in cookies.items()) if cookies else "" cmd = [ "curl", "-s", "-L", "-w", "\n%{http_code}\n%{url_effective}", "-b", cookie_str, "-H", f"User-Agent: {UA}", "-H", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "-H", "Accept-Language: zh-CN,zh;q=0.9", "-H", "Referer: https://www.dianping.com/", "--max-time", "15", url, ] ``` ### Technical Analysis Both HTTP helpers construct a raw cookie string containing the authentication credentials and invoke `curl` with `-L`, which automatically follows redirects. The implementation does not inspect redirect targets before following them and does not enforce an exact HTTPS hostname allowlist for every request in the redirect chain. Checking `%{url_effective}` only after the request has completed is too late to prevent cred ...[truncated 1487 chars]
Remediation
View remediation
Vulnerability Patterns
  • 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
  • Memory PoisoningPersistent Context Injection, Context Window Stuffing, Memory Manipulation
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
Findings (30)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The documented purpose says the skill is for restaurant lookup, but the content also describes authentication cookie management, local persistence of session secrets, login-status checks, and manual browser-cookie extraction workflows. This mismatch is dangerous because users or orchestrators may invoke the skill under a low-risk assumption while it actually handles sensitive credentials and broader account-session operations.

Content

No source excerpt is available for this finding.

External Script Fetching

High
Category
Supply Chain
Confidence
97% confidence
Finding

The script explicitly instructs users to execute a remote installer via curl | bash, which bypasses normal review and integrity verification. If the hosting source, DNS, CDN, or transport endpoint is compromised, arbitrary code runs immediately on the user's machine.

Content

Scanner excerpt · install.sh (reported line 3)May include surrounding context.

sh
#!/usr/bin/env bash
# Dianping API - Zero-Dependency Installer
# Usage: curl -fsSL <URL>/install.sh | bash
#        curl -fsSL <URL>/install.sh | bash -s -- /custom/path
set -e

Chaining Abuse

High
Category
Tool Misuse
Confidence
96% confidence
Finding

The documented use of a pipe into bash is a classic chaining pattern that turns a network fetch directly into code execution. In the context of an installer that also contains obfuscated payloads and credential-handling helpers, this is more dangerous because users are discouraged from reviewing what will run.

Content

Scanner excerpt · install.sh (reported line 3)May include surrounding context.

sh
#!/usr/bin/env bash
# Dianping API - Zero-Dependency Installer
# Usage: curl -fsSL <URL>/install.sh | bash
#        curl -fsSL <URL>/install.sh | bash -s -- /custom/path
set -e

External Script Fetching

High
Category
Supply Chain
Confidence
97% confidence
Finding

This is the same unsafe remote-execution pattern repeated in the usage banner, including passing arguments to bash. Repetition reinforces an insecure installation practice that materially raises supply-chain risk.

Content

Scanner excerpt · install.sh (reported line 4)May include surrounding context.

sh
#!/usr/bin/env bash
# Dianping API - Zero-Dependency Installer
# Usage: curl -fsSL <URL>/install.sh | bash
#        curl -fsSL <URL>/install.sh | bash -s -- /custom/path
set -e

DIR="${1:-dianping-api}"

Obfuscated Code

High
Category
Supply Chain
Confidence
95% confidence
Finding

The installer hides the SKILL.md payload in base64, reducing transparency and making review harder before execution. Obfuscation in an installer is dangerous because it conceals exactly what content and behavior are being installed, increasing the chance that risky or malicious logic goes unnoticed.

Content

Scanner excerpt · install.sh (reported line 11)May include surrounding context.

sh
mkdir -p "$DIR/scripts"

echo "Installing SKILL.md..."
echo "LS0tCm5hbWU6IGRpYW5waW5nLWFwaQpkZXNjcmlwdGlvbjogIkRpYW5waW5nICjlpKfkvJfngrnor4QpIEFQSSBza2lsbCBmb3Igc2VhcmNoaW5nIHJlc3RhdXJhbnRzIGFuZCBidXNpbmVzc2VzLCB2aWV3aW5nIHNob3AgZGV0YWlscywgZGVhbHMvY291cG9ucywgYW5kIHJlYWRpbmcgcmVjb21tZW5kZWQgZGlzaGVzLiBVc2UgdGhpcyBza2lsbCB3aGVuOiAoMSkgdGhlIHVzZXIgYXNrcyBhYm91dCByZXN0YXVyYW50cywgZm9vZCwgb3IgbG9jYWwgYnVzaW5lc3NlcyBpbiBDaGluZXNlIGNpdGllcywgKDIpIHRoZSB1c2VyIHdhbnRzIHRvIHNlYXJjaCBkaWFucGluZy5jb20sICgzKSB0aGUgdXNlciBuZWVkcyBzaG9wIHJhdGluZ3MsIHJldmlld3MsIHByaWNlcywgZGVhbHMsIG9yIGFkZHJlc3NlcyBmcm9tIOWkp+S8l+eCueivhCwgKDQpIGFueSBxdWVyeSBpbnZvbHZpbmcgQ2hpbmVzZSBkaW5pbmcgcmVjb21tZW5kYXRpb25zIG9yIGxvY2FsIGJ1c2luZXNzIGxvb2t1cC4iCi0tLQoKIyBEaWFucGluZyBBUEkKClplcm8tZGVwZW5kZW5jeSBIVFRQIEFQSSBmb3IgZGlhbnBpbmcuY29tICjlpKfkvJfngrnor4QpLiBObyBicm93c2VyIGVuZ2luZSwgbm8gcGlwIGluc3RhbGwg4oCUIG9ubHkgYGN1cmxgIChwcmUtaW5zdGFsbGVkIG9uIG1hY09TL0xpbnV4KS4KCiMjIFByZXJlcXVpc2l0ZXMKCi0gUHl0aG9uIDMuNisKLSBgY3VybGAgKOezu+e7n+iHquW4pu+8jOaXoOmcgOWuieijhSkKCiMjIyBBdXRoZW50aWNhdGlvbiAob25seSAyIGNvb2tpZXMgbmVlZGVkKQoKT25seSBgZHBlcmAgYW5kIGBkcGxldGAgY29va2llcyBhcmUgcmVxdWlyZWQuIFN0b3JlZCBpbiBgfi8uZGlhbnBpbmcvY29va2llcy5qc29uYC4KCmBgYGJhc2gKIyBTZXQgY29va2llcwpweXRob24zIGRpYW5waW5nLWFwaS9zY3JpcHRzL2RpYW5waW5nX2xvZ2luLnB5IC0tc2V0LWNvb2tpZXMgImRwZXI9eHh4OyBkcGxldD15eXkiCgojIENoZWNrIGxvZ2luIHN0YXR1cwpweXRob24zIGRpYW5waW5nLWFwaS9zY3JpcHRzL2RpYW5waW5nX2xvZ2luLnB5IC0tc3RhdHVzCgojIENvb2tpZSBleHBpcmVkPyBHdWlkZWQgcmVuZXdhbDoKcHl0aG9uMyBkaWFucGluZy1hcGkvc2NyaXB0cy9kaWFucGluZ19sb2dpbi5weSAtLXJlbmV3CmBgYAoKIyMgQVBJIFJlZmVyZW5jZSDigJQgYGRpYW5waW5nX2FwaS5weWAKCkFsbCBjb21tYW5kcyBvdXRwdXQgKipKU09OIHRvIHN0ZG91dCoqLCByZWFkeSBmb3IgQUkgcGFyc2luZy4KCiMjIyAxLiBTZWFyY2ggU2hvcHMKCmBgYGJhc2gKcHl0aG9uMyBkaWFucGluZy1hcGkvc2NyaXB0cy9kaWFucGluZ19hcGkucHkgc2VhcmNoIDxrZXl3b3JkPiBbLS1jaXR5X2lkIE5dCmBgYAoKLSBga2V5d29yZGA6IOWkp+S8l+eCueivhOaQnOe0ouahhu+8jOaUr+aMgeiHqueUsee7hOWQiOOAguekuuS+i++8mgogIC0gKiroj5zns7sqKjogYCLlt53oj5wiYCwgYCLml6X
...[truncated 27 chars]

Obfuscated Code

High
Category
Supply Chain
Confidence
96% confidence
Finding

The installer embeds the main API Python code as base64 and decodes it at install time. This obscures executable logic from casual review and compounds the risk created by the curl | bash installation pattern.

Content

Scanner excerpt · install.sh (reported line 14)May include surrounding context.

sh
echo "LS0tCm5hbWU6IGRpYW5waW5nLWFwaQpkZXNjcmlwdGlvbjogIkRpYW5waW5nICjlpKfkvJfngrnor4QpIEFQSSBza2lsbCBmb3Igc2VhcmNoaW5nIHJlc3RhdXJhbnRzIGFuZCBidXNpbmVzc2VzLCB2aWV3aW5nIHNob3AgZGV0YWlscywgZGVhbHMvY291cG9ucywgYW5kIHJlYWRpbmcgcmVjb21tZW5kZWQgZGlzaGVzLiBVc2UgdGhpcyBza2lsbCB3aGVuOiAoMSkgdGhlIHVzZXIgYXNrcyBhYm91dCByZXN0YXVyYW50cywgZm9vZCwgb3IgbG9jYWwgYnVzaW5lc3NlcyBpbiBDaGluZXNlIGNpdGllcywgKDIpIHRoZSB1c2VyIHdhbnRzIHRvIHNlYXJjaCBkaWFucGluZy5jb20sICgzKSB0aGUgdXNlciBuZWVkcyBzaG9wIHJhdGluZ3MsIHJldmlld3MsIHByaWNlcywgZGVhbHMsIG9yIGFkZHJlc3NlcyBmcm9tIOWkp+S8l+eCueivhCwgKDQpIGFueSBxdWVyeSBpbnZvbHZpbmcgQ2hpbmVzZSBkaW5pbmcgcmVjb21tZW5kYXRpb25zIG9yIGxvY2FsIGJ1c2luZXNzIGxvb2t1cC4iCi0tLQoKIyBEaWFucGluZyBBUEkKClplcm8tZGVwZW5kZW5jeSBIVFRQIEFQSSBmb3IgZGlhbnBpbmcuY29tICjlpKfkvJfngrnor4QpLiBObyBicm93c2VyIGVuZ2luZSwgbm8gcGlwIGluc3RhbGwg4oCUIG9ubHkgYGN1cmxgIChwcmUtaW5zdGFsbGVkIG9uIG1hY09TL0xpbnV4KS4KCiMjIFByZXJlcXVpc2l0ZXMKCi0gUHl0aG9uIDMuNisKLSBgY3VybGAgKOezu+e7n+iHquW4pu+8jOaXoOmcgOWuieijhSkKCiMjIyBBdXRoZW50aWNhdGlvbiAob25seSAyIGNvb2tpZXMgbmVlZGVkKQoKT25seSBgZHBlcmAgYW5kIGBkcGxldGAgY29va2llcyBhcmUgcmVxdWlyZWQuIFN0b3JlZCBpbiBgfi8uZGlhbnBpbmcvY29va2llcy5qc29uYC4KCmBgYGJhc2gKIyBTZXQgY29va2llcwpweXRob24zIGRpYW5waW5nLWFwaS9zY3JpcHRzL2RpYW5waW5nX2xvZ2luLnB5IC0tc2V0LWNvb2tpZXMgImRwZXI9eHh4OyBkcGxldD15eXkiCgojIENoZWNrIGxvZ2luIHN0YXR1cwpweXRob24zIGRpYW5waW5nLWFwaS9zY3JpcHRzL2RpYW5waW5nX2xvZ2luLnB5IC0tc3RhdHVzCgojIENvb2tpZSBleHBpcmVkPyBHdWlkZWQgcmVuZXdhbDoKcHl0aG9uMyBkaWFucGluZy1hcGkvc2NyaXB0cy9kaWFucGluZ19sb2dpbi5weSAtLXJlbmV3CmBgYAoKIyMgQVBJIFJlZmVyZW5jZSDigJQgYGRpYW5waW5nX2FwaS5weWAKCkFsbCBjb21tYW5kcyBvdXRwdXQgKipKU09OIHRvIHN0ZG91dCoqLCByZWFkeSBmb3IgQUkgcGFyc2luZy4KCiMjIyAxLiBTZWFyY2ggU2hvcHMKCmBgYGJhc2gKcHl0aG9uMyBkaWFucGluZy1hcGkvc2NyaXB0cy9kaWFucGluZ19hcGkucHkgc2VhcmNoIDxrZXl3b3JkPiBbLS1jaXR5X2lkIE5dCmBgYAoKLSBga2V5d29yZGA6IOWkp+S8l+eCueivhOaQnOe0ouahhu+8jOaUr+aMgeiHqueUsee7hOWQiOOAguekuuS+i++8mgogIC0gKiroj5zns7sqKjogYCLlt53oj5wiYCwgYCLml6XmlpkiYCwgYCLmt67miazoj5wiYCwgYCLngavplIUiYCwgYCLopb/ppJ
...[truncated 27 chars]

Obfuscated Code

High
Category
Supply Chain
Confidence
97% confidence
Finding

The authentication helper is also hidden as base64, which is especially concerning because it handles session cookies and can export them. Concealing credential-handling code in an installer materially increases review difficulty and makes misuse harder to detect.

Content

Scanner excerpt · install.sh (reported line 17)May include surrounding context.

sh
echo "IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwoiIiJEaWFucGluZyBIVFRQIEFQSSDigJQgemVyby1kZXBlbmRlbmN5LCB1c2VzIGN1cmwgZm9yIEhUVFAuCgpVc2FnZToKICAgIHB5dGhvbjMgZGlhbnBpbmdfYXBpLnB5IHNlYXJjaCA8a2V5d29yZD4gWy0tY2l0eV9pZCBOXQogICAgcHl0aG9uMyBkaWFucGluZ19hcGkucHkgc2hvcCA8c2hvcF9pZD4KICAgIHB5dGhvbjMgZGlhbnBpbmdfYXBpLnB5IGRlYWxzIDxzaG9wX2lkPgoKQWxsIG91dHB1dCBpcyBKU09OIHRvIHN0ZG91dCBmb3IgZWFzeSBBSSBjb25zdW1wdGlvbi4KTm8gcGlwIGRlcGVuZGVuY2llcyDigJQgb25seSBjdXJsIChwcmUtaW5zdGFsbGVkIG9uIG1hY09TL0xpbnV4KS4KIiIiCgppbXBvcnQgc3lzLCBqc29uLCByZSwgc3VicHJvY2Vzcwpmcm9tIHBhdGhsaWIgaW1wb3J0IFBhdGgKZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHF1b3RlCgpDT09LSUVTX0ZJTEUgPSBQYXRoLmhvbWUoKSAvICIuZGlhbnBpbmciIC8gImNvb2tpZXMuanNvbiIKVUEgPSAiTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTRfMCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE3LjAgU2FmYXJpLzYwNS4xLjE1IgoKCmRlZiBfY29va2llcygpOgogICAgaWYgbm90IENPT0tJRVNfRklMRS5leGlzdHMoKToKICAgICAgICByZXR1cm4ge30KICAgIHJhdyA9IGpzb24ubG9hZHMoQ09PS0lFU19GSUxFLnJlYWRfdGV4dCgpKQogICAgcmV0dXJuIHtjWyJuYW1lIl06IGNbInZhbHVlIl0gZm9yIGMgaW4gcmF3fSBpZiBpc2luc3RhbmNlKHJhdywgbGlzdCkgZWxzZSByYXcKCgpkZWYgX2dldCh1cmwpOgogICAgIiIiSFRUUCBHRVQgdmlhIGN1cmwuIFJldHVybnMgKGh0bWwsIE5vbmUpIG9yIChOb25lLCBlcnJvcl9kaWN0KS4iIiIKICAgIGNrID0gX2Nvb2tpZXMoKQogICAgY29va2llX3N0ciA9ICI7ICIuam9pbihmIntrfT17dn0iIGZvciBrLCB2IGluIGNrLml0ZW1zKCkpIGlmIGNrIGVsc2UgIiIKICAgIGNtZCA9IFsKICAgICAgICAiY3VybCIsICItcyIsICItTCIsICItdyIsICJcbiV7aHR0cF9jb2RlfVxuJXt1cmxfZWZmZWN0aXZlfSIsCiAgICAgICAgIi1iIiwgY29va2llX3N0ciwKICAgICAgICAiLUgiLCBmIlVzZXItQWdlbnQ6IHtVQX0iLAogICAgICAgICItSCIsICJBY2NlcHQ6IHRleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3E9MC45LCovKjtxPTAuOCIsCiAgICAgICAgIi1IIiwgIkFjY2VwdC1MYW5ndWFnZTogemgtQ04semg7cT0wLjkiLAogICAgICAgICItSCIsICJSZWZlcmVyOiBodHRwczovL3d3dy5kaWFucGluZy5jb20vIiwKICAgICAgICAiLS1tYXgtdGltZSIsICIxNSIsCiAgICAgICAgdXJsLAogICAgXQogICAgdHJ5OgogICAgICAgIHAgPSBzdWJwcm9jZXNzLnJ1bihjbWQsIGNhcHR1cmVfb3V0cHV0PVRydWUsIHRleHQ9VHJ1ZSwgdGltZW91dD0yMCkKICAgICAgICBsaW
...[truncated 27 chars]

Missing User Warnings

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

During save and renew flows, the script prints the full dplet cookie value to stdout and partially reveals dper. Session cookies are bearer credentials; exposing them in console output can leak them to logs, terminal recording tools, support transcripts, or shoulder-surfing, leading to account takeover.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The export function emits all saved cookie names and full values with no masking or warning. This is a direct credential disclosure mechanism that materially increases the chance of token theft and unauthorized reuse.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding

The skill advertises and documents shell, network, and local file credential storage behavior but does not declare any explicit tool scope or permission boundaries. In an agent environment, this increases the chance of over-privileged execution, making it easier for the skill to read/write local files and perform network requests beyond what a user would reasonably expect.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The activation criteria are broad enough to trigger on many ordinary restaurant or recommendation requests, not just explicit Dianping lookups. In an agent setting, that can cause unnecessary use of a networked skill that accesses stored cookies and external services when a simpler, non-sensitive response path would suffice.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill instructs storage of dper and dplet cookies in a local file without an explicit warning that these are session credentials that may grant account access if exposed. Because the skill context involves local file persistence and possible shell/file access, compromised or mishandled cookies could enable unauthorized use of the user's Dianping session.

Content

No source excerpt is available for this finding.

Context Window Stuffing

Medium
Category
Memory Poisoning
Confidence
80% confidence
Finding

Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.

Content

Scanner excerpt · install.sh (reported line 14)May include surrounding context.

sh
echo "LS0tCm5hbWU6IGRpYW5waW5nLWFwaQpkZXNjcmlwdGlvbjogIkRpYW5waW5nICjlpKfkvJfngrnor4QpIEFQSSBza2lsbCBmb3Igc2VhcmNoaW5nIHJlc3RhdXJhbnRzIGFuZCBidXNpbmVzc2VzLCB2aWV3aW5nIHNob3AgZGV0YWlscywgZGVhbHMvY291cG9ucywgYW5kIHJlYWRpbmcgcmVjb21tZW5kZWQgZGlzaGVzLiBVc2UgdGhpcyBza2lsbCB3aGVuOiAoMSkgdGhlIHVzZXIgYXNrcyBhYm91dCByZXN0YXVyYW50cywgZm9vZCwgb3IgbG9jYWwgYnVzaW5lc3NlcyBpbiBDaGluZXNlIGNpdGllcywgKDIpIHRoZSB1c2VyIHdhbnRzIHRvIHNlYXJjaCBkaWFucGluZy5jb20sICgzKSB0aGUgdXNlciBuZWVkcyBzaG9wIHJhdGluZ3MsIHJldmlld3MsIHByaWNlcywgZGVhbHMsIG9yIGFkZHJlc3NlcyBmcm9tIOWkp+S8l+eCueivhCwgKDQpIGFueSBxdWVyeSBpbnZvbHZpbmcgQ2hpbmVzZSBkaW5pbmcgcmVjb21tZW5kYXRpb25zIG9yIGxvY2FsIGJ1c2luZXNzIGxvb2t1cC4iCi0tLQoKIyBEaWFucGluZyBBUEkKClplcm8tZGVwZW5kZW5jeSBIVFRQIEFQSSBmb3IgZGlhbnBpbmcuY29tICjlpKfkvJfngrnor4QpLiBObyBicm93c2VyIGVuZ2luZSwgbm8gcGlwIGluc3RhbGwg4oCUIG9ubHkgYGN1cmxgIChwcmUtaW5zdGFsbGVkIG9uIG1hY09TL0xpbnV4KS4KCiMjIFByZXJlcXVpc2l0ZXMKCi0gUHl0aG9uIDMuNisKLSBgY3VybGAgKOezu+e7n+iHquW4pu+8jOaXoOmcgOWuieijhSkKCiMjIyBBdXRoZW50aWNhdGlvbiAob25seSAyIGNvb2tpZXMgbmVlZGVkKQoKT25seSBgZHBlcmAgYW5kIGBkcGxldGAgY29va2llcyBhcmUgcmVxdWlyZWQuIFN0b3JlZCBpbiBgfi8uZGlhbnBpbmcvY29va2llcy5qc29uYC4KCmBgYGJhc2gKIyBTZXQgY29va2llcwpweXRob24zIGRpYW5waW5nLWFwaS9zY3JpcHRzL2RpYW5waW5nX2xvZ2luLnB5IC0tc2V0LWNvb2tpZXMgImRwZXI9eHh4OyBkcGxldD15eXkiCgojIENoZWNrIGxvZ2luIHN0YXR1cwpweXRob24zIGRpYW5waW5nLWFwaS9zY3JpcHRzL2RpYW5waW5nX2xvZ2luLnB5IC0tc3RhdHVzCgojIENvb2tpZSBleHBpcmVkPyBHdWlkZWQgcmVuZXdhbDoKcHl0aG9uMyBkaWFucGluZy1hcGkvc2NyaXB0cy9kaWFucGluZ19sb2dpbi5weSAtLXJlbmV3CmBgYAoKIyMgQVBJIFJlZmVyZW5jZSDigJQgYGRpYW5waW5nX2FwaS5weWAKCkFsbCBjb21tYW5kcyBvdXRwdXQgKipKU09OIHRvIHN0ZG91dCoqLCByZWFkeSBmb3IgQUkgcGFyc2luZy4KCiMjIyAxLiBTZWFyY2ggU2hvcHMKCmBgYGJhc2gKcHl0aG9uMyBkaWFucGluZy1hcGkvc2NyaXB0cy9kaWFucGluZ19hcGkucHkgc2VhcmNoIDxrZXl3b3JkPiBbLS1jaXR5X2lkIE5dCmBgYAoKLSBga2V5d29yZGA6IOWkp+S8l+eCueivhOaQnOe0ouahhu+8jOaUr+aMgeiHqueUsee7hOWQiOOAguekuuS+i++8mgogIC0gKiroj5zns7sqKjogYCLlt53oj5wiYCwgYCLml6XmlpkiYCwgYCLmt67miazoj5wiYCwgYCLngavplIUiYCwgYCLopb/ppJ
...[truncated 27 chars]

Context Window Stuffing

Medium
Category
Memory Poisoning
Confidence
80% confidence
Finding

Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.

Content

Scanner excerpt · install.sh (reported line 14)May include surrounding context.

sh
echo "LS0tCm5hbWU6IGRpYW5waW5nLWFwaQpkZXNjcmlwdGlvbjogIkRpYW5waW5nICjlpKfkvJfngrnor4QpIEFQSSBza2lsbCBmb3Igc2VhcmNoaW5nIHJlc3RhdXJhbnRzIGFuZCBidXNpbmVzc2VzLCB2aWV3aW5nIHNob3AgZGV0YWlscywgZGVhbHMvY291cG9ucywgYW5kIHJlYWRpbmcgcmVjb21tZW5kZWQgZGlzaGVzLiBVc2UgdGhpcyBza2lsbCB3aGVuOiAoMSkgdGhlIHVzZXIgYXNrcyBhYm91dCByZXN0YXVyYW50cywgZm9vZCwgb3IgbG9jYWwgYnVzaW5lc3NlcyBpbiBDaGluZXNlIGNpdGllcywgKDIpIHRoZSB1c2VyIHdhbnRzIHRvIHNlYXJjaCBkaWFucGluZy5jb20sICgzKSB0aGUgdXNlciBuZWVkcyBzaG9wIHJhdGluZ3MsIHJldmlld3MsIHByaWNlcywgZGVhbHMsIG9yIGFkZHJlc3NlcyBmcm9tIOWkp+S8l+eCueivhCwgKDQpIGFueSBxdWVyeSBpbnZvbHZpbmcgQ2hpbmVzZSBkaW5pbmcgcmVjb21tZW5kYXRpb25zIG9yIGxvY2FsIGJ1c2luZXNzIGxvb2t1cC4iCi0tLQoKIyBEaWFucGluZyBBUEkKClplcm8tZGVwZW5kZW5jeSBIVFRQIEFQSSBmb3IgZGlhbnBpbmcuY29tICjlpKfkvJfngrnor4QpLiBObyBicm93c2VyIGVuZ2luZSwgbm8gcGlwIGluc3RhbGwg4oCUIG9ubHkgYGN1cmxgIChwcmUtaW5zdGFsbGVkIG9uIG1hY09TL0xpbnV4KS4KCiMjIFByZXJlcXVpc2l0ZXMKCi0gUHl0aG9uIDMuNisKLSBgY3VybGAgKOezu+e7n+iHquW4pu+8jOaXoOmcgOWuieijhSkKCiMjIyBBdXRoZW50aWNhdGlvbiAob25seSAyIGNvb2tpZXMgbmVlZGVkKQoKT25seSBgZHBlcmAgYW5kIGBkcGxldGAgY29va2llcyBhcmUgcmVxdWlyZWQuIFN0b3JlZCBpbiBgfi8uZGlhbnBpbmcvY29va2llcy5qc29uYC4KCmBgYGJhc2gKIyBTZXQgY29va2llcwpweXRob24zIGRpYW5waW5nLWFwaS9zY3JpcHRzL2RpYW5waW5nX2xvZ2luLnB5IC0tc2V0LWNvb2tpZXMgImRwZXI9eHh4OyBkcGxldD15eXkiCgojIENoZWNrIGxvZ2luIHN0YXR1cwpweXRob24zIGRpYW5waW5nLWFwaS9zY3JpcHRzL2RpYW5waW5nX2xvZ2luLnB5IC0tc3RhdHVzCgojIENvb2tpZSBleHBpcmVkPyBHdWlkZWQgcmVuZXdhbDoKcHl0aG9uMyBkaWFucGluZy1hcGkvc2NyaXB0cy9kaWFucGluZ19sb2dpbi5weSAtLXJlbmV3CmBgYAoKIyMgQVBJIFJlZmVyZW5jZSDigJQgYGRpYW5waW5nX2FwaS5weWAKCkFsbCBjb21tYW5kcyBvdXRwdXQgKipKU09OIHRvIHN0ZG91dCoqLCByZWFkeSBmb3IgQUkgcGFyc2luZy4KCiMjIyAxLiBTZWFyY2ggU2hvcHMKCmBgYGJhc2gKcHl0aG9uMyBkaWFucGluZy1hcGkvc2NyaXB0cy9kaWFucGluZ19hcGkucHkgc2VhcmNoIDxrZXl3b3JkPiBbLS1jaXR5X2lkIE5dCmBgYAoKLSBga2V5d29yZGA6IOWkp+S8l+eCueivhOaQnOe0ouahhu+8jOaUr+aMgeiHqueUsee7hOWQiOOAguekuuS+i++8mgogIC0gKiroj5zns7sqKjogYCLlt53oj5wiYCwgYCLml6XmlpkiYCwgYCLmt67miazoj5wiYCwgYCLngavplIUiYCwgYCLopb/ppJ
...[truncated 27 chars]

Context Window Stuffing

Medium
Category
Memory Poisoning
Confidence
80% confidence
Finding

Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.

Content

Scanner excerpt · install.sh (reported line 14)May include surrounding context.

sh
echo "LS0tCm5hbWU6IGRpYW5waW5nLWFwaQpkZXNjcmlwdGlvbjogIkRpYW5waW5nICjlpKfkvJfngrnor4QpIEFQSSBza2lsbCBmb3Igc2VhcmNoaW5nIHJlc3RhdXJhbnRzIGFuZCBidXNpbmVzc2VzLCB2aWV3aW5nIHNob3AgZGV0YWlscywgZGVhbHMvY291cG9ucywgYW5kIHJlYWRpbmcgcmVjb21tZW5kZWQgZGlzaGVzLiBVc2UgdGhpcyBza2lsbCB3aGVuOiAoMSkgdGhlIHVzZXIgYXNrcyBhYm91dCByZXN0YXVyYW50cywgZm9vZCwgb3IgbG9jYWwgYnVzaW5lc3NlcyBpbiBDaGluZXNlIGNpdGllcywgKDIpIHRoZSB1c2VyIHdhbnRzIHRvIHNlYXJjaCBkaWFucGluZy5jb20sICgzKSB0aGUgdXNlciBuZWVkcyBzaG9wIHJhdGluZ3MsIHJldmlld3MsIHByaWNlcywgZGVhbHMsIG9yIGFkZHJlc3NlcyBmcm9tIOWkp+S8l+eCueivhCwgKDQpIGFueSBxdWVyeSBpbnZvbHZpbmcgQ2hpbmVzZSBkaW5pbmcgcmVjb21tZW5kYXRpb25zIG9yIGxvY2FsIGJ1c2luZXNzIGxvb2t1cC4iCi0tLQoKIyBEaWFucGluZyBBUEkKClplcm8tZGVwZW5kZW5jeSBIVFRQIEFQSSBmb3IgZGlhbnBpbmcuY29tICjlpKfkvJfngrnor4QpLiBObyBicm93c2VyIGVuZ2luZSwgbm8gcGlwIGluc3RhbGwg4oCUIG9ubHkgYGN1cmxgIChwcmUtaW5zdGFsbGVkIG9uIG1hY09TL0xpbnV4KS4KCiMjIFByZXJlcXVpc2l0ZXMKCi0gUHl0aG9uIDMuNisKLSBgY3VybGAgKOezu+e7n+iHquW4pu+8jOaXoOmcgOWuieijhSkKCiMjIyBBdXRoZW50aWNhdGlvbiAob25seSAyIGNvb2tpZXMgbmVlZGVkKQoKT25seSBgZHBlcmAgYW5kIGBkcGxldGAgY29va2llcyBhcmUgcmVxdWlyZWQuIFN0b3JlZCBpbiBgfi8uZGlhbnBpbmcvY29va2llcy5qc29uYC4KCmBgYGJhc2gKIyBTZXQgY29va2llcwpweXRob24zIGRpYW5waW5nLWFwaS9zY3JpcHRzL2RpYW5waW5nX2xvZ2luLnB5IC0tc2V0LWNvb2tpZXMgImRwZXI9eHh4OyBkcGxldD15eXkiCgojIENoZWNrIGxvZ2luIHN0YXR1cwpweXRob24zIGRpYW5waW5nLWFwaS9zY3JpcHRzL2RpYW5waW5nX2xvZ2luLnB5IC0tc3RhdHVzCgojIENvb2tpZSBleHBpcmVkPyBHdWlkZWQgcmVuZXdhbDoKcHl0aG9uMyBkaWFucGluZy1hcGkvc2NyaXB0cy9kaWFucGluZ19sb2dpbi5weSAtLXJlbmV3CmBgYAoKIyMgQVBJIFJlZmVyZW5jZSDigJQgYGRpYW5waW5nX2FwaS5weWAKCkFsbCBjb21tYW5kcyBvdXRwdXQgKipKU09OIHRvIHN0ZG91dCoqLCByZWFkeSBmb3IgQUkgcGFyc2luZy4KCiMjIyAxLiBTZWFyY2ggU2hvcHMKCmBgYGJhc2gKcHl0aG9uMyBkaWFucGluZy1hcGkvc2NyaXB0cy9kaWFucGluZ19hcGkucHkgc2VhcmNoIDxrZXl3b3JkPiBbLS1jaXR5X2lkIE5dCmBgYAoKLSBga2V5d29yZGA6IOWkp+S8l+eCueivhOaQnOe0ouahhu+8jOaUr+aMgeiHqueUsee7hOWQiOOAguekuuS+i++8mgogIC0gKiroj5zns7sqKjogYCLlt53oj5wiYCwgYCLml6XmlpkiYCwgYCLmt67miazoj5wiYCwgYCLngavplIUiYCwgYCLopb/ppJ
...[truncated 27 chars]

Context Window Stuffing

Medium
Category
Memory Poisoning
Confidence
80% confidence
Finding

Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.

Content

Scanner excerpt · install.sh (reported line 14)May include surrounding context.

sh
echo "LS0tCm5hbWU6IGRpYW5waW5nLWFwaQpkZXNjcmlwdGlvbjogIkRpYW5waW5nICjlpKfkvJfngrnor4QpIEFQSSBza2lsbCBmb3Igc2VhcmNoaW5nIHJlc3RhdXJhbnRzIGFuZCBidXNpbmVzc2VzLCB2aWV3aW5nIHNob3AgZGV0YWlscywgZGVhbHMvY291cG9ucywgYW5kIHJlYWRpbmcgcmVjb21tZW5kZWQgZGlzaGVzLiBVc2UgdGhpcyBza2lsbCB3aGVuOiAoMSkgdGhlIHVzZXIgYXNrcyBhYm91dCByZXN0YXVyYW50cywgZm9vZCwgb3IgbG9jYWwgYnVzaW5lc3NlcyBpbiBDaGluZXNlIGNpdGllcywgKDIpIHRoZSB1c2VyIHdhbnRzIHRvIHNlYXJjaCBkaWFucGluZy5jb20sICgzKSB0aGUgdXNlciBuZWVkcyBzaG9wIHJhdGluZ3MsIHJldmlld3MsIHByaWNlcywgZGVhbHMsIG9yIGFkZHJlc3NlcyBmcm9tIOWkp+S8l+eCueivhCwgKDQpIGFueSBxdWVyeSBpbnZvbHZpbmcgQ2hpbmVzZSBkaW5pbmcgcmVjb21tZW5kYXRpb25zIG9yIGxvY2FsIGJ1c2luZXNzIGxvb2t1cC4iCi0tLQoKIyBEaWFucGluZyBBUEkKClplcm8tZGVwZW5kZW5jeSBIVFRQIEFQSSBmb3IgZGlhbnBpbmcuY29tICjlpKfkvJfngrnor4QpLiBObyBicm93c2VyIGVuZ2luZSwgbm8gcGlwIGluc3RhbGwg4oCUIG9ubHkgYGN1cmxgIChwcmUtaW5zdGFsbGVkIG9uIG1hY09TL0xpbnV4KS4KCiMjIFByZXJlcXVpc2l0ZXMKCi0gUHl0aG9uIDMuNisKLSBgY3VybGAgKOezu+e7n+iHquW4pu+8jOaXoOmcgOWuieijhSkKCiMjIyBBdXRoZW50aWNhdGlvbiAob25seSAyIGNvb2tpZXMgbmVlZGVkKQoKT25seSBgZHBlcmAgYW5kIGBkcGxldGAgY29va2llcyBhcmUgcmVxdWlyZWQuIFN0b3JlZCBpbiBgfi8uZGlhbnBpbmcvY29va2llcy5qc29uYC4KCmBgYGJhc2gKIyBTZXQgY29va2llcwpweXRob24zIGRpYW5waW5nLWFwaS9zY3JpcHRzL2RpYW5waW5nX2xvZ2luLnB5IC0tc2V0LWNvb2tpZXMgImRwZXI9eHh4OyBkcGxldD15eXkiCgojIENoZWNrIGxvZ2luIHN0YXR1cwpweXRob24zIGRpYW5waW5nLWFwaS9zY3JpcHRzL2RpYW5waW5nX2xvZ2luLnB5IC0tc3RhdHVzCgojIENvb2tpZSBleHBpcmVkPyBHdWlkZWQgcmVuZXdhbDoKcHl0aG9uMyBkaWFucGluZy1hcGkvc2NyaXB0cy9kaWFucGluZ19sb2dpbi5weSAtLXJlbmV3CmBgYAoKIyMgQVBJIFJlZmVyZW5jZSDigJQgYGRpYW5waW5nX2FwaS5weWAKCkFsbCBjb21tYW5kcyBvdXRwdXQgKipKU09OIHRvIHN0ZG91dCoqLCByZWFkeSBmb3IgQUkgcGFyc2luZy4KCiMjIyAxLiBTZWFyY2ggU2hvcHMKCmBgYGJhc2gKcHl0aG9uMyBkaWFucGluZy1hcGkvc2NyaXB0cy9kaWFucGluZ19hcGkucHkgc2VhcmNoIDxrZXl3b3JkPiBbLS1jaXR5X2lkIE5dCmBgYAoKLSBga2V5d29yZGA6IOWkp+S8l+eCueivhOaQnOe0ouahhu+8jOaUr+aMgeiHqueUsee7hOWQiOOAguekuuS+i++8mgogIC0gKiroj5zns7sqKjogYCLlt53oj5wiYCwgYCLml6XmlpkiYCwgYCLmt67miazoj5wiYCwgYCLngavplIUiYCwgYCLopb/ppJ
...[truncated 27 chars]

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The installed helper stores authentication cookies locally in ~/.dianping/cookies.json without any file-permission hardening or prominent warning in the installer. Plaintext persistence of live session tokens increases the risk of credential theft by local users, backup exposure, or malware on the host.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The installer provisions a helper script with an --export function that prints stored Dianping session cookies from ~/.dianping/cookies.json. Session cookies are bearer credentials, so exposing them to stdout makes accidental disclosure via terminal history, logs, screenshots, or downstream tool chaining more likely.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The embedded Python content includes an HTTP header forcing Accept-Language: zh-CN,zh;q=0.9, which is a natural-language locale preference baked into the skill behavior. There is no indication in this file that users can opt into or change that locale, so it appears to violate the requirement not to force a language/locale without user choice.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill reads local Dianping cookies from the user's home directory and automatically attaches them to outbound requests, enabling authenticated access and use of an existing browser session without explicit consent at runtime. This exceeds the stated purpose of restaurant/business lookup and creates a privacy and session misuse risk if the agent is invoked unexpectedly or by untrusted prompts.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
99% confidence
Finding

The code silently reads authentication cookies from a local file and transmits them in HTTP requests, with no disclosure, consent, or indication to the user that their authenticated session is being used. Even if only sent to Dianping, this is sensitive session material and can expose private account context or perform requests tied to the user's identity.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/dianping_api.py (reported line 43)May include surrounding context.

python
url,
    ]
    try:
        p = subprocess.run(cmd, capture_output=True, text=True, timeout=20)
        lines = p.stdout.rsplit("\n", 2)
        if len(lines) >= 3:
            body, status, final_url = lines[-3], lines[-2].strip(), lines[-1].strip()

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/dianping_login.py (reported line 117)May include surrounding context.

python
url,
    ]
    try:
        p = subprocess.run(cmd, capture_output=True, text=True, timeout=20)
        lines = p.stdout.rsplit("\n", 2)
        if len(lines) >= 3:
            body, status, final_url = lines[-3], lines[-2].strip(), lines[-1].strip()

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Authentication cookies are persisted to ~/.dianping/cookies.json in plaintext without permission hardening or any warning that they are equivalent to account credentials. Any local process, backup system, or other user with access to the file can reuse those cookies to hijack the session.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The script includes an explicit export function that prints full authentication cookies to stdout. Those tokens can be captured in terminal scrollback, logs, shell history workflows, or by other local tooling, enabling session hijacking for the associated Dianping account.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.