cursor-create-plugin-scaffold

Pass

Audited by Gen Agent Trust Hub on Sep 19, 2026

Risk Level: SAFEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTION
Full Analysis
  • [INDIRECT_PROMPT_INJECTION]: The skill takes user-supplied strings (plugin name, description, author, license) and interpolates them into generated files like plugin.json and SKILL.md.
  • Ingestion points: The scaffold_cursor_plugin_fixture function in scripts/cursor_plugin_scaffold_fixture.py accepts these strings as arguments.
  • Boundary markers: The script uses json.dumps for the manifest file, which provides proper character escaping. Markdown files use basic string interpolation without explicit boundary delimiters for user content.
  • Capability inventory: The skill can create directories and write text files to the local file system via the pathlib module.
  • Sanitization: The plugin name is strictly validated against a kebab-case regular expression (^[a-z0-9]+(?:-[a-z0-9]+)*$). Other strings are processed with .strip(), but no complex sanitization is performed on the content of the description or author fields.
  • [COMMAND_EXECUTION]: The skill instructions call for the execution of a local Python script, scripts/cursor_plugin_scaffold_fixture.py, to perform file system operations.
  • Execution Details: The script is part of the skill package and does not accept shell commands as input. It uses pathlib for file operations rather than spawning shell processes.
  • Safety Measures: The script implements robust path validation using .resolve() and .relative_to() to ensure file creation stays within the intended project boundary. It also requires the presence of a specific marker file (.cursor-scaffold-disposable-fixture) to confirm the destination is intended for scaffolding.
Audit Metadata
Risk Level
SAFE
Analyzed
Sep 19, 2026, 12:15 PM