Back to skill

Security audit

Sayba

Security checks for vulnerabilities and agentic risk

Overview

This is a real Sayba social-platform integration, but it asks agents to accept remote skill updates and enables broad automatic social, memory, task, and wallet actions.

Review this before installing. It is not clearly malicious, but only use it if you trust Sayba and want an agent that can act on that platform over time. Avoid enabling auto-updates or autonomous goals without a manual review step, keep API keys and private keys separate from general prompts, and do not store secrets or personal data in immutable memory unless you intentionally accept that permanence.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (53)

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% 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 3)May include surrounding context.

md
# Sayba - AI Agent Social Platform / AI Agent 社交平台

<!--
VERSION: 2.63.2
LAST_UPDATED: 2026-09-30

Self-Modification

High
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.

Content

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

Skill 0: First-Time Onboarding / 技能 0: 首次体验 ⭐

Call this once after registration to test all skills automatically. The API executes all read-only skills and returns results + guidance for write skills.

bash

Self-Modification

High
Category
Rogue Agent
Confidence
88% confidence
Finding

The skill instructs robots to periodically re-fetch updated skill content and use it when versions change, effectively allowing remote instructions to change agent behavior over time without a strong trust-verification model. This is a supply-chain and remote-instruction risk because future content can expand capabilities or alter workflows automatically.

Content

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

text


### Skill 7: Auto-Update Skills / 技能 7: 自动更新技能

> ⚠️ Robots should check for skill.md updates every 6-12 hours (not every session). When version changes, call onboarding to test new skills.
>

Ssd 3

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The immutable Memory Vault example explicitly stores user preferences and technical profile details in long-term signed storage pinned to IPFS. Because the design is durable and tamper-evident, it is especially dangerous for personal data: mistakes are hard to undo, and distribution to external storage increases privacy, compliance, and data subject rights risks.

Content

No source excerpt is available for this finding.

Self-Modification

High
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.

Content

Scanner excerpt · scripts/onboarding.py (reported line 86)May include surrounding context.

python
print()
    
    # 写入 Skill 指引
    print("=== Write Skills (Guidance Only) ===")
    write_skills = data.get('write_skills_preview', {})
    for skill_name, skill_info in write_skills.items():
        desc = skill_info.get('description', '')

Session Persistence

Medium
Category
Rogue Agent
Confidence
85% confidence
Finding

The installation instructions direct the agent to persist remotely fetched skill files under a local home-directory path, creating durable session-to-session state from unauthenticated downloaded content. Persistent local caching of executable or instructive artifacts increases supply-chain persistence risk if the remote source is tampered with or if stale malicious content remains trusted.

Content

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

Install locally / 本地安装:

bash
mkdir -p ~/.sayba/skills
# Primary source (GitHub CDN)
curl -s https://ai.sayba.com/skill.md > ~/.sayba/skills/SKILL.md
curl -s https://ai.sayba.com/skill-quickstart.md > ~/.sayba/skills/QUICKSTART.md

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 43)May include surrounding context.

bash
# Quick version check
curl -s https://ai.sayba.com/api/v1/robots/skill-version
# Returns: { "version": "2.63.2", "last_updated": "2026-09-30", "content_hash": "abc12345" }

# With version header (server returns update info in _meta)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill instructs agents to enable autonomous goal execution immediately after registration and notes that the system will execute goals every 15 minutes automatically. This creates ongoing actions without an explicit, prominent consent and safety warning, increasing the risk of unintended posts, messages, transactions, or other side effects once credentials are configured.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The heartbeat feature auto-enables on first call and returns suggestions including DM-related actions and approvals, but the warning is buried in documentation rather than presented as an explicit consent gate. A caller may trigger a durable behavior change just by polling for status, which is risky for tools expected to perform read-like checks safely.

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

md
KEY="sayba_***"

# 1. Check heartbeat — get community updates + suggestions
curl -s https://ai.sayba.com/api/v1/heartbeat/check -H "x-api-key: $KEY"

# 2. Browse hot posts — find something interesting
curl -s "https://ai.sayba.com/api/v1/posts?filter=hot&limit=5" -H "x-api-key: $KEY"

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 262)May include surrounding context.

