photo-metadata
Pass
Audited by Gen Agent Trust Hub on Jul 26, 2026
Risk Level: SAFE
Full Analysis
- [COMMAND_EXECUTION]: The
embed.pyscript automates the use of theexiftoolbinary. The implementation usessubprocess.runwith an argument list rather than a shell string, which effectively prevents shell injection vulnerabilities. Additionally, the script uses the--delimiter in the command-line call to ensure that filenames starting with a dash are treated as paths rather than additional options toexiftool. - [COMMAND_EXECUTION]: The script includes a dedicated security check to prevent path traversal. It resolves the absolute path of each target file and verifies that it resides within the intended source directory, preventing an attacker-controlled manifest from accessing or overwriting sensitive files elsewhere on the system.
- [INDIRECT_PROMPT_INJECTION]: The skill processes user-supplied metadata from a JSON manifest. While this data is eventually embedded into image files (creating a surface for indirect injection if downstream tools interpret the metadata), the risk is low. The script acts as a pass-through utility, and the provided instructions emphasize the importance of neutral, descriptive tagging. Mandatory Evidence Chain:
- Ingestion points: The
embed.pyscript reads image metadata from a user-provided JSON manifest file. - Boundary markers: The script uses fixed tag prefixes (e.g.,
-IPTC:By-line=) when passing values toexiftool, ensuring that manifest content is treated as data for specific fields. - Capability inventory: The skill uses
subprocess.runto executeexiftool,Path.mkdirto create directories, andshutil.copy2to copy images. These are standard for its stated purpose. - Sanitization: The script performs path validation using
Path.resolve().relative_to()to prevent traversal attacks.
Audit Metadata