Back to skill

Security audit

Autoglm Search Image

Security checks for vulnerabilities and agentic risk

Overview

This skill performs a disclosed AutoGLM image search using a local token broker and a remote API, with no evidence of hidden persistence, destructive behavior, or unrelated data access.

Install only if you are comfortable with image search terms being sent to AutoGLM and with the skill automatically using a bearer token from the local token service at 127.0.0.1:53699. The bundled application signing key should be treated as exposed and should not be relied on as a confidential secret.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
search-image.py:10
Finding

Hardcoded Application Signing Secret Exposes Request-Signing Capability

Content
View full analysis
str: raw = f"{app_id}&{timestamp}&{app_key}" return hashlib.md5(raw.encode()).hexdigest() ``` The same secret and signing construction are explicitly disclosed in `SKILL.md`: ```markdown - `X-Auth-Appid`: `100003` - `X-Auth-TimeStamp`: Current Unix timestamp in seconds - `X-Auth-Sign`: MD5(`100003 + "&" + timestamp + "&" + 38d2391985e2369a5fb8227d8e6cd5e5`) ``` ### Technical Analysis The application signing key is embedded directly in the distributed source code and documentation. Anyone who can access the Skill package can recover the key and independently produce the `X-Auth-Sign` value for arbitrary current timestamps. The signature is generated by hashing a predictable concatenation of the application ID, timestamp, and reusable secret with MD5. This is not a standard keyed message-authentication construction such as HMAC. MD5 is cryptographically obsolete, and embedding the key client-side prevents it from functioning as a confidential application credential. The script separately obtains a bearer token from the documented localhost service and sends it only to the declared AutoGLM HTTPS API. That token flow is necessary for the advertised image-search operation and, based on the reviewed code, does not constitute unrelated exfiltration. However, the separate bearer-token requirement does not make public disclosure of the application signing key safe. ### Attack Path 1. An attacker downloads or otherwise reads the Skill package. 2. The attacker extracts appl ...[truncated 1423 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding

The skill performs network access, including a call to a local token service and an external API, but does not declare any tool scope or permissions. This creates a capability/visibility gap: users or orchestrators may invoke the skill without realizing it can make outbound requests and retrieve credentials from localhost, which increases the risk of unintended data access or misuse.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The script silently retrieves an authentication token from a local HTTP service and uses it for outbound API access without informing the user. Even though the endpoint is bound to 127.0.0.1, this behavior accesses local credentials implicitly, which can surprise users, obscure trust boundaries, and increase risk if the local token service is compromised or returns tokens for broader scopes than expected.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The script sends the user-provided search query to a third-party remote API over the network without any user-facing notice, consent prompt, or disclosure in the code path. While this is the expected functional behavior of an image-search skill, the lack of transparency can expose sensitive user-entered terms to an external service, which is a privacy/security issue if users assume the query is handled locally.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.