"SELECT * FROM foo WHERE id = '%s'" % var_name
                  
                  
                  qs2 = "SELECT * FROM foo WHERE id = '{}'".format(var_name)
                  
                  
                  qs3 = "SELECT * FROM foo WHERE id = '{0}'".format(var_name)
                  
                  
                  qs4 = f"SELECT * FROM foo WHERE id = '{var_name}'"
                  
                  
                  qd1 = "DELETE FROM foo WHERE id = '%s'" % var_name
                  
                  
                  qd2 = "DELETE FROM foo WHERE id = '{}'".format(var_name)
                  
                  
                  qd3 = "DELETE FROM foo WHERE id = '{0}'".format(var_name)
                  
                  
                  qd4 = f"DELETE FROM foo WHERE id = '{var_name}'"
                  
                  
                  qu1 = "UPDATE foo SET value = 'b' WHERE id = '%s'" % var_name
                  
                  
                  qu2 = "UPDATE foo SET value = 'b' WHERE id = '{}'".format(var_name)
                  
                  
                  qu3 = "UPDATE foo SET value = 'b' WHERE id = '{0}'".format(var_name)
                  
                  
                  qu4 = f"UPDATE foo SET value = 'b' WHERE id = '{var_name}'"
                  
                  
                  assert 1 == 1
                  
                  
                  
                  
                  
                  Находит только assert в самом низу (B101), а sql инъекции не находит (B608)
                  
                  
                  Запускаю как 
                  
                  
                  bandit my_code.py
                  
                  
                  
                  
                  
                  Несмотря на это, пробежавшись по файлу с регексом от бандита вручную
                  
                  
                  https://github.com/PyCQA/bandit/blob/master/bandit/plugins/injection_sql.py#L61
                  
                  
                  У меня нашлись все эти строки
                  
                  
                  Кто знает, в чём может быть трабл?
                  
                  
                  
                  
                  
                  P.S. запуск с разными флагами, в т.ч. с кодами ошибок, не помогает.
                  
                  
                
что это вообще?
Это потому что python 3.8 На 3.7 всё ок. Вопрос закрыт
Обсуждают сегодня