Back to skill

Security audit

聘才猫(Pincaimao)劳动合同卫士

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed connector for sending labor contracts to Pincaimao's API for analysis, with privacy-sensitive but purpose-aligned behavior.

Install only if you intend to send labor contract files or text to Pincaimao for remote analysis. Confirm the API key source, install any pincaimao-basic dependency only from a trusted listing, and consider redacting unnecessary personal or compensation details before upload.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

YARA rule 'agent_skill_mcp_tool_poisoning_metadata': MCP/tool metadata poisoning indicators in tool schemas or skill manifests [agent_skills]

High
Category
YARA Match
Confidence
80% confidence
Finding

YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).

Content

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

md
---
name: pincaimao-labor-contracts
description: 聘才猫 - 劳动合同卫士 Use when calling Pincaimao Labor Contract Guard API to analyze a labor contract and generate an assessment report. Accepts either a contract file (cos_key) or contract text directly. Requires PCM_LABOR_CONTRACT_KEY env var.
version: 1.0.1
allowed-tools:
  - Bash
metadata:
  openclaw:
    emoji: "⚖️"
    homepage: https://www.pincaimao.com
    primaryEnv: PCM_LABOR_CONTRACT_KEY
    requires:
      env:
        - PCM_LABOR_CONTRACT_KEY
      bins:
        - curl
        - python3
---

# 聘才猫 - 劳动合同卫士

**REQUIRED:** 请先检查是�

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

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

md
CONTRACT_FILE="/path/to/contract.docx"

# Step 1: 上传合同文件
UPLOAD=$(curl -s -X POST 'https://api.pincaimao.com/agents/v1/files/upload' \
  -H "Authorization: Bearer $PCM_LABOR_CONTRACT_KEY" \
  -F "file=@${CONTRACT_FILE}")
COS_KEY=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['cos_key'])")

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The markdown requires the query field to be the fixed Chinese string "请对劳动合同进行分析", which imposes a specific language choice. The file does not indicate that users may choose another language or opt in to this locale constraint, so it matches the language/locale policy concern.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
93% confidence
Finding

This skill instructs the agent to upload labor contract files to an external third-party service, which is a real data exfiltration boundary for sensitive employment documents. Even if intended functionality requires remote analysis, contracts commonly contain PII, compensation, and legal terms, so autonomous transmission to an external endpoint carries meaningful privacy and compliance risk.

Content

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

md
CONTRACT_FILE="/path/to/contract.docx"

# Step 1: 上传合同文件
UPLOAD=$(curl -s -X POST 'https://api.pincaimao.com/agents/v1/files/upload' \
  -H "Authorization: Bearer $PCM_LABOR_CONTRACT_KEY" \
  -F "file=@${CONTRACT_FILE}")
COS_KEY=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['cos_key'])")

External Transmission

Medium
Category
Data Exfiltration
Confidence
92% confidence
Finding

The skill sends contract text directly to an external API endpoint for processing, which is a genuine external transmission of potentially sensitive legal and personal data. Because this is direct text submission rather than a local-only operation, misuse or unexpected autonomous execution could disclose confidential contract content.

Content

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

md
'response_mode': 'blocking'
}).encode()
req = urllib.request.Request(
    'https://api.pincaimao.com/agents/v1/chat/chat-messages',
    data=payload,
    headers={'Authorization': f'Bearer {key}', 'Content-Type': 'application/json'}
)

External Transmission

Medium
Category
Data Exfiltration
Confidence
92% confidence
Finding

This second direct-text example also transmits contract contents to the same third-party API, so it represents the same privacy and confidentiality risk as the earlier endpoint usage. The context makes the transmission expected, but not harmless, because labor contracts are highly sensitive documents.

Content

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

md
'response_mode': 'blocking'
}).encode()
req = urllib.request.Request(
    'https://api.pincaimao.com/agents/v1/chat/chat-messages',
    data=payload,
    headers={'Authorization': f'Bearer {key}', 'Content-Type': 'application/json'}
)

Static analysis

No suspicious patterns detected.