Back to skill

Security audit

第三阶段:面试分析报告生成

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent, but it handles sensitive candidate data and permits unspecified cloud OCR without clear consent or privacy safeguards.

Install only if you are comfortable using it on sensitive HR records. Keep processing local where possible, avoid cloud OCR unless your organization has approved the provider and the user explicitly authorizes the upload, and define retention, access, and sharing rules for both source files and generated reports.

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:388
Finding

Uncontrolled Disclosure of Candidate Data to an Unspecified Cloud OCR Service

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 388–395
Vulnerability Type: Uncontrolled external processing of sensitive candidate documents
Risk Level: Medium

Vulnerable Code Snippet

markdown
### 第一步:扫描候选人文件夹,识别5份必含材料

### 第二步:读取材料内容
| 文件格式 | 解析方式 |
|:---|:---|
| .docx | python-docx库 |
| .pdf | pdfplumber/pdftotext/PyMuPDF |
| .jpg/.png等图片 | pytesseract OCR或云端OCR API |

The quoted source text is preserved verbatim as evidence. It instructs the Agent to scan candidate materials and permits image processing through either local OCR or a cloud OCR API.

Technical Analysis

Candidate resumes, application forms, and interview records may contain personally identifiable information, contact details, education and employment history, salary information, interview evaluations, and other confidential recruitment data.

The workflow permits an unspecified cloud OCR API without defining:

  • An approved provider or endpoint allowlist
  • Explicit user consent before external transmission
  • A local-only processing requirement or safe default
  • Data minimization and redaction controls
  • Encryption, retention, deletion, or provider-access requirements
  • A restriction against using submitted data for service training
  • Audit logging for external disclosures

As a result, an Agent following the Skill may select an external OCR provider and upload entire candidate images even when local OCR is available. The issue is a risky configuration and workflow design rather than evidence of intentionally malicious behavior.

Attack Path

  1. A user provides a candidate directory containing resumes, application forms, or interview records in image format.
  2. The Skill instructs the Agent to scan the directory and read the candidate materials.
  3. The Agent selects the permitted cloud OCR option instead of local pytesseract.
  4. Full document images are transmitted to an unspecified third-party service.
  5. The service processes and may retain, log, ...[truncated 903 chars]
Remediation
View remediation

Remediation Suggestions

  1. Make local OCR with pytesseract the mandatory default for candidate documents.
  2. Require explicit, informed user authorization before transmitting any document to an external OCR provider.
  3. Maintain an allowlist of approved providers and endpoints; prohibit arbitrary cloud OCR services.
  4. Display the provider name, destination, document scope, and data categories before requesting approval.
  5. Redact unnecessary identity, contact, salary, and other sensitive fields before upload.
  6. Require TLS transport, suitable data-processing terms, access controls, defined retention limits, deletion guarantees, and a prohibition on training with submitted data.
  7. Add a strict local-only mode that prevents all external transmission.
  8. Record auditable consent and disclosure events without logging document contents or sensitive extracted text.
  9. If external processing is not essential, remove the cloud OCR option entirely and report locally unprocessable files to the user.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill recommends cloud OCR or external OCR APIs for candidate documents without warning that resumes, interview records, and registration forms may be transmitted to third parties. In this context, that can leak sensitive personal and employment data outside the organization's trust boundary, potentially violating confidentiality obligations, internal policy, or privacy law.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description and the rest of the document impose Chinese-language output conventions and formatting requirements, but the skill does not offer a language choice or state that it is limited to a China-specific or Chinese-only compliance context. This is a natural-language locale policy concern because the skill effectively forces one language by default.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill is explicitly designed to process highly sensitive candidate materials, including resumes, application forms, interview records, and salary expectations, but it provides no privacy, retention, minimization, or access-control guidance. In an HR context, these files routinely contain PII and potentially protected employment data, so omission of handling safeguards materially increases the risk of unauthorized disclosure or misuse.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

The document explicitly labels the report structure as '12章' at L072, but the manifest description claims a fixed 11-chapter structure, and later generation steps also refer to an 11-chapter report. This is an active contradiction in the skill's own documentation about what it is intended to produce.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
98% confidence
Finding

L405 and L415 state that the report should be built/generated as an '11章结构' report, but the earlier section at L072 defines a '12章' structure and enumerates twelve sections through 薪酬与试用期建议. This is a direct intent-code/documentation divergence within the file's operational instructions.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.