Back to skill

Security audit

聘才猫(Pincaimao)模拟面试

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Pincaimao mock-interview API skill, with disclosed third-party data transmission and some implementation cautions but no artifact-backed malicious behavior.

Install only if you are comfortable sending resume content, job descriptions, interview answers, and optional media references to api.pincaimao.com. Verify the referenced pincaimao-basic dependency before allowing installation, keep the API key scoped, and prefer safer JSON-serialized request construction over copying the raw shell examples as-is.

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
SKILL.md:81
Finding

Unsafe JSON Construction Using Unescaped User-Controlled Values

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (11)

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-mock-interview
description: 聘才猫 - 模拟面试 Use when calling Pincaimao Mock Interview API to simulate a real interview scenario with multi-turn conversation. Supports text and video modes, custom questions, role settings, and reference answers. Requires PCM_MOCK_INTERVIEW_KEY env var.
version: 1.0.1
allowed-tools:
  - Bash
metadata:
  openclaw:
    emoji: "🎭"
    homepage: https://www.pincaimao.com
    primaryEnv: PCM_MOCK_INTERVIEW_KEY
    requires:
      env:
        - PCM_MOCK_INTERVIEW_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 74)May include surrounding context.

md
RESUME_FILE="/path/to/resume.docx"

# Step 1: 上传简历(可选)
UPLOAD=$(curl -s -X POST 'https://api.pincaimao.com/agents/v1/files/upload' \
  -H "Authorization: Bearer $PCM_MOCK_INTERVIEW_KEY" \
  -F "file=@$RESUME_FILE")
COS_KEY=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['cos_key'])")

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

md
# Step 2: 第一轮 - 开始面试
QUERY=$(echo "$JOB_INFO" | cut -c1-20)
ROUND1=$(curl -s -X POST 'https://api.pincaimao.com/agents/v1/chat/chat-messages' \
  -H "Authorization: Bearer $PCM_MOCK_INTERVIEW_KEY" \
  -H 'Content-Type: application/json' \
  -d "{

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

md
# Step 3: 后续轮次
USER_ANSWER="我有5年销售经验,擅长大客户开拓..."
curl -s -X POST 'https://api.pincaimao.com/agents/v1/chat/chat-messages' \
  -H "Authorization: Bearer $PCM_MOCK_INTERVIEW_KEY" \
  -H 'Content-Type: application/json' \
  -d "{

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill content and operational instructions are presented in Chinese, which effectively imposes a specific language on users and agents. The file does not indicate that Chinese is optional, nor does it offer an alternative language or user choice.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
98% confidence
Finding

The upload example transmits a resume file to an external service and returns a storage key, creating a clear external transfer of highly sensitive personal data. Because resumes commonly contain contact data, employment history, and identifiers, the privacy impact is non-trivial even if the transfer is intended.

Content

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

md
RESUME_FILE="/path/to/resume.docx"

# Step 1: 上传简历(可选)
UPLOAD=$(curl -s -X POST 'https://api.pincaimao.com/agents/v1/files/upload' \
  -H "Authorization: Bearer $PCM_MOCK_INTERVIEW_KEY" \
  -F "file=@$RESUME_FILE")
COS_KEY=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['cos_key'])")

External Transmission

Medium
Category
Data Exfiltration
Confidence
96% confidence
Finding

This finding duplicates the same external transmission at line 82, where interview session data is sent to api.pincaimao.com. In context, this is expected functionality, but it remains a genuine privacy/security concern because sensitive content leaves the local environment.

Content

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

md
# Step 2: 第一轮 - 开始面试
QUERY=$(echo "$JOB_INFO" | cut -c1-20)
ROUND1=$(curl -s -X POST 'https://api.pincaimao.com/agents/v1/chat/chat-messages' \
  -H "Authorization: Bearer $PCM_MOCK_INTERVIEW_KEY" \
  -H 'Content-Type: application/json' \
  -d "{

External Transmission

Medium
Category
Data Exfiltration
Confidence
96% confidence
Finding

This finding duplicates the same external transmission at line 82, where interview session data is sent to api.pincaimao.com. In context, this is expected functionality, but it remains a genuine privacy/security concern because sensitive content leaves the local environment.

Content

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

md
# Step 2: 第一轮 - 开始面试
QUERY=$(echo "$JOB_INFO" | cut -c1-20)
ROUND1=$(curl -s -X POST 'https://api.pincaimao.com/agents/v1/chat/chat-messages' \
  -H "Authorization: Bearer $PCM_MOCK_INTERVIEW_KEY" \
  -H 'Content-Type: application/json' \
  -d "{

External Transmission

Medium
Category
Data Exfiltration
Confidence
96% confidence
Finding

This duplicate finding again reflects outbound transmission of user interview responses to the external API in later turns. The context makes it legitimate product behavior, but not risk-free, because sensitive user-generated content is continuously exported.

Content

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

md
# Step 3: 后续轮次
USER_ANSWER="我有5年销售经验,擅长大客户开拓..."
curl -s -X POST 'https://api.pincaimao.com/agents/v1/chat/chat-messages' \
  -H "Authorization: Bearer $PCM_MOCK_INTERVIEW_KEY" \
  -H 'Content-Type: application/json' \
  -d "{

External Transmission

Medium
Category
Data Exfiltration
Confidence
96% confidence
Finding

This duplicate finding again reflects outbound transmission of user interview responses to the external API in later turns. The context makes it legitimate product behavior, but not risk-free, because sensitive user-generated content is continuously exported.

Content

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

md
# Step 3: 后续轮次
USER_ANSWER="我有5年销售经验,擅长大客户开拓..."
curl -s -X POST 'https://api.pincaimao.com/agents/v1/chat/chat-messages' \
  -H "Authorization: Bearer $PCM_MOCK_INTERVIEW_KEY" \
  -H 'Content-Type: application/json' \
  -d "{

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The manifest describes a mock interview API skill, but the implementation guidance requires the agent to use the generic Bash tool plus curl and python3 to perform requests and parse responses. While network access to the interview API is expected, depending on a shell execution capability is broader than the business purpose described and is not itself part of the declared user-facing function.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.