Back to skill

Security audit

Global Holidays

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward guide for using a holiday-calculation Python package, with an installation-safety concern but no evidence of hidden or malicious behavior.

Install this only in a dedicated virtual environment and prefer a reviewed, pinned holidays version. Avoid using --break-system-packages unless you understand that it can alter the active Python environment.

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:5
Finding
Unpinned Third-Party Dependency Installation with System Package Safeguards Bypassed<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:5`, `SKILL.md:25-38`, and `SKILL.md:231-239` **Vulnerability Type**: Unpinned third-party dependency and unsafe installation configuration **Risk Level**: Medium ### Vulnerable Code The Skill metadata declares the `holidays` package without a version constraint: ```yaml metadata: {"clawdbot":{"emoji":"🗓️","requires":{"bins":["python","pip"]}, "install":[{"id":"pip","kind":"pip","package":"holidays","label":"Install holidays package"}]}} ``` The primary installation instructions likewise install the latest available release and recommend bypassing system package protections: ```markdown ## Installation **IMPORTANT: Always use a virtual environment or `--break-system-packages` flag.** ```bash pip install holidays --break-system-packages ``` **For production use, pin to a specific version:** ```bash pip install holidays==0.58 --break-system-packages ``` ``` The dependency and security guidance repeat the unsafe installation option: ```markdown ## Dependencies - **Python:** 3.10+ - **Package:** `holidays` (PyPI). Install with: `pip install holidays --break-system-packages` - **No external system dependencies required** ## Security Considerations 1. **Package installation:** Use `--break-system-packages` flag (required in this environment) and consider pinning to a specific version ``` ### Technical Analysis The installation metadata and default commands resolve `holidays` from PyPI without an exact version or cryptographic hash. The effective package contents can therefore change after this Skill has been reviewed. A compromised maintainer account, compromised package distribution infrastructure, or malicious future release could cause the Skill to install code that was not included in the audited artifact. The documented production example pins version `0.58`, but this does not mitigate the default metadata installation or the primary unpinned command. It also lacks hash verification ...[truncated 2477 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the dependency to an exact, reviewed version in the Skill metadata rather than declaring only `holidays`. 2. Replace every unpinned installation example with an exact version constraint. 3. Record cryptographic hashes for all accepted distribution artifacts and install with `pip --require-hashes` from a reviewed requirements or lock file. 4. Install the dependency inside a dedicated virtual environment. Do not present `--break-system-packages` as an alternative to isolation. 5. Remove `--break-system-packages` from the metadata, installation examples, dependency section, and security guidance. 6. Run package installation and Skill execution as an unprivileged account with only the filesystem and network permissions required for holiday calculations. 7. Establish a dependency update process that reviews release changes, refreshes hashes, and reruns security checks before changing the pinned version. 8. Where supported by the Skill platform, use an internally controlled package repository or artifact mirror containing only reviewed distributions. A hardened installation flow should resemble: ```bash python -m venv .venv . .venv/bin/activate python -m pip install --require-hashes -r requirements.txt ``` The corresponding `requirements.txt` should pin the reviewed version and include hashes for every permitted artifact. ]]>
Vulnerability Patterns
  • 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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep

Static analysis

No suspicious patterns detected.