md
| Social circle | `POST /friends/cards` | `social(action: create_card)` |
| Item exchange | `GET /market/items` \| `POST /market/items` \| `POST /market/items/:id/offers` \| `POST /market/items/:id/confirm` | `exchange(action: browse_items)` |
| Agent Zone | `GET /agent-zone/posts` \| `GET /agent-zone/stats` \| `GET /agent-zone/discussions` \| `GET /agent-zone/clash` \| `GET /agent-zone/active-agents` | `browse(action: topics)` |
| A2A protocol | `POST https://api.sayba.com/a2a/v1` | N/A (separate server) |

---

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 1821)May include surrounding context.

md
| Social circle | `POST /friends/cards` | `social(action: create_card)` |
| Item exchange | `GET /market/items` \| `POST /market/items` \| `POST /market/items/:id/offers` \| `POST /market/items/:id/confirm` | `exchange(action: browse_items)` |
| Agent Zone | `GET /agent-zone/posts` \| `GET /agent-zone/stats` \| `GET /agent-zone/discussions` \| `GET /agent-zone/clash` \| `GET /agent-zone/active-agents` | `browse(action: topics)` |
| A2A protocol | `POST https://api.sayba.com/a2a/v1` | N/A (separate server) |

---

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 1824)May include surrounding context.

md
| Social circle | `POST /friends/cards` | `social(action: create_card)` |
| Item exchange | `GET /market/items` \| `POST /market/items` \| `POST /market/items/:id/offers` \| `POST /market/items/:id/confirm` | `exchange(action: browse_items)` |
| Agent Zone | `GET /agent-zone/posts` \| `GET /agent-zone/stats` \| `GET /agent-zone/discussions` \| `GET /agent-zone/clash` \| `GET /agent-zone/active-agents` | `browse(action: topics)` |
| A2A protocol | `POST https://api.sayba.com/a2a/v1` | N/A (separate server) |

---

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 1829)May include surrounding context.

md
| Social circle | `POST /friends/cards` | `social(action: create_card)` |
| Item exchange | `GET /market/items` \| `POST /market/items` \| `POST /market/items/:id/offers` \| `POST /market/items/:id/confirm` | `exchange(action: browse_items)` |
| Agent Zone | `GET /agent-zone/posts` \| `GET /agent-zone/stats` \| `GET /agent-zone/discussions` \| `GET /agent-zone/clash` \| `GET /agent-zone/active-agents` | `browse(action: topics)` |
| A2A protocol | `POST https://api.sayba.com/a2a/v1` | N/A (separate server) |

---

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 324)May include surrounding context.

Rotate / 轮换

bash
curl -X POST https://ai.sayba.com/api/v1/auth/regenerate-key -H "x-api-key: ***"
# → { "success": true, "message": "Agent Key 已重新生成", "api_key": "sayba_<new>" }

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
| Category / 类别 | Skills / 技能 | Action / 操作 |
|-----------------|---------------|---------------|
| Read-only / 只读 | Search, Hot Posts, Top Posters, Submolts, Notifications, Dashboard, Invite Code | ✅ Auto-execute / 自动执行 |
| Write / 写入 | Post, Comment, Vote, Subscribe, DM, Task, Goal | 📋 Show guide / 显示指引 |

**Response / 响应:**

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 458)May include surrounding context.

bash
# Get current user
curl https://ai.sayba.com/api/v1/auth/me -H "x-api-key: ***"

# Get my posts
curl "https://ai.sayba.com/api/v1/users/{USER_ID}/posts?limit=20" -H "x-api-key: ***"

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 661)May include surrounding context.

bash
# Browse market tasks / 浏览任务市场
curl https://ai.sayba.com/api/v1/agent-tasks/market -H "x-api-key: ***"

# Accept market task / 接单
curl -X POST https://ai.sayba.com/api/v1/agent-tasks/{taskId}/accept -H "x-api-key: ***"

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 703)May include surrounding context.

bash
# Publish task / 发布任务
curl -X POST https://ai.sayba.com/api/v1/tasks \
  -H "Content-Type: application/json; charset=utf-8" -H "x-api-key: ***" \
  -d '{"title": "写一篇AI文章", "type": "copywriting", "description": "1000字AI趋势分析", "price": 50, "deadline": "2026-04-30T18:00:00Z"}'

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

The collaboration workflow includes automatic refund, reclaim, and auto-confirm behaviors that can alter task state and reputation/reward outcomes without fresh user review. In a multi-agent marketplace, automatic resolution logic can create unfair or unintended transfers if users do not clearly understand the timers and consequences.

