Back to skill

Security audit

Resume Html

Security checks for vulnerabilities and agentic risk

Overview

This skill coherently helps create local HTML and PDF resumes, with ordinary privacy and dependency cautions.

Before installing, understand that generated resumes may embed sensitive personal data such as photos, phone numbers, email addresses, locations, salary expectations, education, and work history. Use only the details you intend to share, and consider installing Playwright/Chromium in a sandbox or with pinned versions.

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 Playwright and Chromium Dependencies

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 7
Vulnerability Type: Unpinned third-party dependencies and mutable browser artifacts
Risk Level: Medium

yaml
dependencies: "pip install playwright && playwright install chromium"

Technical Analysis

The dependency installation command does not pin Playwright to a reviewed version and does not verify package or browser artifact integrity. Consequently, executing it retrieves whatever Playwright release and Chromium artifact the upstream sources resolve to at installation time.

This creates a non-reproducible supply-chain boundary: the effective installed components can change after the Skill has been audited. If an upstream package, package-publishing account, package index, download endpoint, dependency, or browser artifact is compromised, attacker-controlled installation behavior or executable content could be introduced without any modification to this repository.

The command uses the expected Playwright package name and does not, by itself, demonstrate dependency confusion or an actively malicious package. The risk arises from mutable, unverified third-party artifacts rather than from confirmed malicious upstream content.

Attack Path

  1. An attacker compromises a relevant upstream package release, publishing account, distribution endpoint, transitive dependency, or browser artifact.
  2. A user or agent follows the dependency declaration and runs pip install playwright.
  3. The package manager resolves and installs the current mutable release rather than a previously audited version.
  4. The user or agent runs playwright install chromium, downloading an additional executable browser artifact without project-level integrity verification.
  5. Malicious installation behavior or executable content runs when the affected component is installed or subsequently invoked for PDF generation.

Impact Assessment

A compromised dependenc ...[truncated 646 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin Playwright to an explicitly reviewed version, for example with an exact playwright==X.Y.Z constraint.
  2. Store dependencies in a lock file and require cryptographic hashes, such as a hash-locked requirements file installed with pip install --require-hashes.
  3. Pin and document the corresponding Chromium revision instead of implicitly accepting whichever browser payload the selected package resolves at installation time.
  4. Retrieve packages only from explicitly configured, trusted repositories and prevent fallback to untrusted indexes.
  5. Verify browser downloads using publisher-provided checksums or signatures where supported.
  6. Perform installation and PDF generation in a non-privileged, isolated container or sandbox with restricted filesystem and network access.
  7. Regularly review pinned versions for security updates, update them through a controlled process, and regenerate integrity hashes after review.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill explicitly supports embedding photos and contact details into generated HTML and PDF resumes, but the user-facing description does not warn that sensitive personal data will be written into output files. This can lead users to unknowingly create shareable artifacts containing PII, increasing the risk of unintended disclosure, especially when resumes are stored, synced, or sent onward.

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.