Back to skill

Security audit

Talent Radar

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly matches its stated resume-to-job matching purpose, but it needs review because it handles sensitive hiring data while containing inconsistent fairness guidance and unsafe optional package-install instructions.

Install only if you are comfortable processing resumes/JDs locally and treating outputs as advisory. Before operational use, fix or ignore the outdated fairness reference that mentions school-prestige/stability scoring, require human review for hiring decisions, obtain consent for candidate data, and use an isolated pinned environment for any PDF extraction dependencies.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
references/pdf_extraction_guide.md:26
Finding

Unpinned Third-Party Packages Installed into the System Python Environment

Content
View full analysis
/AppData/Local/Programs/Python/Python311/python.exe` 3. **先安装pypdf**:`pip install pypdf` 4. **处理中文路径**:使用 `r''` 原始字符串 ### 替代方案 - 如果pypdf不可用,可尝试 PyMuPDF (fitz) - 如果需要OCR(扫描件PDF),需要额外安装 pytesseract ``` From `references/windows_pdf_extraction.md:7-11`: ```markdown ### 安装 ```bash # 使用系统 Python 安装(venv 可能没有 pip) pip install pypdf ``` ``` From `references/windows_pdf_extraction.md:34-37`: ```markdown ### pdfplumber ```bash pip install pdfplumber ``` ``` From `references/windows_pdf_extraction.md:53-55`: ```markdown ### PyMuPDF (fitz) ```bash pip install PyMuPDF ``` ``` ### Technical Analysis The PDF extraction workflow instructs the agent or user to install mutable third-party packages without version constraints, integrity hashes, a lockfile, an explicit trusted package index, or package provenance verification. It also recommends using the system Python interpreter when the virtual environment lacks pip. Commands such as `pip install pypdf`, `pip install pdfplumber`, and `pip install PyMuPDF` resolve whichever package release is currently selected by the configured Python package index. The resulting installation can therefore change after the Skill has been audited. If the configured package index or a selected package release is compromised, package installation may execute attacker-controlled build or installation logic. Installing into the system interpreter also increases the chance of modifying an existing Python environment or introducing incompatible transitive dependencies. Th ...[truncated 1868 chars]
Remediation
View remediation
pdfplumber== PyMuPDF== ``` 3. Generate a dependency lockfile containing cryptographic hashes and install with hash enforcement: ```bash python -m pip install --require-hashes -r requirements.lock ``` 4. Explicitly use the intended trusted package index and prevent unexpected fallback indexes where operationally appropriate: ```bash python -m pip install \ --index-url https://pypi.org/simple \ --require-hashes \ -r requirements.lock ``` 5. Review and pin all transitive dependencies rather than only top-level PDF libraries. 6. Require explicit user confirmation before installing any package or changing a Python environment. 7. Prefer a prebuilt, reviewed execution environment containing the required PDF parser so dependency installation is not performed during Skill execution. 8. Document OCR dependencies precisely, including pinned versions, native executable requirements, provenance, and integrity verification. 9. Add rollback and cleanup instructions so the isolated environment can be removed after processing sensitive resumes. ]]>
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (19)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

声明的核心能力是‘人岗匹配诊断’,即比较简历与岗位要求并输出匹配结论/建议;而实际代码只是一个JD解析器,负责从岗位文本中抽取结构化字段。它没有任何简历输入模型、匹配评分、差距分析、候选人排序或报告生成逻辑。因此其主要用途与声明存在实质性偏差。代码属于该系统的一个支持性子模块可以理解,但就该代码块本身而言,不能支撑所声明的完整技能描述。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

