securing-container-registry-images

Pass

Audited by Gen Agent Trust Hub on Sep 15, 2026

Risk Level: SAFEREMOTE_CODE_EXECUTIONCOMMAND_EXECUTIONMETADATA_POISONINGINDIRECT_PROMPT_INJECTION
Full Analysis
  • [REMOTE_CODE_EXECUTION]: The skill references setup scripts for Grype and Syft from Anchore's official GitHub repositories.
  • Evidence: The commands curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh and curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh are included in the documentation and agent script error messages.
  • Security Note: These sources represent well-known security tools, and the download patterns are consistent with their official installation procedures.
  • [COMMAND_EXECUTION]: The scripts/agent.py script invokes security tools such as Trivy, Syft, and Cosign using the subprocess module.
  • Evidence: The code in scan_image_trivy, generate_sbom, and verify_image_signature uses subprocess.run() with arguments passed as a list.
  • Security Note: By passing command arguments as a list and avoiding shell=True, the script correctly mitigates the risk of shell command injection from potentially untrusted image references.
  • [METADATA_POISONING]: There is a minor inconsistency between the author field in the skill's frontmatter ('mahipal') and the copyright owner in the license file ('mukul975'). This is a documentation discrepancy rather than a malicious pattern.
  • [INDIRECT_PROMPT_INJECTION]: The skill processes container image references, which are external strings that could contain malicious content designed to influence downstream logic.
  • Ingestion points: Image references provided via the --image flag to scripts/agent.py.
  • Boundary markers: The script does not use specific delimiters or warnings for image strings, but treats them as literal arguments.
  • Capability inventory: The agent has permissions to execute binaries, write scan reports to the local file system, and interact with the AWS ECR service.
  • Sanitization: Input is treated as a literal argument string in subprocess calls, ensuring that shell-specific characters are not interpreted as commands.
Audit Metadata
Risk Level
SAFE
Analyzed
Sep 15, 2026, 05:19 AM