Back to skill

Security audit

Form Builder Pro

Security checks across malware telemetry and agentic risk

Overview

This is a coherent form-building skill with dependency and untrusted-template cautions, but no evidence of hidden, destructive, persistent, or unrelated behavior.

Install only if you are comfortable managing Python dependencies yourself. For production use, pin reviewed versions of jsonschema, PyYAML, and Jinja2, and do not load form configs or render templates from untrusted sources unless you add validation and sandboxing.

SkillSpector

By NVIDIA
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 (5)

Unpinned Dependencies

Low
Category
Supply Chain
Content
jsonschema>=4.19.0
pyyaml>=6.0
jinja2>=3.1.0
Confidence
89% confidence
Finding
The dependency is specified with only a lower bound, which allows builds to resolve to different versions over time and can unexpectedly introduce vulnerable or incompatible releases. In a form engine that processes schemas and renders dynamic content, dependency drift increases supply-chain risk and makes security posture harder to reproduce and audit.

Unpinned Dependencies

Low
Category
Supply Chain
Content
jsonschema>=4.19.0
pyyaml>=6.0
jinja2>=3.1.0
Confidence
97% confidence
Finding
PyYAML is unpinned and the package family has a history of unsafe deserialization issues, so allowing arbitrary version resolution creates meaningful risk in addition to reproducibility problems. Given this skill is a form builder that may ingest configuration-like data, YAML handling in the broader project context makes dependency hygiene more security-sensitive than in a purely internal utility.

Unpinned Dependencies

Low
Category
Supply Chain
Content
jsonschema>=4.19.0
pyyaml>=6.0
jinja2>=3.1.0
Confidence
95% confidence
Finding
Jinja2 is unpinned, which permits uncontrolled upgrades or transitive resolution changes that may pull in versions with known sandbox or template-related flaws. Because this skill describes dynamic rendering and conditional logic, template security is directly relevant, making version drift more dangerous in context.

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
96% confidence
Finding
The requirement allows PyYAML>=6.0, which can include versions affected by published advisories depending on resolver behavior and deployment timing. In a form-building product that may import or process user-supplied configuration, a vulnerable YAML library can enable unsafe deserialization or other parser-related attacks with serious consequences.

Known Vulnerable Dependency: jinja2 — 10 advisory(ies): CVE-2019-10906 (Jinja2 sandbox escape via string formatting); CVE-2014-1402 (Incorrect Privilege Assignment in Jinja2); CVE-2025-27516 (Jinja2 vulnerable to sandbox breakout through attr filter selecting format metho) +7 more

High
Category
Supply Chain
Confidence
94% confidence
Finding
The requirement allows Jinja2>=3.1.0, which may resolve to versions with known security issues, and Jinja2 has a history of sandbox escape and template injection-related advisories. This is especially concerning here because the skill explicitly supports dynamic rendering, so templating is likely part of the core attack surface rather than an incidental dependency.

VirusTotal

66/66 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.