@@ -182,11 +182,36 @@ Risk: Medium
182182run. This can prevent known types of errors from being inadvertently introduced
183183into the codebase.
184184
185- To check for vulnerabilities, you can use `Bandit
186- <https://github.com/PyCQA/bandit> `__ with :doc: `qa/ruff `, which you can also
187- integrate into Jupyter Notebooks, IDEs and the pre-commit framework.
188-
189- You can also use :doc: `/productive/qa/pysa ` for `taint
185+ .. _bandit :
186+
187+ `Bandit <https://github.com/PyCQA/bandit >`__, which you can use with
188+ :doc: `qa/ruff `, allows you to check for the following vulnerabilities, amongst
189+ others:
190+
191+ +--------+-----------------------------------------------------------------------+
192+ | Rule | Description |
193+ +--------+-----------------------------------------------------------------------+
194+ | `S105`_| Hard-coded secrets |
195+ +--------+-----------------------------------------------------------------------+
196+ | `S301`_| :doc: `/data-processing/serialisation-formats/pickle/index ` and other |
197+ | | insecure deserialisation |
198+ +--------+-----------------------------------------------------------------------+
199+ | `S307`_| Use of :func: `eval ` with untrusted input |
200+ +--------+-----------------------------------------------------------------------+
201+ | `S113`_| Missing timeouts |
202+ +--------+-----------------------------------------------------------------------+
203+ | `S324`_| Weak cryptography, such as MD5 collisions |
204+ +--------+-----------------------------------------------------------------------+
205+ | `S608`_| SQL injection via string formatting |
206+ +--------+-----------------------------------------------------------------------+
207+
208+ .. seealso:
209+ `flake8-bandit <https://docs.astral.sh/ruff/rules/#flake8-bandit-s>`_
210+
211+ You can also integrate Bandit into Jupyter Notebooks, IDEs and the pre-commit
212+ framework.
213+
214+ In addition, you can use :doc: `/productive/qa/pysa ` for `taint
190215<https://en.wikipedia.org/wiki/Taint_checking> `_ analyses.
191216
192217For GitHub repositories you can also use `CodeQL <https://codeql.github.com >`_;
@@ -289,3 +314,11 @@ reduce this risk by
289314* automated tools that notify you when dependencies in your project are out of
290315 date
291316* update applications that lock dependencies quickly.
317+
318+ .. _S105 : https://docs.astral.sh/ruff/rules/hardcoded-password-string/
319+ .. _S301 : https://docs.astral.sh/ruff/rules/suspicious-pickle-usage/
320+ .. _S307 : https://docs.astral.sh/ruff/rules/suspicious-eval-usage/
321+ .. _S113 : https://docs.astral.sh/ruff/rules/request-without-timeout/
322+ .. _S324 : https://docs.astral.sh/ruff/rules/hashlib-insecure-hash-function/
323+ .. _S608 : https://docs.astral.sh/ruff/rules/hardcoded-sql-expression/
324+ .. _S608 : https://docs.astral.sh/ruff/rules/hardcoded-sql-expression/
0 commit comments