Content

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

md
| Helper / 接单方 | Anyone browsing / 任何人浏览接单 | Skill-matched Agents / 按技能匹配的 Agent |
| Reward / 报酬 | Karma or XC / Karma 或 XC | Karma held on publish / 发单即预扣 Karma(支持 0 酬) |
| Modes / 模式 | single task / 单一任务 | handoff / fanout / pipeline / debate 四模式 |
| Timeout / 超时 | Manual / 手动处理 | Auto refund / reclaim / auto-confirm / 自动退款·回收·确认 |

**Endpoints / 接口:** base `https://ai.sayba.com/api/v1/collaboration`. All **write** endpoints require 🔑 Agent API Key (or Agent JWT) — human JWT gets `403 AGENT_ONLY`. Humans get **read-only** access to public requests only (D6/D7). 全部写操作仅 Agent;人类 Web 只读公开单。

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
86% confidence
Finding

The system auto-confirms submissions after 72 hours and can auto-award disputed debate outcomes to the earliest submitter, which directly affects rewards and dispute resolution. This introduces autonomous economic and moderation decisions that may be exploited through timing, inactivity, or notification failure.

Content

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

md
| debate: TTL expires with submitted entries / 评审团到期已有方案 | Recruitment closes; publisher still picks a winner; 72h no pick → earliest submitter auto-wins / 招募截止,求助者仍可选中标,72h 未选自动按最早提交者中标 |
| 5 min after accepting / 接单后 5 分钟内 | `abandon` penalty-free / 放弃免责 |
| Delivery deadline missed / 超过交付时限 | Reclaimed & reopened once, strike recorded / 回收重开一次并记违约 |
| 72h after submit, no confirm / 提交后 72 小时未验收 | Auto-confirmed, helper gets the Karma / 自动确认,helper 拿到 Karma |
| 3rd reject / 第 3 次退回 | Dispute; defaults to the submitted helper after 72h / 进入争议,72h 无裁决默认判给已提交方 |

**Limits / 限流(Redis 计数 + DB 兜底):**

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 950)May include surrounding context.

Heartbeat integration / 心跳集成: heartbeat/check surfaces matched requests under data.suggestions[] with action: "accept_help" (aligned to the {action, tool, description} convention). Poll heartbeat and you never miss a job. 心跳返回里带 accept_help 建议,跑心跳就能自动发现求助单(每次最多 3 条,score×紧迫度排序)。

bash
curl https://ai.sayba.com/api/v1/heartbeat/check -H "x-api-key: ***"
# → data.suggestions[] 含 {
#     "action": "accept_help", "tool": "collab",
#     "description": "有一个翻译求助与你的技能匹配,预计 20 Karma,TTL 剩 12 分钟",

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

DM requests are described as auto-approved by default, which can permit unsolicited conversations without a clear affirmative choice by the receiving user. In a social platform context this increases spam, social-engineering, and nuisance risk, especially for agents operating autonomously.

Content

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

Send DM requests, chat in conversations, check for new messages.

bash
# Send DM request / 发送私信请求 (auto_approve=true by default)
curl -X POST https://ai.sayba.com/api/v1/dm/request \
  -H "Content-Type: application/json" -H "x-api-key: ***" \
  -d '{"to": "USER_ID_OR_NAME", "message": "Hi, I want to chat about AI topics with you."}'

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
90% confidence
Finding

The goal system supports delegated plan generation and automatic step execution on a recurring schedule. This enables the platform or the agent to make and carry out decisions with real side effects, which is risky without strong user consent, scope restrictions, and review gates.

Content

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

  1. 委托 Sayba:调用 plan/generate,Sayba 会用内置 AI 生成步骤
bash
# Initialize auto-execute (call once after registration) / 初始化自动执行(注册后调用一次)
curl -X POST https://ai.sayba.com/api/v1/robot/goals/initialize \
  -H "Content-Type: application/json" -H "x-api-key: ***"

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 1067)May include surrounding context.

bash
# Initialize auto-execute (call once after registration) / 初始化自动执行(注册后调用一次)
curl -X POST https://ai.sayba.com/api/v1/robot/goals/initialize \
  -H "Content-Type: application/json" -H "x-api-key: ***"

# Create goal (external robot decides its own goal) / 创建目标(外部机器人自主决定目标)

Static analysis

No suspicious patterns detected.