workflow-canvas
Fail
Audited by Gen Agent Trust Hub on Feb 17, 2026
Risk Level: HIGHCOMMAND_EXECUTIONREMOTE_CODE_EXECUTION
Full Analysis
- COMMAND_EXECUTION (HIGH): The script
scripts/test-workflow.shuses an unquoted heredoc (<<EOF) to generate a temporary Python script. In Bash, this causes the shell to perform variable expansion and command substitution inside the heredoc before it is written to the file. An attacker-controlledWORKFLOW_NAMEcontaining a subshell (e.g.,$(id)) would result in arbitrary command execution on the host system during the file generation process. - REMOTE_CODE_EXECUTION (HIGH): Even if the shell expansion is avoided, the resulting Python script in
scripts/test-workflow.shusesgetattr(workflow_module, '$workflow_name')where$workflow_nameis an unsanitized string. This allows for Python-level code injection by breaking out of the string literal within the generated Python file (e.g., using'); import os; os.system('...as the workflow name). - COMMAND_EXECUTION (MEDIUM): In
scripts/generate-workflow.sh, the script usessedwith a pipe delimiter (|) to perform string replacement for theBROKER_URLandBACKEND_URLvariables. If these variables contain the delimiter character or othersedmetacharacters, it can lead to argument injection or unexpected file modifications. - SAFE (BEST_PRACTICE): The templates provided in
templates/group-parallel.pyinclude synchronous calls to.get()within tasks. While not a direct security exploit, this is a dangerous Celery anti-pattern that can lead to distributed deadlocks and resource exhaustion.
Recommendations
- AI detected serious security threats
Audit Metadata