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.jsonandSKILL.md. - Ingestion points: The
scaffold_cursor_plugin_fixturefunction inscripts/cursor_plugin_scaffold_fixture.pyaccepts these strings as arguments. - Boundary markers: The script uses
json.dumpsfor 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
pathlibmodule. - 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
pathlibfor 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