prowler-api

Pass

Audited by Gen Agent Trust Hub on Oct 2, 2026

Risk Level: SAFEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONDYNAMIC_EXECUTION
Full Analysis
  • [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted external data related to cloud provider UIDs and scan findings which could be manipulated to influence agent behavior.
  • Ingestion points: Ingests provider_id, tenant_id, and scan finding data in api/models.py and tasks/tasks.py during asynchronous processing.
  • Boundary markers: Employs rls_transaction() context managers and @set_tenant decorators throughout the code (e.g., assets/celery_patterns.py) to isolate tenant data at the database level.
  • Capability inventory: The skill utilizes Bash, Write, Edit, and Task tools, allowing for file system modifications and shell command execution.
  • Sanitization: Instructions recommend explicit UID validation methods (e.g., validate_aws_uid) and strict UUID format checking using uuid.UUID() before database queries.
  • [DYNAMIC_EXECUTION]: The skill documents and warns against dangerous dynamic execution patterns while using standard dynamic attribute access for validation.
  • Evidence: In assets/security_patterns.py, the code provides a warning against using current_app.send_task(user_provided_task_name, args=args), identifying it as a pattern for arbitrary code execution.
  • Evidence: The model clean() method described in references/modeling-decisions.md uses getattr(self, f"validate_{self.provider}_uid")(self.uid) to dynamically select validation logic based on the provider type.
  • [COMMAND_EXECUTION]: The skill contains instructions for executing shell commands to manage the application backend and verify production readiness.
  • Evidence: SKILL.md provides shell commands for running the Django development server, Celery workers, and production deployment checks via uv run python manage.py check --deploy.
Audit Metadata
Risk Level
SAFE
Analyzed
Oct 2, 2026, 04:39 PM