Back to skill

Security audit

Quality Checker

Security checks for vulnerabilities and agentic risk

Overview

This is a local chapter-quality checker; the main concern is unpinned dependencies, not hidden or unsafe behavior.

Install this in a virtual environment and consider pinning rich and PyYAML before use. Only run it on chapter/config files you intend to read, and choose the optional output path deliberately because the script will create parent directories and write the report there.

Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Unpinned Dependencies

Low
Category
Supply Chain
Content
rich
PyYAML
Confidence
95% confidence
Finding
The dependency 'rich' is unpinned, so installs may resolve to different versions over time, reducing build reproducibility and increasing supply-chain risk if a bad or incompatible release is published. While this alone is not an immediate exploit, it weakens dependency integrity controls and can expose the skill to unexpected vulnerable versions.

Unpinned Dependencies

Low
Category
Supply Chain
Content
rich
PyYAML
Confidence
99% confidence
Finding
The dependency 'PyYAML' is unpinned, which is especially risky because this package has a history of serious security issues. Leaving it unconstrained can cause installs to pick vulnerable or behavior-changing versions, increasing the likelihood of deserialization-related compromise if YAML from untrusted sources is ever processed.

Known Vulnerable Dependency: PyYAML — 8 advisory(ies): CVE-2019-20477 (Deserialization of Untrusted Data in PyYAML); CVE-2020-1747 (Improper Input Validation in PyYAML); CVE-2020-14343 (Improper Input Validation in PyYAML) +5 more

Critical
Category
Supply Chain
Confidence
98% confidence
Finding
Including PyYAML without a safe version constraint is dangerous because multiple known advisories affect historical releases, including unsafe deserialization and input-validation flaws. In an agent skill context, if chapter content, configuration, or external data is ever loaded as YAML, exploitation could lead to code execution, data tampering, or denial of service depending on how the library is used.

Static analysis

No suspicious patterns detected.