声明的核心能力是‘简历+岗位描述’的人岗匹配与诊断,且触发前提要求同时具备简历和目标岗位信息。但代码只对单份简历文本做结构化信息抽取,属于上游数据解析组件,而不是完整的人岗匹配系统。代码没有接收或分析岗位描述,没有比较简历与岗位要求,也没有生成匹配报告、差距分析、优化建议或推荐列表。因此其实际行为与声明的主要用途存在明显不一致。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The natural-language description states that the skill mainly supports Chinese resumes and job descriptions, and recommends translating English or other language input into Chinese before use. This is a language/locale constraint presented as the default operating policy rather than a user choice, which matches the policy-violation category for forced language or locale behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The entire report template is written in Chinese and provides no indication that language selection is optional or constrained to a China-specific workflow. Under the policy, hard-coding a specific language without user opt-in can constitute a locale-policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown template is entirely written in Chinese and provides no indication that the user can opt into another language or locale. Under the policy, forcing a specific language without user choice is a natural-language policy violation unless the locale restriction is explicitly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The entire skill documentation, examples, prompts, and usage guidance are presented only in Chinese, and the activation examples in L082-L084 are likewise Chinese-only. Under the policy for natural-language violations, forcing a specific language without user opt-in can be a locale-policy issue when no alternative language choice or justification is provided.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README states the tool does not score based on school name, gender, or age, but later lists '教育匹配' as evaluating '学历、专业、院校'. In a hiring context, this contradiction can reintroduce protected or proxy attributes into ranking logic, creating discrimination, compliance, and fairness risk despite the earlier assurance.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This markdown file contains user-facing natural-language instructions only in Chinese, and there is no indication that users may choose another language or that the skill is intentionally restricted to a Chinese-speaking or China-specific audience. The policy requires flagging forced language or locale constraints unless user opt-in or clear justification is provided.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The entire guide is written in Chinese and does not indicate that language selection is optional or that the skill is specifically limited to a Chinese-speaking context. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The file is entirely written in Chinese, including the title and operational guidance, but does not indicate that the skill is region-specific or provide an opt-in for language selection. Under the language/locale policy, forcing a specific language without user choice can be a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The module docstring is written entirely in Chinese, and all natural-language descriptions in the file follow that locale without any indication that other languages are supported. Under the stated policy, forcing a specific language without user opt-in is a locale-policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This Python file's natural-language interface elements, including the module docstring and subsequent user-facing strings, are written exclusively in Chinese. The policy requires flagging language or locale constraints when the skill forces a specific language without user opt-in, and this file provides no indication that another language is supported or selectable.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This Python file contains natural-language strings, comments, docstrings, and generated report content entirely in Chinese, including report titles and recommendations. Under the policy rule, forcing a specific language without user opt-in is a locale/language policy violation because users cannot choose another language or see a documented regional constraint.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

This markdown file contains user-facing natural language entirely in Chinese, and there is no indication that the user can choose another language or that the content is intentionally restricted to a Chinese-speaking or region-specific context. Under the language/locale policy rule, forcing a specific language without opt-in is a policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

This markdown file presents all content in Chinese, including the title and section headings, with no indication that the language is optional or tailored to a specific locale. Under the policy rule for natural-language violations, forcing a specific language without user opt-in can be a locale policy concern.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The README claims '无数据存储', but the project also instructs users to handle, protect, and delete resumes containing personal data, implying local retention or at least temporary persistence during processing. This mismatch can mislead operators about privacy properties and lead to unsafe deployment assumptions for sensitive candidate data.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The file title and entire skill documentation are written only in Chinese, with no indication that users may choose another language or that the skill is intended exclusively for a Chinese-speaking or region-specific context. Under the stated policy, forcing a specific language without opt-in can be a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

This markdown file contains only Chinese-language content and does not state that it is intended specifically for a Chinese-speaking audience or provide an opt-in for language/locale. Under the language/locale policy criterion, forcing a single language without user choice can be a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

This code file contains user-facing natural language entirely in Chinese in the module docstring, and the parser logic is built around Chinese section headers and terms. Under the policy, forcing a specific language or locale without user opt-in can be a natural-language policy violation unless the locale restriction is explicitly documented and justified.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.