Back to skill

Security audit

Poyo Gpt 5 5

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward PoYo chat-completions helper, with expected external API use and no evidence of hidden execution, persistence, or destructive behavior.

Install only if you intend to use PoYo's GPT-5.5 API. Keep POYO_API_KEY server-side, avoid sending private prompts unless you trust PoYo for that data, and prefer tightening invocation to explicit PoYo or GPT-5.5 API requests. For shared machines, consider hardening the curl script so the bearer token is not exposed in process arguments.

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
scripts/submit_gpt_5_5_chat.sh:12
Finding

PoYo API Key Exposed in Process Command-Line Arguments

Content
View full analysis
/cmdline`. A local process running under the same account—or a privileged local user—could monitor newly created processes and capture the bearer token while `curl` is active. This issue does not send the credential to an unrelated host and does not grant system-level privileges by itself. The exposure is limited to local process visibility and the permissions associated with the compromised PoYo API key. ### Attack Path 1. A victim sets a valid `POYO_API_KEY` and invokes the submission script. 2. The shell expands `${POYO_API_KEY}` into the `curl` command-line argument. 3. A local attacker with sufficient process-inspection access continuously monitors process arguments. 4. The attacker identifies the `curl` process and reads its `Authorization: Bearer ...` argument before the process exits. 5. The attacker reuses the captured bearer token to submit requests to the PoYo API. 6. Requests execute within the account access, limits, and billing scope associated with that API key. Successful exploitation requires local process visibility; it cannot be performed remotely solely through this ...[truncated 609 chars]
Remediation
View remediation
"${config_file}" printf 'header = "Content-Type: application/json"\n' >>"${config_file}" curl --fail-with-body --request POST \ --config "${config_file}" \ --url "https://api.poyo.ai/v1/chat/completions" \ --data @"${payload_file}" ``` Additional hardening measures include: 1. Ensure the temporary file is created in a trusted local directory with mode `0600`. 2. Register cleanup traps immediately so the file is deleted on normal exit and common interruption signals. 3. Never enable shell tracing with `set -x` while processing the credential. 4. Do not log the generated curl configuration, authorization header, environment, or raw request command. 5. Run the script under a dedicated least-privileged service account where practical. 6. Restrict process inspection through appropriate operating-system controls. 7. Rotate the API key promptly if process arguments may already have been monitored. 8. Limit the key's permissions, quota, and lifetime where the provider supports those controls. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (11)

Hidden Instructions

High
Category
Prompt Injection
Confidence
60% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 1)May include surrounding context.

md
---
name: poyo-gpt-5-5
description: GPT-5.5 chat completions on PoYo / poyo.ai via `https://api.poyo.ai/v1/chat/completions`; use for `gpt-5.5`, OpenAI-compatible chat payloads, coding help, reasoning, system prompts, multi-turn messages, streaming chat, max_tokens, and server-side chat integration.
metadata: {"openclaw":{"homepage":"https://poyo.ai/models/gpt-5-5","requires":{"bins":["curl"],"env":["POYO_API_KEY"]},"primaryEnv":"POYO_API_KEY"}}

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/api.md (reported line 18)May include surrounding context.

Content-Type: application/json

text

Get API keys from <https://poyo.ai/dashboard/api-key>.

Recommended skill env var:

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The 'Use When' section includes very broad triggers such as 'coding help,' 'reasoning,' 'planning,' 'summarization,' and 'agent workflow text.' These phrases describe common everyday assistant tasks rather than narrowly scoping when this specific PoYo GPT-5.5 skill should activate, which could cause unintended invocation outside the intended PoYo-specific context.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api.md (reported line 53)May include surrounding context.

Basic Chat Example

bash
curl --fail-with-body --request POST \
  --url "https://api.poyo.ai/v1/chat/completions" \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · scripts/submit_gpt_5_5_chat.sh (reported line 13)May include surrounding context.

sh
payload_file="$1"

curl --fail-with-body --request POST \
  --url "https://api.poyo.ai/v1/chat/completions" \
  --header "Authorization: Bearer ${POYO_API_KEY}" \
  --header "Content-Type: application/json" \

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 3)May include surrounding context.

md
payload_file="$1"

curl --fail-with-body --request POST \
  --url "https://api.poyo.ai/v1/chat/completions" \
  --header "Authorization: Bearer ${POYO_API_KEY}" \
  --header "Content-Type: application/json" \
  --data @"${payload_file}"

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api.md (reported line 5)May include surrounding context.

md
payload_file="$1"

curl --fail-with-body --request POST \
  --url "https://api.poyo.ai/v1/chat/completions" \
  --header "Authorization: Bearer ${POYO_API_KEY}" \
  --header "Content-Type: application/json" \
  --data @"${payload_file}"

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api.md (reported line 54)May include surrounding context.

md
payload_file="$1"

curl --fail-with-body --request POST \
  --url "https://api.poyo.ai/v1/chat/completions" \
  --header "Authorization: Bearer ${POYO_API_KEY}" \
  --header "Content-Type: application/json" \
  --data @"${payload_file}"

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api.md (reported line 78)May include surrounding context.

md
payload_file="$1"

curl --fail-with-body --request POST \
  --url "https://api.poyo.ai/v1/chat/completions" \
  --header "Authorization: Bearer ${POYO_API_KEY}" \
  --header "Content-Type: application/json" \
  --data @"${payload_file}"

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api.md (reported line 104)May include surrounding context.

md
payload_file="$1"

curl --fail-with-body --request POST \
  --url "https://api.poyo.ai/v1/chat/completions" \
  --header "Authorization: Bearer ${POYO_API_KEY}" \
  --header "Content-Type: application/json" \
  --data @"${payload_file}"

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · scripts/submit_gpt_5_5_chat.sh (reported line 14)May include surrounding context.

sh
payload_file="$1"

curl --fail-with-body --request POST \
  --url "https://api.poyo.ai/v1/chat/completions" \
  --header "Authorization: Bearer ${POYO_API_KEY}" \
  --header "Content-Type: application/json" \
  --data @"${payload_file}"

Static analysis

No suspicious patterns detected.