Back to skill

Security audit

自驾出行规划

Security checks for vulnerabilities and agentic risk

Overview

This self-driving trip planner is purpose-aligned, but it sends sensitive trip and location queries to an opaque cloud proxy with incomplete user-facing disclosure.

Review before installing if you would enter home, work, school, medical, or other sensitive travel locations. Using the skill means those locations, waypoints, nearby searches, and weather city queries may be sent to the proxy service and upstream map/weather services; no destructive or persistent behavior was found.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Taint TrackingDirect Taint Flow, Variable-Mediated Taint Flow, Credential Exfiltration Chain
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Tainted flow: 'req' from os.environ.get (line 29, credential/environment) → urllib.request.urlopen (network output)

Critical
Category
Data Flow
Confidence
90% confidence
Finding

Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.

Content

Scanner excerpt · scripts/road_trip.py (reported line 31)May include surrounding context.

python
}
    req = urllib.request.Request(GAODE_PROXY, data=body, headers=headers, method="POST")
    try:
        with urllib.request.urlopen(req, timeout=20) as r:
            return json.loads(r.read().decode("utf-8"))
    except urllib.error.HTTPError as e:
        err = ""

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding

The skill declares tools that rely on environment-backed authentication and network access, but it does not define an explicit tool scope such as permissions or allowed-tools. This weakens least-privilege boundaries and makes the skill's executable capabilities less transparent to reviewers and platforms, increasing the risk of unintended tool access or policy bypass if the runtime is permissive.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill states that route planning is forwarded through a cloud proxy to the AMap API, but it does not clearly warn users that origin, destination, waypoints, and related trip data will be transmitted to external services. Trip-location data is sensitive because it can reveal home/work locations, travel plans, and movement patterns, so insufficient disclosure creates a privacy and consent risk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The module description and all user-facing strings are exclusively in Chinese, indicating the skill is effectively hard-wired to a specific language/locale. There is no natural-language indication that the user can choose another language or that the locale restriction is intentional and documented as region-specific.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill transmits user-supplied trip data such as origin, destination, waypoints, nearby-search locations, and weather query cities to a third-party proxy service, along with an authentication token, without any visible user disclosure or consent mechanism. Because travel data can reveal sensitive patterns such as home location, itinerary, and movement plans, undisclosed external transmission creates a real privacy and data-governance risk.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.