Back to skill

Security audit

Bus Ticket Ocr

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward bus-ticket OCR wrapper that sends a user-specified file to the documented Scnet OCR API using an API key.

Install only if you trust Scnet with the ticket images you choose to process. Use a dedicated SCNET_API_KEY stored in an environment variable or config/.env with restrictive permissions, and avoid sending highly sensitive tickets if you need local-only OCR. The README and homepage metadata look unfinished, so verify publisher provenance if that matters for your environment.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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 (4)

Lp3

Medium
Category
MCP Least Privilege
Confidence
86% confidence
Finding
The skill documentation declares capabilities that imply environment-variable access, local file reads, network access, and shell execution, but it does not explicitly declare permissions or constraints for those operations. This weakens transparency and policy enforcement, making it harder for a host agent or reviewer to evaluate whether the skill may access sensitive files, credentials, or external services beyond the intended OCR workflow.

Vague Triggers

Medium
Confidence
81% confidence
Finding
The activation guidance says the AI may auto-trigger based on broad description keywords, and the example prompt is not tightly scoped to explicit user consent or a narrow file-type/action boundary. In an agent environment, vague triggering can cause unintended execution on user-provided paths or documents, increasing the chance of accidental data transmission to the external OCR API.

External Transmission

Medium
Category
Data Exfiltration
Content
SCNET_API_KEY=your_scnet_api_key_here

# API 基础地址(一般无需修改)
SCNET_API_BASE=https://api.scnet.cn/api/llm/v1
```
2. 添加:`SCNET_API_KEY=你的密钥`
3. 设置文件权限为 600(仅所有者可读写)
Confidence
92% confidence
Finding
The skill is designed to transmit user-supplied document content to an external OCR endpoint at api.scnet.cn. Because bus tickets may contain personal or travel information, this external transfer has real privacy implications, especially if activation is automatic or users are not clearly warned that local files will be uploaded off-device.

External Transmission

Medium
Category
Data Exfiltration
Content
| 变量名 | 默认值 | 说明 |
|--------|--------|------|
| SCNET_API_KEY | 必需 | Scnet API 密钥 |
| SCNET_API_BASE | https://api.scnet.cn/api/llm/v1 | API 基础地址(一般无需修改) |

### 输出
Confidence
90% confidence
Finding
The configuration section confirms a fixed external API base, indicating that OCR processing depends on sending document data to a remote service. In this skill context, that is functionally expected, but it still represents a genuine data-exposure risk because local document contents leave the host environment.

Static analysis

No suspicious patterns detected.