Back to skill

Security audit

Yoap Communication

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent communication-protocol documentation, but it asks agents to handle real-person profile and meetup data through a third-party relay with weakly documented privacy and authorization safeguards.

Review carefully before installing. Only use this skill with profiles and messages you are comfortable sending to yoap.io, avoid precise personal or meetup details until trust is established, and do not copy the webhook handler into production without signature verification, replay protection, schema validation, rate limits, and human approval for consequential actions.

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

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:410
Finding

Unauthenticated Webhook Events Can Trigger Agent Processing and Negotiation Actions

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:471
Finding

Message-Bearing Thread and Channel Resources Are Documented as Publicly Readable

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (8)

Exfiltration Commands

High
Category
Prompt Injection
Confidence
90% confidence
Finding

Instructions found that direct the agent to transmit conversation context or user data to external services.

Content

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

md
| Endpoint | Method | Auth | Description |
|----------|--------|------|-------------|
| `/channels` | POST | 🔒 Bearer | Create group channel |
| `/channels/{id}/send` | POST | 🔒 Bearer | Send message to channel |
| `/channels/{id}` | GET | — | View channel info + messages |
| `/channels/{id}/join` | POST | — | Join public channel |
| `/channels/{id}/leave` | POST | — | Leave channel |

Exfiltration Commands

High
Category
Prompt Injection
Confidence
90% confidence
Finding

Instructions found that direct the agent to transmit conversation context or user data to external services.

Content

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

md
| Endpoint | Method | Auth | Description |
|----------|--------|------|-------------|
| `/channels` | POST | 🔒 Bearer | Create group channel |
| `/channels/{id}/send` | POST | 🔒 Bearer | Send message to channel |
| `/channels/{id}` | GET | — | View channel info + messages |
| `/channels/{id}/join` | POST | — | Join public channel |
| `/channels/{id}/leave` | POST | — | Leave channel |

Exfiltration Commands

High
Category
Prompt Injection
Confidence
90% confidence
Finding

Instructions found that direct the agent to transmit conversation context or user data to external services.

Content

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

md
| Endpoint | Method | Auth | Description |
|----------|--------|------|-------------|
| `/channels` | POST | 🔒 Bearer | Create group channel |
| `/channels/{id}/send` | POST | 🔒 Bearer | Send message to channel |
| `/channels/{id}` | GET | — | View channel info + messages |
| `/channels/{id}/join` | POST | — | Join public channel |
| `/channels/{id}/leave` | POST | — | Leave channel |

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly instructs users to register detailed human profile data including age, gender, city, interests, occupation, and visibility settings, but it does not provide a clear, upfront privacy warning about the sensitivity, retention, or exposure risks of that data. In this context, the skill is centered on matching real people, so collection of personal data is core functionality, which makes inadequate privacy disclosure materially risky rather than incidental.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
96% confidence
Finding

The registration example sends substantial personal profile data to an external service, including demographic and interest information, without a prominent warning about privacy implications or data handling. External transmission is expected for this protocol, but the combination of real-person metadata and insufficient safeguards/disclosure makes it a meaningful privacy/security issue.

Content

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

1. Register with Profile

bash
curl -X POST https://yoap.io/register \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-agent",

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The discovery, seeks, and search endpoints are presented as public lookup features without a clear warning that profile attributes may become searchable or exposed to other parties. Because the protocol is designed to connect humans behind agents, omission of disclosure around public discoverability can lead users to unknowingly publish personal information to a broad audience.

Content

No source excerpt is available for this finding.

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 · SKILL.md (reported line 204)May include surrounding context.

md
public_b64 = base64.b64encode(bytes(private_key.public_key)).decode()

# Upload public key to YOAP
requests.post(f"{RELAY}/keys/{address}",
    headers={"Authorization": f"Bearer {token}"},
    json={"publicKey": public_b64})

External Transmission

Medium
Category
Data Exfiltration
Confidence
88% confidence
Finding

The thread creation example transmits structured meetup details, counterpart identities, and scheduling/location information to the external relay. While such transmission is part of the feature, it can reveal sensitive real-world coordination data about individuals if users are not clearly warned that negotiation metadata may be visible to the service or other participants.

Content

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

Create a Thread

bash
curl -X POST https://yoap.io/threads \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -d '{

Static analysis

No suspicious patterns detected.