File tree Expand file tree Collapse file tree 2 files changed +79
-41
lines changed
Expand file tree Collapse file tree 2 files changed +79
-41
lines changed Original file line number Diff line number Diff line change 3939 # ruleid: argo-workflow-parameter-command-injection
4040 source : |
4141 print("{{inputs.parameters.message}}")
42+ - script :
43+ name : ' '
44+ image : node:9.1-alpine
45+ command :
46+ - node
47+ resources : {}
48+ # ruleid: argo-workflow-parameter-command-injection
49+ source : |
50+ var rand = Math.floor(Math.random() * 100);
51+ console.log("{{inputs.parameters.message}}");
52+ - script :
53+ name : ' '
54+ image : ruby:3.0
55+ command :
56+ - ruby
57+ resources : {}
58+ # ruleid: argo-workflow-parameter-command-injection
59+ source : |
60+ puts "{{inputs.parameters.message}}"
4261 - name : print-message-args
4362 inputs :
4463 parameters :
4867 command : [sh, -c]
4968 # ruleid: argo-workflow-parameter-command-injection
5069 args : ["echo result was: {{inputs.parameters.message}}"]
70+ - name : print-message-python
71+ inputs :
72+ parameters :
73+ - name : message
74+ outputs : {}
75+ metadata : {}
76+ containerSet :
77+ containers :
78+ - name : main
79+ image : python:alpine3.6
80+ command :
81+ - python
82+ - ' -c'
83+ # ruleid: argo-workflow-parameter-command-injection
84+ args : ["echo result was: {{inputs.parameters.message}}"]
85+ resources : {}
86+ - name : print-message-python2
87+ inputs :
88+ parameters :
89+ - name : message
90+ outputs : {}
91+ metadata : {}
92+ containerSet :
93+ containers :
94+ - name : main
95+ image : python:alpine3.6
96+ command :
97+ - python
98+ - ' -c'
99+ args :
100+ # ruleid: argo-workflow-parameter-command-injection
101+ - |
102+ print("hi")
103+ print("{{inputs.parameters.message}}")
104+ resources : {}
51105 - name : print-message-secure
52106 inputs :
53107 parameters :
73127 command : [sh, -c]
74128 # ok: argo-workflow-parameter-command-injection
75129 args : ["echo result was: $MESSAGE"]
130+
Original file line number Diff line number Diff line change @@ -29,64 +29,47 @@ rules:
2929 metavariable : $VERSION
3030 regex : (argoproj.io.*)
3131 - pattern-either :
32- - patterns :
33- - pattern-inside : |
34- command:
35- ...
36- - python
37- ...
38- ...
39- source:
40- $SCRIPT
41- - focus-metavariable : $SCRIPT
42- - metavariable-pattern :
43- metavariable : $SCRIPT
44- language : python
45- patterns :
46- - pattern : |
47- $FUNC(..., $PARAM, ...)
48- - metavariable-pattern :
49- metavariable : $PARAM
50- pattern-either :
51- - pattern-regex : (.*{{.*inputs.parameters.*}}.*)
52- - pattern-regex : (.*{{.*workflow.parameters.*}}.*)
5332 - patterns :
5433 - pattern-inside : |
5534 command:
5635 ...
5736 - $LANG
5837 ...
5938 ...
60- source:
39+ source:
6140 $SCRIPT
6241 - metavariable-regex :
6342 metavariable : $LANG
64- regex : (bash|sh)
65- - focus-metavariable : $SCRIPT
43+ regex : .*(sh|bash|ksh|csh|tcsh|zsh|python|python3|node|perl|ruby|php|lua|awk|sed|powershell|fish|dash|R|grooby|scala|clj|elixir|coffee|dart|haskell|ocaml).*
6644 - metavariable-pattern :
6745 metavariable : $SCRIPT
68- language : bash
69- patterns :
70- - pattern : |
71- $CMD ... $PARAM ...
72- - metavariable-pattern :
73- metavariable : $PARAM
74- pattern-either :
75- - pattern-regex : (.*{{.*inputs.parameters.*}}.*)
76- - pattern-regex : (.*{{.*workflow.parameters.*}}.*)
46+ pattern-either :
47+ - pattern-regex : (.*{{.*inputs.parameters.*}}.*)
48+ - pattern-regex : (.*{{.*workflow.parameters.*}}.*)
49+ - focus-metavariable : $SCRIPT
7750 - patterns :
78- - pattern-inside : |
79- container:
80- ...
81- command: $LANG
82- ...
83- args: $PARAM
51+ - pattern-either :
52+ - pattern-inside : |
53+ container:
54+ ...
55+ command: $LANG
56+ ...
57+ args: $PARAM
58+ - pattern-inside : |
59+ containerSet:
60+ ...
61+ containers:
62+ - ...
63+ command: $LANG
64+ ...
65+ args: $PARAM
8466 - metavariable-regex :
8567 metavariable : $LANG
86- regex : .*(sh|bash|ksh|csh|tcsh|zsh).*
68+ regex : .*(sh|bash|ksh|csh|tcsh|zsh|python|python3|node|perl|ruby|php|lua|awk|sed|powershell|fish|dash|R|grooby|scala|clj|elixir|coffee|dart|haskell|ocaml ).*
8769 - metavariable-pattern :
8870 metavariable : $PARAM
89- pattern-either :
71+ pattern-either :
9072 - pattern-regex : (.*{{.*inputs.parameters.*}}.*)
9173 - pattern-regex : (.*{{.*workflow.parameters.*}}.*)
9274 - focus-metavariable : $PARAM
75+
You can’t perform that action at this time.
0 commit comments