PyCQA / PyCQA/bandit

create_subprocess_exec/shell

Open
#619 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
8.3k
Forks
836
Avg merge
5d 3h
Merged PRs (30d)
1

Description

Not sure if you want to handle this case as well. But, when writing code with asyncio, instead of using the subprocess module, people are likely to use create_subprocess_exec():
https://docs.python.org/3/library/asyncio-subprocess.html#asyncio.create_subprocess_exec

So, maybe should catch those uses as well?

This often uses flags from the subprocess module (e.g. PIPE), so it would also be useful to avoid warnings on the import line if only importing flags (from subprocess import PIPE).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the asyncio.create_subprocess_exec entry point and the subprocess module usage described in the issue. Trace how Bandit currently detects subprocess calls and imports such as from subprocess import PIPE; done means asyncio subprocess usage is covered without warning on imports that only provide flags.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
security, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.