---
source: crates/ruff_linter/src/rules/flake8_bandit/mod.rs
---
S603 `subprocess` call: check for execution of untrusted input
 --> S603.py:5:1
  |
3 | # Different Popen wrappers are checked.
4 | a = input()
5 | Popen(a, shell=False)
  | ^^^^^
6 | call(a, shell=False)
7 | check_call(a, shell=False)
  |

S603 `subprocess` call: check for execution of untrusted input
 --> S603.py:6:1
  |
4 | a = input()
5 | Popen(a, shell=False)
6 | call(a, shell=False)
  | ^^^^
7 | check_call(a, shell=False)
8 | check_output(a, shell=False)
  |

S603 `subprocess` call: check for execution of untrusted input
 --> S603.py:7:1
  |
5 | Popen(a, shell=False)
6 | call(a, shell=False)
7 | check_call(a, shell=False)
  | ^^^^^^^^^^
8 | check_output(a, shell=False)
9 | run(a, shell=False)
  |

S603 `subprocess` call: check for execution of untrusted input
 --> S603.py:8:1
  |
6 | call(a, shell=False)
7 | check_call(a, shell=False)
8 | check_output(a, shell=False)
  | ^^^^^^^^^^^^
9 | run(a, shell=False)
  |

S603 `subprocess` call: check for execution of untrusted input
  --> S603.py:9:1
   |
 7 | check_call(a, shell=False)
 8 | check_output(a, shell=False)
 9 | run(a, shell=False)
   | ^^^
10 |
11 | # Falsey values are treated as false.
   |

S603 `subprocess` call: check for execution of untrusted input
  --> S603.py:12:1
   |
11 | # Falsey values are treated as false.
12 | Popen(a, shell=0)
   | ^^^^^
13 | Popen(a, shell=[])
14 | Popen(a, shell={})
   |

S603 `subprocess` call: check for execution of untrusted input
  --> S603.py:13:1
   |
11 | # Falsey values are treated as false.
12 | Popen(a, shell=0)
13 | Popen(a, shell=[])
   | ^^^^^
14 | Popen(a, shell={})
15 | Popen(a, shell=None)
   |

S603 `subprocess` call: check for execution of untrusted input
  --> S603.py:14:1
   |
12 | Popen(a, shell=0)
13 | Popen(a, shell=[])
14 | Popen(a, shell={})
   | ^^^^^
15 | Popen(a, shell=None)
   |

S603 `subprocess` call: check for execution of untrusted input
  --> S603.py:15:1
   |
13 | Popen(a, shell=[])
14 | Popen(a, shell={})
15 | Popen(a, shell=None)
   | ^^^^^
16 |
17 | # Unknown values are treated as falsey.
   |

S603 `subprocess` call: check for execution of untrusted input
  --> S603.py:18:1
   |
17 | # Unknown values are treated as falsey.
18 | Popen(a, shell=True if True else False)
   | ^^^^^
19 |
20 | # No value is also caught.
   |

S603 `subprocess` call: check for execution of untrusted input
  --> S603.py:21:1
   |
20 | # No value is also caught.
21 | Popen(a)
   | ^^^^^
22 |
23 | # Literals are fine, they're trusted.
   |

S603 `subprocess` call: check for execution of untrusted input
  --> S603.py:34:1
   |
32 | # Not through assignments though.
33 | cmd = ["true"]
34 | run(cmd)
   | ^^^
35 |
36 | # Instant named expressions are fine.
   |

S603 `subprocess` call: check for execution of untrusted input
  --> S603.py:41:1
   |
39 | # But non-instant are not.
40 | (e := "echo")
41 | run(e)
   | ^^^
   |
