Back to skill

Security audit

Resume Studio

Security checks for vulnerabilities and agentic risk

Overview

This is a simple resume generator skill that handles personal resume data and writes local documents, with disclosure gaps but no hidden or malicious behavior found.

Reasonable to install if you are comfortable providing resume data to the local agent. Use a virtual environment, review generated files before sharing, choose explicit output paths, avoid storing resumes in shared folders, and delete files containing personal data when no longer needed.

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

Unpinned Third-Party Python Dependencies

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 7
Vulnerability Type: Supply-chain risk from unpinned dependencies
Risk Level: Medium

Vulnerable Code Snippet:

yaml
dependencies: "pip install python-docx fpdf2"

Technical Analysis

The Skill instructs users or agents to install python-docx and fpdf2 without specifying reviewed versions or package integrity hashes. Consequently, package resolution depends on whichever releases the configured Python package index serves at installation time.

This produces non-reproducible installations and creates exposure to a future compromised or malicious dependency release. The instruction does not use an untrusted custom package index, and no currently malicious package was identified; exploitation therefore depends on compromise of the package source, a dependency release, or the package-resolution environment.

Attack Path

  1. An attacker compromises a named dependency, one of its transitive dependencies, or the package index/resolution environment.
  2. The attacker publishes or serves a malicious version under the expected package name.
  3. A user or agent follows the documented pip install python-docx fpdf2 instruction.
  4. Because no versions or hashes are enforced, pip resolves and installs the attacker-controlled release.
  5. Malicious package behavior may execute during installation or when the resume-generation code imports the package.

Impact Assessment

Successful exploitation could execute arbitrary code with the privileges of the account performing the installation or running the Skill. This may expose resume data and other files accessible to that account, modify the local environment, or affect generated documents. The instruction itself does not request elevated privileges, so the attainable scope is normally limited to the installing user's permissions unless installation is performed by a privileged account.

Remediation
View remediation

Remediation Suggestions

  • Move dependencies into a reviewed requirements or lock file and pin exact versions.
  • Record and enforce cryptographic hashes, for example with pip install --require-hashes -r requirements.txt.
  • Review and lock transitive dependencies rather than constraining only direct dependencies.
  • Install packages in a dedicated virtual environment under an unprivileged account.
  • Use a trusted package index or an internally controlled artifact repository.
  • Establish automated dependency vulnerability scanning and a controlled process for testing and updating pinned versions.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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 (4)

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill description and feature list present substantially broader functionality than the implementation actually provides. In code, the class only stores resume fields and renders simple Word/PDF output; there is no web querying, AI optimization, style/template switching, photo handling, or language-specific logic.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill explicitly collects sensitive personal data including name, phone, email, location, education, and employment history, but provides no privacy notice, retention guidance, or handling constraints. In an agent ecosystem, this can lead to overcollection, unintended disclosure, or unsafe downstream use of highly identifying information.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The code writes resume contents containing sensitive personal information to local .docx and .pdf files without warning about file creation, persistence, or overwrite behavior. This creates a risk of exposing personal data through predictable filenames, accidental overwrites, shared directories, backups, or later unauthorized local access.

Content

No source excerpt is available for this finding.

Scope Creep

Low
Category
Excessive Agency
Confidence
70% confidence
Finding

Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Content

Scanner excerpt · LICENSE.txt (reported line 12)May include surrounding context.

text
permit persons to whom the Software is furnished to do so.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

Static analysis

No suspicious patterns detected.