Run started:<TS>

Test results:
>> Issue: [B101:assert_used] Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
   Severity: Low   Confidence: High
   CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b101_assert_used.html
   Location: examples/assert.py:1:0
1	assert True

--------------------------------------------------
>> Issue: [B104:hardcoded_bind_all_interfaces] Possible binding to all interfaces.
   Severity: Medium   Confidence: Medium
   CWE: CWE-605 (https://cwe.mitre.org/data/definitions/605.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b104_hardcoded_bind_all_interfaces.html
   Location: examples/binding.py:4:8
3	s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
4	s.bind(('0.0.0.0', 31137))
5	s.bind(('192.168.0.1', 8080))

--------------------------------------------------
>> Issue: [B305:blacklist] Use of insecure cipher mode cryptography.hazmat.primitives.ciphers.modes.ECB.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/cipher-modes.py:6:7
5	# Insecure mode
6	mode = ECB(iv)
7	

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module ARC2 are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/ciphers.py:1:0
1	from Crypto.Cipher import ARC2 as pycrypto_arc2
2	from Crypto.Cipher import ARC4 as pycrypto_arc4
3	from Crypto.Cipher import Blowfish as pycrypto_blowfish

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module ARC4 are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/ciphers.py:2:0
1	from Crypto.Cipher import ARC2 as pycrypto_arc2
2	from Crypto.Cipher import ARC4 as pycrypto_arc4
3	from Crypto.Cipher import Blowfish as pycrypto_blowfish

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module Blowfish are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/ciphers.py:3:0
2	from Crypto.Cipher import ARC4 as pycrypto_arc4
3	from Crypto.Cipher import Blowfish as pycrypto_blowfish
4	from Crypto.Cipher import DES as pycrypto_des

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module DES are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/ciphers.py:4:0
3	from Crypto.Cipher import Blowfish as pycrypto_blowfish
4	from Crypto.Cipher import DES as pycrypto_des
5	from Crypto.Cipher import XOR as pycrypto_xor

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module XOR are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/ciphers.py:5:0
4	from Crypto.Cipher import DES as pycrypto_des
5	from Crypto.Cipher import XOR as pycrypto_xor
6	from Cryptodome.Cipher import ARC2 as pycryptodomex_arc2

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module SHA are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/ciphers.py:11:0
10	from Cryptodome.Cipher import XOR as pycryptodomex_xor
11	from Crypto.Hash import SHA
12	from Crypto import Random

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module Random are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/ciphers.py:12:0
11	from Crypto.Hash import SHA
12	from Crypto import Random
13	from Crypto.Util import Counter

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module Counter are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/ciphers.py:13:0
12	from Crypto import Random
13	from Crypto.Util import Counter
14	from cryptography.hazmat.primitives.ciphers import Cipher

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher Crypto.Cipher.ARC2.new. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:22:9
21	iv = Random.new().read(pycrypto_arc2.block_size)
22	cipher = pycrypto_arc2.new(key, pycrypto_arc2.MODE_CFB, iv)
23	msg = iv + cipher.encrypt(b'Attack at dawn')

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher Cryptodome.Cipher.ARC2.new. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:24:9
23	msg = iv + cipher.encrypt(b'Attack at dawn')
24	cipher = pycryptodomex_arc2.new(key, pycryptodomex_arc2.MODE_CFB, iv)
25	msg = iv + cipher.encrypt(b'Attack at dawn')

--------------------------------------------------
>> Issue: [B303:blacklist] Use of insecure MD2, MD4, MD5, or SHA1 hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b303-md5
   Location: examples/ciphers.py:29:10
28	nonce = Random.new().read(16)
29	tempkey = SHA.new(key+nonce).digest()
30	cipher = pycrypto_arc4.new(tempkey)

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher Crypto.Cipher.ARC4.new. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:30:9
29	tempkey = SHA.new(key+nonce).digest()
30	cipher = pycrypto_arc4.new(tempkey)
31	msg = nonce + cipher.encrypt(b'Open the pod bay doors, HAL')

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher Cryptodome.Cipher.ARC4.new. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:32:9
31	msg = nonce + cipher.encrypt(b'Open the pod bay doors, HAL')
32	cipher = pycryptodomex_arc4.new(tempkey)
33	msg = nonce + cipher.encrypt(b'Open the pod bay doors, HAL')

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher Crypto.Cipher.Blowfish.new. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:42:9
41	bs = pycrypto_blowfish.block_size
42	cipher = pycrypto_blowfish.new(key, pycrypto_blowfish.MODE_CBC, iv)
43	msg = iv + cipher.encrypt(plaintext + padding)

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher Cryptodome.Cipher.Blowfish.new. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:45:9
44	bs = pycryptodomex_blowfish.block_size
45	cipher = pycryptodomex_blowfish.new(key, pycryptodomex_blowfish.MODE_CBC, iv)
46	msg = iv + cipher.encrypt(plaintext + padding)

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher Crypto.Cipher.DES.new. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:52:9
51	ctr = Counter.new(pycrypto_des.block_size*8/2, prefix=nonce)
52	cipher = pycrypto_des.new(key, pycrypto_des.MODE_CTR, counter=ctr)
53	msg = nonce + cipher.encrypt(plaintext)

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher Cryptodome.Cipher.DES.new. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:56:9
55	ctr = Counter.new(pycryptodomex_des.block_size*8/2, prefix=nonce)
56	cipher = pycryptodomex_des.new(key, pycryptodomex_des.MODE_CTR, counter=ctr)
57	msg = nonce + cipher.encrypt(plaintext)

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher Crypto.Cipher.XOR.new. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:61:9
60	plaintext = b'Encrypt me'
61	cipher = pycrypto_xor.new(key)
62	msg = cipher.encrypt(plaintext)

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher Cryptodome.Cipher.XOR.new. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:63:9
62	msg = cipher.encrypt(plaintext)
63	cipher = pycryptodomex_xor.new(key)
64	msg = cipher.encrypt(plaintext)

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher cryptography.hazmat.primitives.ciphers.algorithms.ARC4. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:66:16
65	
66	cipher = Cipher(algorithms.ARC4(key), mode=None, backend=default_backend())
67	encryptor = cipher.encryptor()

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher cryptography.hazmat.primitives.ciphers.algorithms.Blowfish. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:70:16
69	
70	cipher = Cipher(algorithms.Blowfish(key), mode=None, backend=default_backend())
71	encryptor = cipher.encryptor()

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher cryptography.hazmat.primitives.ciphers.algorithms.CAST5. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:74:16
73	
74	cipher = Cipher(algorithms.CAST5(key), mode=None, backend=default_backend())
75	encryptor = cipher.encryptor()

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher cryptography.hazmat.primitives.ciphers.algorithms.IDEA. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:78:16
77	
78	cipher = Cipher(algorithms.IDEA(key), mode=None, backend=default_backend())
79	encryptor = cipher.encryptor()

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher cryptography.hazmat.primitives.ciphers.algorithms.SEED. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:82:16
81	
82	cipher = Cipher(algorithms.SEED(key), mode=None, backend=default_backend())
83	encryptor = cipher.encryptor()

--------------------------------------------------
>> Issue: [B304:blacklist] Use of insecure cipher cryptography.hazmat.primitives.ciphers.algorithms.TripleDES. Replace with a known secure cipher such as AES.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b304-b305-ciphers-and-modes
   Location: examples/ciphers.py:86:16
85	
86	cipher = Cipher(algorithms.TripleDES(key), mode=None, backend=default_backend())
87	encryptor = cipher.encryptor()

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module MD2 are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/crypto-md5.py:2:0
1	from cryptography.hazmat.primitives import hashes
2	from Crypto.Hash import MD2 as pycrypto_md2
3	from Crypto.Hash import MD4 as pycrypto_md4

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module MD4 are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/crypto-md5.py:3:0
2	from Crypto.Hash import MD2 as pycrypto_md2
3	from Crypto.Hash import MD4 as pycrypto_md4
4	from Crypto.Hash import MD5 as pycrypto_md5

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module MD5 are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/crypto-md5.py:4:0
3	from Crypto.Hash import MD4 as pycrypto_md4
4	from Crypto.Hash import MD5 as pycrypto_md5
5	from Crypto.Hash import SHA as pycrypto_sha

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module SHA are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/crypto-md5.py:5:0
4	from Crypto.Hash import MD5 as pycrypto_md5
5	from Crypto.Hash import SHA as pycrypto_sha
6	from Cryptodome.Hash import MD2 as pycryptodomex_md2

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak MD5 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/crypto-md5.py:13:0
12	
13	hashlib.md5(1)
14	hashlib.md5(1).hexdigest()

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak MD5 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/crypto-md5.py:14:0
13	hashlib.md5(1)
14	hashlib.md5(1).hexdigest()
15	

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak MD5 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/crypto-md5.py:16:18
15	
16	abc = str.replace(hashlib.md5("1"), "###")
17	

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak MD5 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/crypto-md5.py:18:6
17	
18	print(hashlib.md5("1"))
19	

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak SHA1 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/crypto-md5.py:20:0
19	
20	hashlib.sha1(1)
21	

--------------------------------------------------
>> Issue: [B303:blacklist] Use of insecure MD2, MD4, MD5, or SHA1 hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b303-md5
   Location: examples/crypto-md5.py:24:0
23	
24	pycrypto_md2.new()
25	pycrypto_md4.new()

--------------------------------------------------
>> Issue: [B303:blacklist] Use of insecure MD2, MD4, MD5, or SHA1 hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b303-md5
   Location: examples/crypto-md5.py:25:0
24	pycrypto_md2.new()
25	pycrypto_md4.new()
26	pycrypto_md5.new()

--------------------------------------------------
>> Issue: [B303:blacklist] Use of insecure MD2, MD4, MD5, or SHA1 hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b303-md5
   Location: examples/crypto-md5.py:26:0
25	pycrypto_md4.new()
26	pycrypto_md5.new()
27	pycrypto_sha.new()

--------------------------------------------------
>> Issue: [B303:blacklist] Use of insecure MD2, MD4, MD5, or SHA1 hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b303-md5
   Location: examples/crypto-md5.py:27:0
26	pycrypto_md5.new()
27	pycrypto_sha.new()
28	

--------------------------------------------------
>> Issue: [B303:blacklist] Use of insecure MD2, MD4, MD5, or SHA1 hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b303-md5
   Location: examples/crypto-md5.py:29:0
28	
29	pycryptodomex_md2.new()
30	pycryptodomex_md4.new()

--------------------------------------------------
>> Issue: [B303:blacklist] Use of insecure MD2, MD4, MD5, or SHA1 hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b303-md5
   Location: examples/crypto-md5.py:30:0
29	pycryptodomex_md2.new()
30	pycryptodomex_md4.new()
31	pycryptodomex_md5.new()

--------------------------------------------------
>> Issue: [B303:blacklist] Use of insecure MD2, MD4, MD5, or SHA1 hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b303-md5
   Location: examples/crypto-md5.py:31:0
30	pycryptodomex_md4.new()
31	pycryptodomex_md5.new()
32	pycryptodomex_sha.new()

--------------------------------------------------
>> Issue: [B303:blacklist] Use of insecure MD2, MD4, MD5, or SHA1 hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b303-md5
   Location: examples/crypto-md5.py:32:0
31	pycryptodomex_md5.new()
32	pycryptodomex_sha.new()
33	

--------------------------------------------------
>> Issue: [B303:blacklist] Use of insecure MD2, MD4, MD5, or SHA1 hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b303-md5
   Location: examples/crypto-md5.py:34:0
33	
34	hashes.MD5()
35	hashes.SHA1()

--------------------------------------------------
>> Issue: [B303:blacklist] Use of insecure MD2, MD4, MD5, or SHA1 hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b303-md5
   Location: examples/crypto-md5.py:35:0
34	hashes.MD5()
35	hashes.SHA1()
36	

--------------------------------------------------
>> Issue: [B324:hashlib] Use of insecure crypt.METHOD_CRYPT hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/crypto-md5.py:37:0
36	
37	crypt.crypt("asdfasdfasdfasdf", salt=crypt.METHOD_CRYPT)
38	crypt.crypt("asdfasdfasdfasdf", salt=crypt.METHOD_MD5)

--------------------------------------------------
>> Issue: [B324:hashlib] Use of insecure crypt.METHOD_MD5 hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/crypto-md5.py:38:0
37	crypt.crypt("asdfasdfasdfasdf", salt=crypt.METHOD_CRYPT)
38	crypt.crypt("asdfasdfasdfasdf", salt=crypt.METHOD_MD5)
39	crypt.crypt("asdfasdfasdfasdf", salt=crypt.METHOD_BLOWFISH)

--------------------------------------------------
>> Issue: [B324:hashlib] Use of insecure crypt.METHOD_BLOWFISH hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/crypto-md5.py:39:0
38	crypt.crypt("asdfasdfasdfasdf", salt=crypt.METHOD_MD5)
39	crypt.crypt("asdfasdfasdfasdf", salt=crypt.METHOD_BLOWFISH)
40	crypt.crypt("asdfasdfasdfasdf")

--------------------------------------------------
>> Issue: [B324:hashlib] Use of insecure crypt.METHOD_CRYPT hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/crypto-md5.py:44:0
43	
44	crypt.mksalt(crypt.METHOD_CRYPT)
45	crypt.mksalt(crypt.METHOD_MD5)

--------------------------------------------------
>> Issue: [B324:hashlib] Use of insecure crypt.METHOD_MD5 hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/crypto-md5.py:45:0
44	crypt.mksalt(crypt.METHOD_CRYPT)
45	crypt.mksalt(crypt.METHOD_MD5)
46	crypt.mksalt(crypt.METHOD_BLOWFISH)

--------------------------------------------------
>> Issue: [B324:hashlib] Use of insecure crypt.METHOD_BLOWFISH hash function.
   Severity: Medium   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/crypto-md5.py:46:0
45	crypt.mksalt(crypt.METHOD_MD5)
46	crypt.mksalt(crypt.METHOD_BLOWFISH)
47	crypt.mksalt()

--------------------------------------------------
>> Issue: [B403:blacklist] Consider possible security implications associated with dill module.
   Severity: Low   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b403-import-pickle
   Location: examples/dill.py:1:0
1	import dill
2	import io
3	

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b301-pickle
   Location: examples/dill.py:6:6
5	pick = dill.dumps({'a': 'b', 'c': 'd'})
6	print(dill.loads(pick))
7	

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b301-pickle
   Location: examples/dill.py:11:6
10	file_obj.seek(0)
11	print(dill.load(file_obj))
12	

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b301-pickle
   Location: examples/dill.py:14:6
13	file_obj.seek(0)
14	print(dill.Unpickler(file_obj).load())

--------------------------------------------------
>> Issue: [B610:django_extra_used] Use of extra potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b610_django_extra_used.html
   Location: examples/django_sql_injection_extra.py:12:0
11	
12	User.objects.filter(username='admin').extra(dict(could_be='insecure'))
13	User.objects.filter(username='admin').extra(select=dict(could_be='insecure'))

--------------------------------------------------
>> Issue: [B610:django_extra_used] Use of extra potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b610_django_extra_used.html
   Location: examples/django_sql_injection_extra.py:13:0
12	User.objects.filter(username='admin').extra(dict(could_be='insecure'))
13	User.objects.filter(username='admin').extra(select=dict(could_be='insecure'))
14	query = '"username") AS "username", * FROM "auth_user" WHERE 1=1 OR "username"=? --'

--------------------------------------------------
>> Issue: [B610:django_extra_used] Use of extra potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b610_django_extra_used.html
   Location: examples/django_sql_injection_extra.py:15:0
14	query = '"username") AS "username", * FROM "auth_user" WHERE 1=1 OR "username"=? --'
15	User.objects.filter(username='admin').extra(select={'test': query})
16	User.objects.filter(username='admin').extra(select={'test': '%secure' % 'nos'})

--------------------------------------------------
>> Issue: [B610:django_extra_used] Use of extra potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b610_django_extra_used.html
   Location: examples/django_sql_injection_extra.py:16:0
15	User.objects.filter(username='admin').extra(select={'test': query})
16	User.objects.filter(username='admin').extra(select={'test': '%secure' % 'nos'})
17	User.objects.filter(username='admin').extra(select={'test': '{}secure'.format('nos')})

--------------------------------------------------
>> Issue: [B610:django_extra_used] Use of extra potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b610_django_extra_used.html
   Location: examples/django_sql_injection_extra.py:17:0
16	User.objects.filter(username='admin').extra(select={'test': '%secure' % 'nos'})
17	User.objects.filter(username='admin').extra(select={'test': '{}secure'.format('nos')})
18	

--------------------------------------------------
>> Issue: [B610:django_extra_used] Use of extra potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b610_django_extra_used.html
   Location: examples/django_sql_injection_extra.py:20:0
19	where_var = ['1=1) OR 1=1 AND (1=1']
20	User.objects.filter(username='admin').extra(where=where_var)
21	where_str = '1=1) OR 1=1 AND (1=1'

--------------------------------------------------
>> Issue: [B610:django_extra_used] Use of extra potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b610_django_extra_used.html
   Location: examples/django_sql_injection_extra.py:22:0
21	where_str = '1=1) OR 1=1 AND (1=1'
22	User.objects.filter(username='admin').extra(where=[where_str])
23	User.objects.filter(username='admin').extra(where=['%secure' % 'nos'])

--------------------------------------------------
>> Issue: [B610:django_extra_used] Use of extra potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b610_django_extra_used.html
   Location: examples/django_sql_injection_extra.py:23:0
22	User.objects.filter(username='admin').extra(where=[where_str])
23	User.objects.filter(username='admin').extra(where=['%secure' % 'nos'])
24	User.objects.filter(username='admin').extra(where=['{}secure'.format('no')])

--------------------------------------------------
>> Issue: [B610:django_extra_used] Use of extra potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b610_django_extra_used.html
   Location: examples/django_sql_injection_extra.py:24:0
23	User.objects.filter(username='admin').extra(where=['%secure' % 'nos'])
24	User.objects.filter(username='admin').extra(where=['{}secure'.format('no')])
25	

--------------------------------------------------
>> Issue: [B610:django_extra_used] Use of extra potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b610_django_extra_used.html
   Location: examples/django_sql_injection_extra.py:27:0
26	tables_var = ['django_content_type" WHERE "auth_user"."username"="admin']
27	User.objects.all().extra(tables=tables_var).distinct()
28	tables_str = 'django_content_type" WHERE "auth_user"."username"="admin'

--------------------------------------------------
>> Issue: [B610:django_extra_used] Use of extra potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b610_django_extra_used.html
   Location: examples/django_sql_injection_extra.py:29:0
28	tables_str = 'django_content_type" WHERE "auth_user"."username"="admin'
29	User.objects.all().extra(tables=[tables_str]).distinct()

--------------------------------------------------
>> Issue: [B611:django_rawsql_used] Use of RawSQL potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b611_django_rawsql_used.html
   Location: examples/django_sql_injection_raw.py:5:26
4	User.objects.annotate(val=RawSQL('secure', []))
5	User.objects.annotate(val=RawSQL('%secure' % 'nos', []))
6	User.objects.annotate(val=RawSQL('{}secure'.format('no'), []))

--------------------------------------------------
>> Issue: [B611:django_rawsql_used] Use of RawSQL potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b611_django_rawsql_used.html
   Location: examples/django_sql_injection_raw.py:6:26
5	User.objects.annotate(val=RawSQL('%secure' % 'nos', []))
6	User.objects.annotate(val=RawSQL('{}secure'.format('no'), []))
7	raw = '"username") AS "val" FROM "auth_user" WHERE "username"="admin" --'

--------------------------------------------------
>> Issue: [B611:django_rawsql_used] Use of RawSQL potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b611_django_rawsql_used.html
   Location: examples/django_sql_injection_raw.py:8:26
7	raw = '"username") AS "val" FROM "auth_user" WHERE "username"="admin" --'
8	User.objects.annotate(val=RawSQL(raw, []))
9	raw = '"username") AS "val" FROM "auth_user"' \

--------------------------------------------------
>> Issue: [B611:django_rawsql_used] Use of RawSQL potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b611_django_rawsql_used.html
   Location: examples/django_sql_injection_raw.py:11:26
10	      ' WHERE "username"="admin" OR 1=%s --'
11	User.objects.annotate(val=RawSQL(raw, [0]))
12	User.objects.annotate(val=RawSQL(sql='{}secure'.format('no'), params=[]))

--------------------------------------------------
>> Issue: [B611:django_rawsql_used] Use of RawSQL potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b611_django_rawsql_used.html
   Location: examples/django_sql_injection_raw.py:12:26
11	User.objects.annotate(val=RawSQL(raw, [0]))
12	User.objects.annotate(val=RawSQL(sql='{}secure'.format('no'), params=[]))
13	User.objects.annotate(val=RawSQL(params=[], sql='{}secure'.format('no')))

--------------------------------------------------
>> Issue: [B611:django_rawsql_used] Use of RawSQL potential SQL attack vector.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b611_django_rawsql_used.html
   Location: examples/django_sql_injection_raw.py:13:26
12	User.objects.annotate(val=RawSQL(sql='{}secure'.format('no'), params=[]))
13	User.objects.annotate(val=RawSQL(params=[], sql='{}secure'.format('no')))

--------------------------------------------------
>> Issue: [B307:blacklist] Use of possibly insecure function - consider using safer ast.literal_eval.
   Severity: Medium   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b307-eval
   Location: examples/eval.py:3:6
2	
3	print(eval("1+1"))
4	print(eval("os.getcwd()"))

--------------------------------------------------
>> Issue: [B307:blacklist] Use of possibly insecure function - consider using safer ast.literal_eval.
   Severity: Medium   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b307-eval
   Location: examples/eval.py:4:6
3	print(eval("1+1"))
4	print(eval("os.getcwd()"))
5	print(eval("os.chmod('%s', 0777)" % 'test.txt'))

--------------------------------------------------
>> Issue: [B307:blacklist] Use of possibly insecure function - consider using safer ast.literal_eval.
   Severity: Medium   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b307-eval
   Location: examples/eval.py:5:6
4	print(eval("os.getcwd()"))
5	print(eval("os.chmod('%s', 0777)" % 'test.txt'))
6	

--------------------------------------------------
>> Issue: [B102:exec_used] Use of exec detected.
   Severity: Medium   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b102_exec_used.html
   Location: examples/exec.py:1:0
1	exec("do evil")

--------------------------------------------------
>> Issue: [B201:flask_debug_true] A Flask app appears to be run with debug=True, which exposes the Werkzeug debugger and allows the execution of arbitrary code.
   Severity: High   Confidence: Medium
   CWE: CWE-94 (https://cwe.mitre.org/data/definitions/94.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b201_flask_debug_true.html
   Location: examples/flask_debug.py:10:0
9	#bad
10	app.run(debug=True)
11	

--------------------------------------------------
>> Issue: [B402:blacklist] A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.
   Severity: High   Confidence: High
   CWE: CWE-319 (https://cwe.mitre.org/data/definitions/319.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b402-import-ftplib
   Location: examples/ftplib.py:1:0
1	from ftplib import FTP
2	from ftplib import FTP_TLS
3	

--------------------------------------------------
>> Issue: [B402:blacklist] A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.
   Severity: High   Confidence: High
   CWE: CWE-319 (https://cwe.mitre.org/data/definitions/319.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b402-import-ftplib
   Location: examples/ftplib.py:2:0
1	from ftplib import FTP
2	from ftplib import FTP_TLS
3	

--------------------------------------------------
>> Issue: [B321:blacklist] FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.
   Severity: High   Confidence: High
   CWE: CWE-319 (https://cwe.mitre.org/data/definitions/319.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b321-ftplib
   Location: examples/ftplib.py:6:6
5	# bad
6	ftp = FTP('ftp.debian.org')
7	ftp.login()

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: 'class_password'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b105_hardcoded_password_string.html
   Location: examples/hardcoded-passwords.py:4:15
3	class SomeClass:
4	    password = "class_password"
5	

--------------------------------------------------
>> Issue: [B107:hardcoded_password_default] Possible hardcoded password: 'Admin'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b107_hardcoded_password_default.html
   Location: examples/hardcoded-passwords.py:8:0
7	# Severity: Low   Confidence: Medium
8	def someFunction(user, password="Admin"):
9	    print("Hi " + user)
10	

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: 'root'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b105_hardcoded_password_string.html
   Location: examples/hardcoded-passwords.py:14:19
13	    # Severity: Low   Confidence: Medium
14	    if password == "root":
15	        print("OK, logged in")

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: ''
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b105_hardcoded_password_string.html
   Location: examples/hardcoded-passwords.py:20:19
19	    # Severity: Low   Confidence: Medium
20	    if password == '':
21	        print("No password!")

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: 'ajklawejrkl42348swfgkg'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b105_hardcoded_password_string.html
   Location: examples/hardcoded-passwords.py:26:19
25	    # Severity: Low   Confidence: Medium
26	    if password == "ajklawejrkl42348swfgkg":
27	        print("Nice password!")

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: 'this cool password'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b105_hardcoded_password_string.html
   Location: examples/hardcoded-passwords.py:33:23
32	    # Severity: Low   Confidence: Medium
33	    if obj.password == "this cool password":
34	        print(obj.password)

--------------------------------------------------
>> Issue: [B107:hardcoded_password_default] Possible hardcoded password: 'blerg'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b107_hardcoded_password_default.html
   Location: examples/hardcoded-passwords.py:38:0
37	# Severity: Low   Confidence: Medium
38	def doLogin(password="blerg"):
39	    pass
40	

--------------------------------------------------
>> Issue: [B106:hardcoded_password_funcarg] Possible hardcoded password: 'blerg'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b106_hardcoded_password_funcarg.html
   Location: examples/hardcoded-passwords.py:46:0
45	# Severity: Low   Confidence: Medium
46	doLogin(password="blerg")
47	

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: 'blerg'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b105_hardcoded_password_string.html
   Location: examples/hardcoded-passwords.py:50:11
49	# Severity: Low   Confidence: Medium
50	password = "blerg"
51	

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: 'blerg'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b105_hardcoded_password_string.html
   Location: examples/hardcoded-passwords.py:54:9
53	# Severity: Low   Confidence: Medium
54	password["password"] = "blerg"
55	

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: 'secret'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b105_hardcoded_password_string.html
   Location: examples/hardcoded-passwords.py:58:17
57	# Severity: Low   Confidence: Medium
58	EMAIL_PASSWORD = "secret"
59	

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: 'emails_secret'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b105_hardcoded_password_string.html
   Location: examples/hardcoded-passwords.py:62:12
61	# Severity: Low   Confidence: Medium
62	email_pwd = 'emails_secret'
63	

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: 'd6s$f9g!j8mg7hw?n&2'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b105_hardcoded_password_string.html
   Location: examples/hardcoded-passwords.py:66:31
65	# Severity: Low   Confidence: Medium
66	my_secret_password_for_email = 'd6s$f9g!j8mg7hw?n&2'
67	

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: '1234'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b105_hardcoded_password_string.html
   Location: examples/hardcoded-passwords.py:70:11
69	# Severity: Low   Confidence: Medium
70	passphrase='1234'
71	

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: 'pass'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b105_hardcoded_password_string.html
   Location: examples/hardcoded-passwords.py:94:23
93	# https://github.com/PyCQA/bandit/issues/313
94	log({"server": server, "password": 'pass', "user": user})
95	

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password: '12345'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b105_hardcoded_password_string.html
   Location: examples/hardcoded-passwords.py:102:8
101	# https://github.com/PyCQA/bandit/issues/1267
102	info = {"password": "12345"}
103	

--------------------------------------------------
>> Issue: [B108:hardcoded_tmp_directory] Probable insecure usage of temp file/directory.
   Severity: Medium   Confidence: Medium
   CWE: CWE-377 (https://cwe.mitre.org/data/definitions/377.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b108_hardcoded_tmp_directory.html
   Location: examples/hardcoded-tmp.py:1:10
1	with open('/tmp/abc', 'w') as f:
2	    f.write('def')
3	

--------------------------------------------------
>> Issue: [B108:hardcoded_tmp_directory] Probable insecure usage of temp file/directory.
   Severity: Medium   Confidence: Medium
   CWE: CWE-377 (https://cwe.mitre.org/data/definitions/377.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b108_hardcoded_tmp_directory.html
   Location: examples/hardcoded-tmp.py:8:10
7	
8	with open('/var/tmp/123', 'w') as f:
9	    f.write('def')

--------------------------------------------------
>> Issue: [B108:hardcoded_tmp_directory] Probable insecure usage of temp file/directory.
   Severity: Medium   Confidence: Medium
   CWE: CWE-377 (https://cwe.mitre.org/data/definitions/377.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b108_hardcoded_tmp_directory.html
   Location: examples/hardcoded-tmp.py:11:10
10	
11	with open('/dev/shm/unit/test', 'w') as f:
12	    f.write('def')

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak MD5 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/hashlib_new_insecure_functions.py:3:0
2	
3	hashlib.new('md5')
4	

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak MD4 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/hashlib_new_insecure_functions.py:5:0
4	
5	hashlib.new('md4', b'test')
6	

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak MD5 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/hashlib_new_insecure_functions.py:7:0
6	
7	hashlib.new(name='md5', data=b'test')
8	

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak MD4 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/hashlib_new_insecure_functions.py:9:0
8	
9	hashlib.new('MD4', data=b'test')
10	

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak SHA1 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/hashlib_new_insecure_functions.py:11:0
10	
11	hashlib.new('sha1')
12	

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak SHA1 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/hashlib_new_insecure_functions.py:13:0
12	
13	hashlib.new('sha1', data=b'test')
14	

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak SHA hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/hashlib_new_insecure_functions.py:15:0
14	
15	hashlib.new('sha', data=b'test')
16	

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak SHA hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/hashlib_new_insecure_functions.py:17:0
16	
17	hashlib.new(name='SHA', data=b'test')
18	

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak SHA1 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/hashlib_new_insecure_functions.py:19:0
18	
19	hashlib.new('sha1', usedforsecurity=True)
20	

--------------------------------------------------
>> Issue: [B412:blacklist] Consider possible security implications associated with wsgiref.handlers.CGIHandler module.
   Severity: High   Confidence: High
   CWE: CWE-284 (https://cwe.mitre.org/data/definitions/284.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b412-import-httpoxy
   Location: examples/httpoxy_cgihandler.py:10:4
9	if __name__ == '__main__':
10	    wsgiref.handlers.CGIHandler().run(application)

--------------------------------------------------
>> Issue: [B412:blacklist] Consider possible security implications associated with twisted.web.twcgi.CGIDirectory module.
   Severity: High   Confidence: High
   CWE: CWE-284 (https://cwe.mitre.org/data/definitions/284.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b412-import-httpoxy
   Location: examples/httpoxy_twisted_directory.py:5:25
4	root = static.File("/root")
5	root.putChild("cgi-bin", twcgi.CGIDirectory("/var/www/cgi-bin"))
6	reactor.listenTCP(80, server.Site(root))

--------------------------------------------------
>> Issue: [B412:blacklist] Consider possible security implications associated with twisted.web.twcgi.CGIScript module.
   Severity: High   Confidence: High
   CWE: CWE-284 (https://cwe.mitre.org/data/definitions/284.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b412-import-httpoxy
   Location: examples/httpoxy_twisted_script.py:5:27
4	root = static.File("/root")
5	root.putChild("login.cgi", twcgi.CGIScript("/var/www/cgi-bin/login.py"))
6	reactor.listenTCP(80, server.Site(root))

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in from_pretrained()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:10:27
9	# Example #1: No revision (defaults to floating 'main')
10	unsafe_model_no_revision = AutoModel.from_pretrained("org/model_name")
11	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in from_pretrained()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:13:20
12	# Example #2: Floating revision: 'main'
13	unsafe_model_main = AutoModel.from_pretrained(
14	    "org/model_name",
15	    revision="main"
16	)
17	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in from_pretrained()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:19:19
18	# Example #3: Floating tag revision: 'v1.0.0'
19	unsafe_model_tag = AutoModel.from_pretrained(
20	    "org/model_name",
21	    revision="v1.0.0"
22	)
23	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in from_pretrained()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:28:31
27	# Example #4: No revision
28	unsafe_tokenizer_no_revision = AutoTokenizer.from_pretrained("org/model_name")
29	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in from_pretrained()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:31:24
30	# Example #5: Floating revision: 'main'
31	unsafe_tokenizer_main = AutoTokenizer.from_pretrained(
32	    "org/model_name",
33	    revision="main"
34	)
35	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in from_pretrained()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:37:23
36	# Example #6: Floating tag revision: 'v1.0.0'
37	unsafe_tokenizer_tag = AutoTokenizer.from_pretrained(
38	    "org/model_name",
39	    revision="v1.0.0"
40	)
41	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in load_dataset()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:46:29
45	# Example #8: No revision
46	unsafe_dataset_no_revision = load_dataset("org_dataset")
47	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in load_dataset()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:49:22
48	# Example #9: Floating revision: 'main'
49	unsafe_dataset_main = load_dataset("org_dataset", revision="main")
50	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in load_dataset()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:52:21
51	# Example #10: Floating tag revision: 'v1.0.0'
52	unsafe_dataset_tag = load_dataset("org_dataset", revision="v1.0.0")
53	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in hf_hub_download()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:58:26
57	# Example #11: No revision
58	unsafe_file_no_revision = hf_hub_download(
59	    repo_id="org/model_name",
60	    filename="config.json"
61	)
62	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in hf_hub_download()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:64:19
63	# Example #12: Floating revision: 'main'
64	unsafe_file_main = hf_hub_download(
65	    repo_id="org/model_name",
66	    filename="config.json",
67	    revision="main"
68	)
69	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in hf_hub_download()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:71:18
70	# Example #13: Floating tag revision: 'v1.0.0'
71	unsafe_file_tag = hf_hub_download(
72	    repo_id="org/model_name",
73	    filename="config.json",
74	    revision="v1.0.0"
75	)
76	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in snapshot_download()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:81:30
80	# Example #14: No revision
81	unsafe_snapshot_no_revision = snapshot_download(repo_id="org/model_name")
82	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in snapshot_download()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:84:23
83	# Example #15: Floating revision: 'main'
84	unsafe_snapshot_main = snapshot_download(
85	    repo_id="org/model_name",
86	    revision="main"
87	)
88	

--------------------------------------------------
>> Issue: [B615:huggingface_unsafe_download] Unsafe Hugging Face Hub download without revision pinning in snapshot_download()
   Severity: Medium   Confidence: High
   CWE: CWE-494 (https://cwe.mitre.org/data/definitions/494.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b615_huggingface_unsafe_download.html
   Location: examples/huggingface_unsafe_download.py:90:22
89	# Example #16: Floating tag revision: 'v1.0.0'
90	unsafe_snapshot_tag = snapshot_download(
91	    repo_id="org/model_name",
92	    revision="v1.0.0"
93	)
94	

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/imports-aliases.py:1:0
1	from subprocess import Popen as pop
2	import hashlib as h
3	import hashlib as hh

--------------------------------------------------
>> Issue: [B403:blacklist] Consider possible security implications associated with loads module.
   Severity: Low   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b403-import-pickle
   Location: examples/imports-aliases.py:6:0
5	import hashlib as hhhh
6	from pickle import loads as lp
7	import pickle as p

--------------------------------------------------
>> Issue: [B403:blacklist] Consider possible security implications associated with pickle module.
   Severity: Low   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b403-import-pickle
   Location: examples/imports-aliases.py:7:0
6	from pickle import loads as lp
7	import pickle as p
8	

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/imports-aliases.py:9:0
8	
9	pop('/bin/gcc --version', shell=True)
10	

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak MD5 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/imports-aliases.py:11:0
10	
11	h.md5('1')
12	hh.md5('2')

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak MD5 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/imports-aliases.py:12:0
11	h.md5('1')
12	hh.md5('2')
13	hhh.md5('3').hexdigest()

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak MD5 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/imports-aliases.py:13:0
12	hh.md5('2')
13	hhh.md5('3').hexdigest()
14	hhhh.md5('4')

--------------------------------------------------
>> Issue: [B324:hashlib] Use of weak MD5 hash for security. Consider usedforsecurity=False
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b324_hashlib.html
   Location: examples/imports-aliases.py:14:0
13	hhh.md5('3').hexdigest()
14	hhhh.md5('4')
15	lp({'key': 'value'})

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b301-pickle
   Location: examples/imports-aliases.py:15:0
14	hhhh.md5('4')
15	lp({'key': 'value'})

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/imports-from.py:1:0
1	from subprocess import Popen
2	
3	from ..foo import sys

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/imports-from.py:6:0
5	from .. import sys
6	from .. import subprocess
7	from ..subprocess import Popen

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/imports-from.py:7:0
6	from .. import subprocess
7	from ..subprocess import Popen

--------------------------------------------------
>> Issue: [B403:blacklist] Consider possible security implications associated with pickle module.
   Severity: Low   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b403-import-pickle
   Location: examples/imports-function.py:2:9
1	os = __import__("os")
2	pickle = __import__("pickle")
3	sys = __import__("sys")

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/imports-function.py:4:13
3	sys = __import__("sys")
4	subprocess = __import__("subprocess")
5	

--------------------------------------------------
>> Issue: [B403:blacklist] Consider possible security implications associated with pickle module.
   Severity: Low   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b403-import-pickle
   Location: examples/imports-with-importlib.py:3:4
2	a = importlib.import_module('os')
3	b = importlib.import_module('pickle')
4	c = importlib.__import__('sys')

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/imports-with-importlib.py:5:4
4	c = importlib.__import__('sys')
5	d = importlib.__import__('subprocess')
6	

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/imports-with-importlib.py:13:4
12	g = importlib.import_module(name='sys')
13	h = importlib.__import__(name='subprocess')
14	i = importlib.import_module(name='subprocess', package='bar.baz')

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/imports-with-importlib.py:14:4
13	h = importlib.__import__(name='subprocess')
14	i = importlib.import_module(name='subprocess', package='bar.baz')
15	j = importlib.__import__(name='sys', package='bar.baz')

--------------------------------------------------
>> Issue: [B403:blacklist] Consider possible security implications associated with pickle module.
   Severity: Low   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b403-import-pickle
   Location: examples/imports.py:2:0
1	import os
2	import pickle
3	import sys

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/imports.py:4:0
3	import sys
4	import subprocess

--------------------------------------------------
>> Issue: [B701:jinja2_autoescape_false] Using jinja2 templates with autoescape=False is dangerous and can lead to XSS. Ensure autoescape=True or use the select_autoescape function to mitigate XSS vulnerabilities.
   Severity: High   Confidence: Medium
   CWE: CWE-94 (https://cwe.mitre.org/data/definitions/94.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b701_jinja2_autoescape_false.html
   Location: examples/jinja2_templating.py:9:0
8	        loader=templateLoader )
9	Environment(loader=templateLoader, load=templateLoader, autoescape=something)
10	templateEnv = jinja2.Environment(autoescape=False, loader=templateLoader )

--------------------------------------------------
>> Issue: [B701:jinja2_autoescape_false] Using jinja2 templates with autoescape=False is dangerous and can lead to XSS. Use autoescape=True or use the select_autoescape function to mitigate XSS vulnerabilities.
   Severity: High   Confidence: High
   CWE: CWE-94 (https://cwe.mitre.org/data/definitions/94.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b701_jinja2_autoescape_false.html
   Location: examples/jinja2_templating.py:10:14
9	Environment(loader=templateLoader, load=templateLoader, autoescape=something)
10	templateEnv = jinja2.Environment(autoescape=False, loader=templateLoader )
11	Environment(loader=templateLoader,

--------------------------------------------------
>> Issue: [B701:jinja2_autoescape_false] Using jinja2 templates with autoescape=False is dangerous and can lead to XSS. Use autoescape=True or use the select_autoescape function to mitigate XSS vulnerabilities.
   Severity: High   Confidence: High
   CWE: CWE-94 (https://cwe.mitre.org/data/definitions/94.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b701_jinja2_autoescape_false.html
   Location: examples/jinja2_templating.py:11:0
10	templateEnv = jinja2.Environment(autoescape=False, loader=templateLoader )
11	Environment(loader=templateLoader,
12	            load=templateLoader,
13	            autoescape=False)
14	

--------------------------------------------------
>> Issue: [B701:jinja2_autoescape_false] By default, jinja2 sets autoescape to False. Consider using autoescape=True or use the select_autoescape function to mitigate XSS vulnerabilities.
   Severity: High   Confidence: High
   CWE: CWE-94 (https://cwe.mitre.org/data/definitions/94.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b701_jinja2_autoescape_false.html
   Location: examples/jinja2_templating.py:15:0
14	
15	Environment(loader=templateLoader,
16	            load=templateLoader)
17	

--------------------------------------------------
>> Issue: [B701:jinja2_autoescape_false] Using jinja2 templates with autoescape=False is dangerous and can lead to XSS. Ensure autoescape=True or use the select_autoescape function to mitigate XSS vulnerabilities.
   Severity: High   Confidence: Medium
   CWE: CWE-94 (https://cwe.mitre.org/data/definitions/94.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b701_jinja2_autoescape_false.html
   Location: examples/jinja2_templating.py:29:0
28	    return 'foobar'
29	Environment(loader=templateLoader, autoescape=fake_func())

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b301-pickle
   Location: examples/jsonpickle.py:6:6
5	
6	print(jsonpickle.decode(pick))
7	

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b301-pickle
   Location: examples/jsonpickle.py:8:6
7	
8	print(jsonpickle.unpickler.decode(pick))
9	

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b301-pickle
   Location: examples/jsonpickle.py:10:6
9	
10	print(jsonpickle.unpickler.Unpickler().restore(pick))

--------------------------------------------------
>> Issue: [B612:logging_config_insecure_listen] Use of insecure logging.config.listen detected.
   Severity: Medium   Confidence: High
   CWE: CWE-94 (https://cwe.mitre.org/data/definitions/94.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b612_logging_config_insecure_listen.html
   Location: examples/logging_config_insecure_listen.py:3:4
2	
3	t = logging.config.listen(9999)

--------------------------------------------------
>> Issue: [B702:use_of_mako_templates] Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${ data |h }.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b702_use_of_mako_templates.html
   Location: examples/mako_templating.py:6:0
5	
6	Template("hello")
7	

--------------------------------------------------
>> Issue: [B702:use_of_mako_templates] Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${ data |h }.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b702_use_of_mako_templates.html
   Location: examples/mako_templating.py:10:0
9	# in for now so that if it gets fixed inadvertitently we know.
10	mako.template.Template("hern")
11	template.Template("hern")

--------------------------------------------------
>> Issue: [B702:use_of_mako_templates] Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${ data |h }.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b702_use_of_mako_templates.html
   Location: examples/mako_templating.py:11:0
10	mako.template.Template("hern")
11	template.Template("hern")

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe.py:4:8
3	mystr = '<b>Hello World</b>'
4	mystr = safestring.mark_safe(mystr)

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:10:0
9	my_insecure_str = insecure_function('insecure', cls='" onload="alert(\'xss\')')
10	safestring.mark_safe(my_insecure_str)
11	safestring.SafeText(my_insecure_str)

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:10:0
9	my_insecure_str = insecure_function('insecure', cls='" onload="alert(\'xss\')')
10	safestring.mark_safe(my_insecure_str)
11	safestring.SafeText(my_insecure_str)

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:11:0
10	safestring.mark_safe(my_insecure_str)
11	safestring.SafeText(my_insecure_str)
12	safestring.SafeUnicode(my_insecure_str)

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:12:0
11	safestring.SafeText(my_insecure_str)
12	safestring.SafeUnicode(my_insecure_str)
13	safestring.SafeString(my_insecure_str)

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:13:0
12	safestring.SafeUnicode(my_insecure_str)
13	safestring.SafeString(my_insecure_str)
14	safestring.SafeBytes(my_insecure_str)

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:14:0
13	safestring.SafeString(my_insecure_str)
14	safestring.SafeBytes(my_insecure_str)
15	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:22:4
21	        my_insecure_str = 'Secure'
22	    safestring.mark_safe(my_insecure_str)
23	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:22:4
21	        my_insecure_str = 'Secure'
22	    safestring.mark_safe(my_insecure_str)
23	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:30:4
29	        my_insecure_str = insecure_function('insecure', cls=cls)
30	    safestring.mark_safe(my_insecure_str)
31	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:30:4
29	        my_insecure_str = insecure_function('insecure', cls=cls)
30	    safestring.mark_safe(my_insecure_str)
31	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:41:4
40	        my_insecure_str = insecure_function('insecure', cls=cls)
41	    safestring.mark_safe(my_insecure_str)
42	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:41:4
40	        my_insecure_str = insecure_function('insecure', cls=cls)
41	    safestring.mark_safe(my_insecure_str)
42	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:54:4
53	        my_insecure_str = insecure_function('insecure', cls=cls)
54	    safestring.mark_safe(my_insecure_str)
55	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:54:4
53	        my_insecure_str = insecure_function('insecure', cls=cls)
54	    safestring.mark_safe(my_insecure_str)
55	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:59:4
58	    my_insecure_str = insecure_function('insecure', cls=cls)
59	    safestring.mark_safe('<b>{} {}</b>'.format(my_insecure_str, 'STR'))
60	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:59:4
58	    my_insecure_str = insecure_function('insecure', cls=cls)
59	    safestring.mark_safe('<b>{} {}</b>'.format(my_insecure_str, 'STR'))
60	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:64:4
63	    my_insecure_str = insecure_function('insecure', cls=cls)
64	    safestring.mark_safe('<b>{}</b>'.format(*[my_insecure_str]))
65	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:64:4
63	    my_insecure_str = insecure_function('insecure', cls=cls)
64	    safestring.mark_safe('<b>{}</b>'.format(*[my_insecure_str]))
65	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:69:4
68	    my_insecure_str = insecure_function('insecure', cls=cls)
69	    safestring.mark_safe('<b>{b}</b>'.format(b=my_insecure_str))
70	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:69:4
68	    my_insecure_str = insecure_function('insecure', cls=cls)
69	    safestring.mark_safe('<b>{b}</b>'.format(b=my_insecure_str))
70	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:74:4
73	    my_insecure_str = insecure_function('insecure', cls=cls)
74	    safestring.mark_safe('<b>{b}</b>'.format(**{'b': my_insecure_str}))
75	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:74:4
73	    my_insecure_str = insecure_function('insecure', cls=cls)
74	    safestring.mark_safe('<b>{b}</b>'.format(**{'b': my_insecure_str}))
75	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:79:4
78	    my_insecure_str = insecure_function('insecure', cls=cls)
79	    safestring.mark_safe('<b>%s</b>' % my_insecure_str)
80	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:79:4
78	    my_insecure_str = insecure_function('insecure', cls=cls)
79	    safestring.mark_safe('<b>%s</b>' % my_insecure_str)
80	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:84:4
83	    my_insecure_str = insecure_function('insecure', cls=cls)
84	    safestring.mark_safe('<b>%s %s</b>' % (my_insecure_str, 'b'))
85	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:84:4
83	    my_insecure_str = insecure_function('insecure', cls=cls)
84	    safestring.mark_safe('<b>%s %s</b>' % (my_insecure_str, 'b'))
85	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:89:4
88	    my_insecure_str = insecure_function('insecure', cls=cls)
89	    safestring.mark_safe('<b>%(b)s</b>' % {'b': my_insecure_str})
90	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:89:4
88	    my_insecure_str = insecure_function('insecure', cls=cls)
89	    safestring.mark_safe('<b>%(b)s</b>' % {'b': my_insecure_str})
90	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:94:4
93	    import sre_constants
94	    safestring.mark_safe(sre_constants.ANY)
95	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:94:4
93	    import sre_constants
94	    safestring.mark_safe(sre_constants.ANY)
95	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:99:4
98	    import sre_constants.ANY as any_str
99	    safestring.mark_safe(any_str)
100	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:99:4
98	    import sre_constants.ANY as any_str
99	    safestring.mark_safe(any_str)
100	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:104:4
103	    from sre_constants import ANY
104	    safestring.mark_safe(ANY)
105	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:104:4
103	    from sre_constants import ANY
104	    safestring.mark_safe(ANY)
105	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:109:4
108	    from sre_constants import ANY as any_str
109	    safestring.mark_safe(any_str)
110	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:109:4
108	    from sre_constants import ANY as any_str
109	    safestring.mark_safe(any_str)
110	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:114:8
113	    with open(path) as f:
114	        safestring.mark_safe(f.read())
115	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:114:8
113	    with open(path) as f:
114	        safestring.mark_safe(f.read())
115	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:119:8
118	    with open(path) as f:
119	        safestring.mark_safe(f)
120	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:119:8
118	    with open(path) as f:
119	        safestring.mark_safe(f)
120	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:126:4
125	        my_secure_str += insecure_function('insecure', cls='" onload="alert(\'xss\')')
126	    safestring.mark_safe(my_secure_str)
127	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:126:4
125	        my_secure_str += insecure_function('insecure', cls='" onload="alert(\'xss\')')
126	    safestring.mark_safe(my_secure_str)
127	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:133:4
132	        my_secure_str += insecure_function('insecure', cls='" onload="alert(\'xss\')')
133	    safestring.mark_safe(my_secure_str)
134	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:133:4
132	        my_secure_str += insecure_function('insecure', cls='" onload="alert(\'xss\')')
133	    safestring.mark_safe(my_secure_str)
134	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:143:4
142	        my_secure_str = 'Secure'
143	    safestring.mark_safe(my_secure_str)
144	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:143:4
142	        my_secure_str = 'Secure'
143	    safestring.mark_safe(my_secure_str)
144	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:149:4
148	def test_insecure_shadow():  # var assigned out of scope
149	    safestring.mark_safe(mystr)
150	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:149:4
148	def test_insecure_shadow():  # var assigned out of scope
149	    safestring.mark_safe(mystr)
150	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:153:4
152	def test_insecure(str_arg):
153	    safestring.mark_safe(str_arg)
154	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:153:4
152	def test_insecure(str_arg):
153	    safestring.mark_safe(str_arg)
154	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:159:4
158	        str_arg = 'could be insecure'
159	    safestring.mark_safe(str_arg)
160	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:159:4
158	        str_arg = 'could be insecure'
159	    safestring.mark_safe(str_arg)
160	

--------------------------------------------------
>> Issue: [B703:django_mark_safe] Potential XSS on mark_safe function.
   Severity: Medium   Confidence: High
   CWE: CWE-80 (https://cwe.mitre.org/data/definitions/80.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b703_django_mark_safe.html
   Location: examples/mark_safe_insecure.py:167:4
166	    text, url = choice(HTML_CHOICES)
167	    safestring.mark_safe('<a href="{0}">{1}</a>'.format(url, text))

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_insecure.py:167:4
166	    text, url = choice(HTML_CHOICES)
167	    safestring.mark_safe('<a href="{0}">{1}</a>'.format(url, text))

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:4:0
3	
4	safestring.mark_safe('<b>secure</b>')
5	safestring.SafeText('<b>secure</b>')

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:11:0
10	my_secure_str = '<b>Hello World</b>'
11	safestring.mark_safe(my_secure_str)
12	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:14:0
13	my_secure_str, _ = ('<b>Hello World</b>', '')
14	safestring.mark_safe(my_secure_str)
15	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:17:0
16	also_secure_str = my_secure_str
17	safestring.mark_safe(also_secure_str)
18	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:29:4
28	        my_secure_str = 'Secure'
29	    safestring.mark_safe(my_secure_str)
30	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:33:4
32	def format_secure():
33	    safestring.mark_safe('<b>{}</b>'.format('secure'))
34	    my_secure_str = 'secure'

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:35:4
34	    my_secure_str = 'secure'
35	    safestring.mark_safe('<b>{}</b>'.format(my_secure_str))
36	    safestring.mark_safe('<b>{} {}</b>'.format(my_secure_str, 'a'))

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:36:4
35	    safestring.mark_safe('<b>{}</b>'.format(my_secure_str))
36	    safestring.mark_safe('<b>{} {}</b>'.format(my_secure_str, 'a'))
37	    safestring.mark_safe('<b>{} {}</b>'.format(*[my_secure_str, 'a']))

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:37:4
36	    safestring.mark_safe('<b>{} {}</b>'.format(my_secure_str, 'a'))
37	    safestring.mark_safe('<b>{} {}</b>'.format(*[my_secure_str, 'a']))
38	    safestring.mark_safe('<b>{b}</b>'.format(b=my_secure_str))  # nosec TODO

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:41:4
40	    my_secure_str = '<b>{}</b>'.format(my_secure_str)
41	    safestring.mark_safe(my_secure_str)
42	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:45:4
44	def percent_secure():
45	    safestring.mark_safe('<b>%s</b>' % 'secure')
46	    my_secure_str = 'secure'

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:47:4
46	    my_secure_str = 'secure'
47	    safestring.mark_safe('<b>%s</b>' % my_secure_str)
48	    safestring.mark_safe('<b>%s %s</b>' % (my_secure_str, 'a'))

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:48:4
47	    safestring.mark_safe('<b>%s</b>' % my_secure_str)
48	    safestring.mark_safe('<b>%s %s</b>' % (my_secure_str, 'a'))
49	    safestring.mark_safe('<b>%(b)s</b>' % {'b': my_secure_str})  # nosec TODO

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:54:8
53	    with open(path) as f:
54	        safestring.mark_safe('Secure')
55	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:62:4
61	        my_secure_str += ' Secure'
62	    safestring.mark_safe(my_secure_str)
63	    while ord(os.urandom(1)) % 2 == 0:

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:65:4
64	        my_secure_str += ' Secure'
65	    safestring.mark_safe(my_secure_str)
66	

--------------------------------------------------
>> Issue: [B308:blacklist] Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b308-mark-safe
   Location: examples/mark_safe_secure.py:75:4
74	        my_secure_str = 'Secure'
75	    safestring.mark_safe(my_secure_str)

--------------------------------------------------
>> Issue: [B704:markupsafe_markup_xss] Potential XSS with ``markupsafe.Markup`` detected. Do not use ``Markup`` on untrusted data.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b704_markupsafe_markup_xss.html
   Location: examples/markupsafe_markup_xss.py:5:0
4	content = "<script>alert('Hello, world!')</script>"
5	Markup(f"unsafe {content}")  # B704
6	flask.Markup("unsafe {}".format(content))  # B704

--------------------------------------------------
>> Issue: [B704:markupsafe_markup_xss] Potential XSS with ``flask.Markup`` detected. Do not use ``Markup`` on untrusted data.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b704_markupsafe_markup_xss.html
   Location: examples/markupsafe_markup_xss.py:6:0
5	Markup(f"unsafe {content}")  # B704
6	flask.Markup("unsafe {}".format(content))  # B704
7	Markup("safe {}").format(content)

--------------------------------------------------
>> Issue: [B704:markupsafe_markup_xss] Potential XSS with ``markupsafe.Markup`` detected. Do not use ``Markup`` on untrusted data.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b704_markupsafe_markup_xss.html
   Location: examples/markupsafe_markup_xss.py:10:0
9	escape(content)
10	Markup(content)  # B704
11	flask.Markup("unsafe %s" % content)  # B704

--------------------------------------------------
>> Issue: [B704:markupsafe_markup_xss] Potential XSS with ``flask.Markup`` detected. Do not use ``Markup`` on untrusted data.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b704_markupsafe_markup_xss.html
   Location: examples/markupsafe_markup_xss.py:11:0
10	Markup(content)  # B704
11	flask.Markup("unsafe %s" % content)  # B704
12	Markup(object="safe")

--------------------------------------------------
>> Issue: [B704:markupsafe_markup_xss] Potential XSS with ``markupsafe.Markup`` detected. Do not use ``Markup`` on untrusted data.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b704_markupsafe_markup_xss.html
   Location: examples/markupsafe_markup_xss_allowed_calls.py:5:0
4	content = "<script>alert('Hello, world!')</script>"
5	Markup(clean(content))
6	

--------------------------------------------------
>> Issue: [B704:markupsafe_markup_xss] Potential XSS with ``markupsafe.Markup`` detected. Do not use ``Markup`` on untrusted data.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b704_markupsafe_markup_xss.html
   Location: examples/markupsafe_markup_xss_allowed_calls.py:9:0
8	cleaned = clean(content)
9	Markup(cleaned)

--------------------------------------------------
>> Issue: [B704:markupsafe_markup_xss] Potential XSS with ``markupsafe.Markup`` detected. Do not use ``Markup`` on untrusted data.
   Severity: Medium   Confidence: High
   CWE: CWE-79 (https://cwe.mitre.org/data/definitions/79.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b704_markupsafe_markup_xss.html
   Location: examples/markupsafe_markup_xss_extend_markup_names.py:5:0
4	content = "<script>alert('Hello, world!')</script>"
5	Markup(f"unsafe {content}")
6	literal(f"unsafe {content}")

--------------------------------------------------
>> Issue: [B302:blacklist] Deserialization with the marshal module is possibly dangerous.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b302-marshal
   Location: examples/marshal_deserialize.py:6:6
5	serialized = marshal.dumps({'a': 1})
6	print(marshal.loads(serialized))
7	

--------------------------------------------------
>> Issue: [B302:blacklist] Deserialization with the marshal module is possibly dangerous.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b302-marshal
   Location: examples/marshal_deserialize.py:11:6
10	file_obj.seek(0)
11	print(marshal.load(file_obj))
12	file_obj.close()

--------------------------------------------------
>> Issue: [B306:blacklist] Use of insecure and deprecated function (mktemp).
   Severity: Medium   Confidence: High
   CWE: CWE-377 (https://cwe.mitre.org/data/definitions/377.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b306-mktemp-q
   Location: examples/mktemp.py:7:0
6	
7	mktemp(foo)
8	tempfile.mktemp('foo')

--------------------------------------------------
>> Issue: [B306:blacklist] Use of insecure and deprecated function (mktemp).
   Severity: Medium   Confidence: High
   CWE: CWE-377 (https://cwe.mitre.org/data/definitions/377.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b306-mktemp-q
   Location: examples/mktemp.py:8:0
7	mktemp(foo)
8	tempfile.mktemp('foo')
9	mt(foo)

--------------------------------------------------
>> Issue: [B306:blacklist] Use of insecure and deprecated function (mktemp).
   Severity: Medium   Confidence: High
   CWE: CWE-377 (https://cwe.mitre.org/data/definitions/377.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b306-mktemp-q
   Location: examples/mktemp.py:9:0
8	tempfile.mktemp('foo')
9	mt(foo)
10	tmp.mktemp(foo)

--------------------------------------------------
>> Issue: [B306:blacklist] Use of insecure and deprecated function (mktemp).
   Severity: Medium   Confidence: High
   CWE: CWE-377 (https://cwe.mitre.org/data/definitions/377.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b306-mktemp-q
   Location: examples/mktemp.py:10:0
9	mt(foo)
10	tmp.mktemp(foo)

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/multiline_statement.py:1:0
1	import subprocess
2	
3	subprocess.check_output("/some_command",

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/multiline_statement.py:5:0
4	                        "args",
5	                        shell=True,
6	                        universal_newlines=True)
7	
8	subprocess.check_output(
9	    "/some_command",

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/multiline_statement.py:11:0
10	    "args",
11	    shell=True,
12	    universal_newlines=True
13	)

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/new_candidates-all.py:7:4
6	    # candidate #1
7	    subprocess.Popen('/bin/ls *', shell=True)
8	    # candidate #2

--------------------------------------------------
>> Issue: [B506:yaml_load] Use of unsafe yaml load. Allows instantiation of arbitrary objects. Consider yaml.safe_load().
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b506_yaml_load.html
   Location: examples/new_candidates-all.py:15:8
14	    # candidate #3
15	    y = yaml.load(temp_str)
16	    # candidate #4

--------------------------------------------------
>> Issue: [B317:blacklist] Using xml.sax.make_parser to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.sax.make_parser with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-sax
   Location: examples/new_candidates-all.py:22:4
21	    # candidate #5
22	    xml.sax.make_parser()
23	    # candidate #6

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/new_candidates-some.py:7:4
6	    # candidate #1
7	    subprocess.Popen('/bin/ls *', shell=True)
8	    # candidate #2

--------------------------------------------------
>> Issue: [B507:ssh_no_host_key_verification] Paramiko call with policy set to automatically trust the unknown host key.
   Severity: High   Confidence: Medium
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b507_ssh_no_host_key_verification.html
   Location: examples/no_host_key_verification.py:6:0
5	ssh_client = client.SSHClient()
6	ssh_client.set_missing_host_key_policy(client.AutoAddPolicy)
7	ssh_client.set_missing_host_key_policy(client.WarningPolicy)

--------------------------------------------------
>> Issue: [B507:ssh_no_host_key_verification] Paramiko call with policy set to automatically trust the unknown host key.
   Severity: High   Confidence: Medium
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b507_ssh_no_host_key_verification.html
   Location: examples/no_host_key_verification.py:7:0
6	ssh_client.set_missing_host_key_policy(client.AutoAddPolicy)
7	ssh_client.set_missing_host_key_policy(client.WarningPolicy)
8	ssh_client.set_missing_host_key_policy(client.AutoAddPolicy())

--------------------------------------------------
>> Issue: [B507:ssh_no_host_key_verification] Paramiko call with policy set to automatically trust the unknown host key.
   Severity: High   Confidence: Medium
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b507_ssh_no_host_key_verification.html
   Location: examples/no_host_key_verification.py:8:0
7	ssh_client.set_missing_host_key_policy(client.WarningPolicy)
8	ssh_client.set_missing_host_key_policy(client.AutoAddPolicy())
9	ssh_client.set_missing_host_key_policy(client.WarningPolicy())

--------------------------------------------------
>> Issue: [B507:ssh_no_host_key_verification] Paramiko call with policy set to automatically trust the unknown host key.
   Severity: High   Confidence: Medium
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b507_ssh_no_host_key_verification.html
   Location: examples/no_host_key_verification.py:9:0
8	ssh_client.set_missing_host_key_policy(client.AutoAddPolicy())
9	ssh_client.set_missing_host_key_policy(client.WarningPolicy())
10	

--------------------------------------------------
>> Issue: [B507:ssh_no_host_key_verification] Paramiko call with policy set to automatically trust the unknown host key.
   Severity: High   Confidence: Medium
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b507_ssh_no_host_key_verification.html
   Location: examples/no_host_key_verification.py:11:0
10	
11	ssh_client.set_missing_host_key_policy(AutoAddPolicy)
12	ssh_client.set_missing_host_key_policy(WarningPolicy)

--------------------------------------------------
>> Issue: [B507:ssh_no_host_key_verification] Paramiko call with policy set to automatically trust the unknown host key.
   Severity: High   Confidence: Medium
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b507_ssh_no_host_key_verification.html
   Location: examples/no_host_key_verification.py:12:0
11	ssh_client.set_missing_host_key_policy(AutoAddPolicy)
12	ssh_client.set_missing_host_key_policy(WarningPolicy)
13	ssh_client.set_missing_host_key_policy(AutoAddPolicy())

--------------------------------------------------
>> Issue: [B507:ssh_no_host_key_verification] Paramiko call with policy set to automatically trust the unknown host key.
   Severity: High   Confidence: Medium
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b507_ssh_no_host_key_verification.html
   Location: examples/no_host_key_verification.py:13:0
12	ssh_client.set_missing_host_key_policy(WarningPolicy)
13	ssh_client.set_missing_host_key_policy(AutoAddPolicy())
14	ssh_client.set_missing_host_key_policy(WarningPolicy())

--------------------------------------------------
>> Issue: [B507:ssh_no_host_key_verification] Paramiko call with policy set to automatically trust the unknown host key.
   Severity: High   Confidence: Medium
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b507_ssh_no_host_key_verification.html
   Location: examples/no_host_key_verification.py:14:0
13	ssh_client.set_missing_host_key_policy(AutoAddPolicy())
14	ssh_client.set_missing_host_key_policy(WarningPolicy())

--------------------------------------------------
>> Issue: [B607:start_process_with_partial_path] Starting a process with a partial executable path
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b607_start_process_with_partial_path.html
   Location: examples/nosec.py:9:0
8	                 shell=True)  #nosec (on the specific kwarg line)
9	subprocess.Popen('#nosec', shell=True)
10	subprocess.Popen('/bin/ls *', shell=True) # type: ... # nosec # noqa: E501 ; pylint: disable=line-too-long

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/nosec.py:9:0
8	                 shell=True)  #nosec (on the specific kwarg line)
9	subprocess.Popen('#nosec', shell=True)
10	subprocess.Popen('/bin/ls *', shell=True) # type: ... # nosec # noqa: E501 ; pylint: disable=line-too-long

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/nosec.py:11:0
10	subprocess.Popen('/bin/ls *', shell=True) # type: ... # nosec # noqa: E501 ; pylint: disable=line-too-long
11	subprocess.Popen('/bin/ls *', shell=True) # type: ... # nosec B607 # noqa: E501 ; pylint: disable=line-too-long
12	subprocess.Popen('/bin/ls *', shell=True)  #nosec subprocess_popen_with_shell_equals_true (on the line)

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/nosec.py:17:0
16	subprocess.Popen('/bin/ls *', shell=True) # type: ... # noqa: E501 ; pylint: disable=line-too-long # nosec
17	subprocess.Popen('#nosec', shell=True) # nosec B607, B101
18	subprocess.Popen('#nosec', shell=True) # nosec B602, subprocess_popen_with_shell_equals_true

--------------------------------------------------
>> Issue: [B607:start_process_with_partial_path] Starting a process with a partial executable path
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b607_start_process_with_partial_path.html
   Location: examples/nosec.py:18:0
17	subprocess.Popen('#nosec', shell=True) # nosec B607, B101
18	subprocess.Popen('#nosec', shell=True) # nosec B602, subprocess_popen_with_shell_equals_true

--------------------------------------------------
>> Issue: [B103:set_bad_file_permissions] Chmod setting a permissive mask 0o227 on file (/etc/passwd).
   Severity: High   Confidence: High
   CWE: CWE-732 (https://cwe.mitre.org/data/definitions/732.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b103_set_bad_file_permissions.html
   Location: examples/os-chmod.py:6:0
5	
6	os.chmod('/etc/passwd', 0o227)
7	os.chmod('/etc/passwd', 0o7)

--------------------------------------------------
>> Issue: [B103:set_bad_file_permissions] Chmod setting a permissive mask 0o7 on file (/etc/passwd).
   Severity: High   Confidence: High
   CWE: CWE-732 (https://cwe.mitre.org/data/definitions/732.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b103_set_bad_file_permissions.html
   Location: examples/os-chmod.py:7:0
6	os.chmod('/etc/passwd', 0o227)
7	os.chmod('/etc/passwd', 0o7)
8	os.chmod('/etc/passwd', 0o664)

--------------------------------------------------
>> Issue: [B103:set_bad_file_permissions] Chmod setting a permissive mask 0o664 on file (/etc/passwd).
   Severity: Medium   Confidence: High
   CWE: CWE-732 (https://cwe.mitre.org/data/definitions/732.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b103_set_bad_file_permissions.html
   Location: examples/os-chmod.py:8:0
7	os.chmod('/etc/passwd', 0o7)
8	os.chmod('/etc/passwd', 0o664)
9	os.chmod('/etc/passwd', 0o777)

--------------------------------------------------
>> Issue: [B103:set_bad_file_permissions] Chmod setting a permissive mask 0o777 on file (/etc/passwd).
   Severity: High   Confidence: High
   CWE: CWE-732 (https://cwe.mitre.org/data/definitions/732.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b103_set_bad_file_permissions.html
   Location: examples/os-chmod.py:9:0
8	os.chmod('/etc/passwd', 0o664)
9	os.chmod('/etc/passwd', 0o777)
10	os.chmod('/etc/passwd', 0o770)

--------------------------------------------------
>> Issue: [B103:set_bad_file_permissions] Chmod setting a permissive mask 0o770 on file (/etc/passwd).
   Severity: Medium   Confidence: High
   CWE: CWE-732 (https://cwe.mitre.org/data/definitions/732.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b103_set_bad_file_permissions.html
   Location: examples/os-chmod.py:10:0
9	os.chmod('/etc/passwd', 0o777)
10	os.chmod('/etc/passwd', 0o770)
11	os.chmod('/etc/passwd', 0o776)

--------------------------------------------------
>> Issue: [B103:set_bad_file_permissions] Chmod setting a permissive mask 0o776 on file (/etc/passwd).
   Severity: High   Confidence: High
   CWE: CWE-732 (https://cwe.mitre.org/data/definitions/732.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b103_set_bad_file_permissions.html
   Location: examples/os-chmod.py:11:0
10	os.chmod('/etc/passwd', 0o770)
11	os.chmod('/etc/passwd', 0o776)
12	os.chmod('/etc/passwd', 0o760)

--------------------------------------------------
>> Issue: [B103:set_bad_file_permissions] Chmod setting a permissive mask 0o760 on file (/etc/passwd).
   Severity: Medium   Confidence: High
   CWE: CWE-732 (https://cwe.mitre.org/data/definitions/732.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b103_set_bad_file_permissions.html
   Location: examples/os-chmod.py:12:0
11	os.chmod('/etc/passwd', 0o776)
12	os.chmod('/etc/passwd', 0o760)
13	os.chmod('~/.bashrc', 511)

--------------------------------------------------
>> Issue: [B103:set_bad_file_permissions] Chmod setting a permissive mask 0o777 on file (~/.bashrc).
   Severity: High   Confidence: High
   CWE: CWE-732 (https://cwe.mitre.org/data/definitions/732.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b103_set_bad_file_permissions.html
   Location: examples/os-chmod.py:13:0
12	os.chmod('/etc/passwd', 0o760)
13	os.chmod('~/.bashrc', 511)
14	os.chmod('/etc/hosts', 0o777)

--------------------------------------------------
>> Issue: [B103:set_bad_file_permissions] Chmod setting a permissive mask 0o777 on file (/etc/hosts).
   Severity: High   Confidence: High
   CWE: CWE-732 (https://cwe.mitre.org/data/definitions/732.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b103_set_bad_file_permissions.html
   Location: examples/os-chmod.py:14:0
13	os.chmod('~/.bashrc', 511)
14	os.chmod('/etc/hosts', 0o777)
15	os.chmod('/tmp/oh_hai', 0x0)

--------------------------------------------------
>> Issue: [B103:set_bad_file_permissions] Chmod setting a permissive mask 0o777 on file (/tmp/oh_hai).
   Severity: High   Confidence: High
   CWE: CWE-732 (https://cwe.mitre.org/data/definitions/732.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b103_set_bad_file_permissions.html
   Location: examples/os-chmod.py:15:0
14	os.chmod('/etc/hosts', 0o777)
15	os.chmod('/tmp/oh_hai', 0x0)
16	os.chmod('/etc/passwd', stat.S_IRWXU)

--------------------------------------------------
>> Issue: [B108:hardcoded_tmp_directory] Probable insecure usage of temp file/directory.
   Severity: Medium   Confidence: Medium
   CWE: CWE-377 (https://cwe.mitre.org/data/definitions/377.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b108_hardcoded_tmp_directory.html
   Location: examples/os-chmod.py:15:9
14	os.chmod('/etc/hosts', 0o777)
15	os.chmod('/tmp/oh_hai', 0x0)
16	os.chmod('/etc/passwd', stat.S_IRWXU)

--------------------------------------------------
>> Issue: [B103:set_bad_file_permissions] Chmod setting a permissive mask 0o777 on file (keyfile).
   Severity: High   Confidence: High
   CWE: CWE-732 (https://cwe.mitre.org/data/definitions/732.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b103_set_bad_file_permissions.html
   Location: examples/os-chmod.py:17:0
16	os.chmod('/etc/passwd', stat.S_IRWXU)
17	os.chmod(keyfile, 0o777)
18	os.chmod('~/hidden_exec', stat.S_IXGRP)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-exec.py:3:0
2	
3	os.execl(path, arg0, arg1)
4	os.execle(path, arg0, arg1, env)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-exec.py:4:0
3	os.execl(path, arg0, arg1)
4	os.execle(path, arg0, arg1, env)
5	os.execlp(file, arg0, arg1)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-exec.py:5:0
4	os.execle(path, arg0, arg1, env)
5	os.execlp(file, arg0, arg1)
6	os.execlpe(file, arg0, arg1, env)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-exec.py:6:0
5	os.execlp(file, arg0, arg1)
6	os.execlpe(file, arg0, arg1, env)
7	os.execv(path, args)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-exec.py:7:0
6	os.execlpe(file, arg0, arg1, env)
7	os.execv(path, args)
8	os.execve(path, args, env)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-exec.py:8:0
7	os.execv(path, args)
8	os.execve(path, args, env)
9	os.execvp(file, args)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-exec.py:9:0
8	os.execve(path, args, env)
9	os.execvp(file, args)
10	os.execvpe(file, args, env)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-exec.py:10:0
9	os.execvp(file, args)
10	os.execvpe(file, args, env)
11	

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/os-popen.py:6:0
5	
6	os.popen('/bin/uname -av')
7	popen('/bin/uname -av')

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/os-popen.py:7:0
6	os.popen('/bin/uname -av')
7	popen('/bin/uname -av')
8	o.popen('/bin/uname -av')

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/os-popen.py:8:0
7	popen('/bin/uname -av')
8	o.popen('/bin/uname -av')
9	pos('/bin/uname -av')

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/os-popen.py:9:0
8	o.popen('/bin/uname -av')
9	pos('/bin/uname -av')
10	os.popen2('/bin/uname -av')

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/os-popen.py:10:0
9	pos('/bin/uname -av')
10	os.popen2('/bin/uname -av')
11	os.popen3('/bin/uname -av')

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/os-popen.py:11:0
10	os.popen2('/bin/uname -av')
11	os.popen3('/bin/uname -av')
12	os.popen4('/bin/uname -av')

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/os-popen.py:12:0
11	os.popen3('/bin/uname -av')
12	os.popen4('/bin/uname -av')
13	

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/os-popen.py:14:0
13	
14	os.popen4('/bin/uname -av; rm -rf /')
15	os.popen4(some_var)

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell, possible injection detected, security issue.
   Severity: High   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/os-popen.py:15:0
14	os.popen4('/bin/uname -av; rm -rf /')
15	os.popen4(some_var)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-spawn.py:3:0
2	
3	os.spawnl(mode, path)
4	os.spawnle(mode, path, env)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-spawn.py:4:0
3	os.spawnl(mode, path)
4	os.spawnle(mode, path, env)
5	os.spawnlp(mode, file)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-spawn.py:5:0
4	os.spawnle(mode, path, env)
5	os.spawnlp(mode, file)
6	os.spawnlpe(mode, file, env)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-spawn.py:6:0
5	os.spawnlp(mode, file)
6	os.spawnlpe(mode, file, env)
7	os.spawnv(mode, path, args)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-spawn.py:7:0
6	os.spawnlpe(mode, file, env)
7	os.spawnv(mode, path, args)
8	os.spawnve(mode, path, args, env)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-spawn.py:8:0
7	os.spawnv(mode, path, args)
8	os.spawnve(mode, path, args, env)
9	os.spawnvp(mode, file, args)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-spawn.py:9:0
8	os.spawnve(mode, path, args, env)
9	os.spawnvp(mode, file, args)
10	os.spawnvpe(mode, file, args, env)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-spawn.py:10:0
9	os.spawnvp(mode, file, args)
10	os.spawnvpe(mode, file, args, env)

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-startfile.py:3:0
2	
3	os.startfile('/bin/foo.docx')
4	os.startfile('/bin/bad.exe')

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-startfile.py:4:0
3	os.startfile('/bin/foo.docx')
4	os.startfile('/bin/bad.exe')
5	os.startfile('/bin/text.txt')

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/os-startfile.py:5:0
4	os.startfile('/bin/bad.exe')
5	os.startfile('/bin/text.txt')

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/os_system.py:3:0
2	
3	os.system('/bin/echo hi')

--------------------------------------------------
>> Issue: [B403:blacklist] Consider possible security implications associated with pickle module.
   Severity: Low   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b403-import-pickle
   Location: examples/pandas_read_pickle.py:1:0
1	import pickle
2	import pandas as pd
3	

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b301-pickle
   Location: examples/pandas_read_pickle.py:12:6
11	
12	print(pd.read_pickle(pick))

--------------------------------------------------
>> Issue: [B601:paramiko_calls] Possible shell injection via Paramiko call, check inputs are properly sanitized.
   Severity: Medium   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b601_paramiko_calls.html
   Location: examples/paramiko_injection.py:7:0
6	# this is not safe
7	client.exec_command('something; really; unsafe')
8	

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/partial_path_process.py:1:0
1	from subprocess import Popen as pop
2	
3	pop('gcc --version', shell=False)

--------------------------------------------------
>> Issue: [B607:start_process_with_partial_path] Starting a process with a partial executable path
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b607_start_process_with_partial_path.html
   Location: examples/partial_path_process.py:3:0
2	
3	pop('gcc --version', shell=False)
4	pop('/bin/gcc --version', shell=False)

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/partial_path_process.py:3:0
2	
3	pop('gcc --version', shell=False)
4	pop('/bin/gcc --version', shell=False)

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/partial_path_process.py:4:0
3	pop('gcc --version', shell=False)
4	pop('/bin/gcc --version', shell=False)
5	pop(var, shell=False)

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/partial_path_process.py:5:0
4	pop('/bin/gcc --version', shell=False)
5	pop(var, shell=False)
6	

--------------------------------------------------
>> Issue: [B607:start_process_with_partial_path] Starting a process with a partial executable path
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b607_start_process_with_partial_path.html
   Location: examples/partial_path_process.py:7:0
6	
7	pop(['ls', '-l'], shell=False)
8	pop(['/bin/ls', '-l'], shell=False)

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/partial_path_process.py:7:0
6	
7	pop(['ls', '-l'], shell=False)
8	pop(['/bin/ls', '-l'], shell=False)

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/partial_path_process.py:8:0
7	pop(['ls', '-l'], shell=False)
8	pop(['/bin/ls', '-l'], shell=False)
9	

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/partial_path_process.py:10:0
9	
10	pop('../ls -l', shell=False)
11	

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/partial_path_process.py:12:0
11	
12	pop('c:\\hello\\something', shell=False)
13	pop('c:/hello/something_else', shell=False)

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/partial_path_process.py:13:0
12	pop('c:\\hello\\something', shell=False)
13	pop('c:/hello/something_else', shell=False)

--------------------------------------------------
>> Issue: [B403:blacklist] Consider possible security implications associated with pickle module.
   Severity: Low   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b403-import-pickle
   Location: examples/pickle_deserialize.py:2:0
1	import io
2	import pickle
3	

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b301-pickle
   Location: examples/pickle_deserialize.py:7:6
6	pick = pickle.dumps({'a': 'b', 'c': 'd'})
7	print(pickle.loads(pick))
8	

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b301-pickle
   Location: examples/pickle_deserialize.py:12:6
11	file_obj.seek(0)
12	print(pickle.load(file_obj))
13	

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b301-pickle
   Location: examples/pickle_deserialize.py:15:6
14	file_obj.seek(0)
15	print(pickle.Unpickler(file_obj).load())

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/popen_wrappers.py:5:6
4	
5	print(commands.getstatusoutput('/bin/echo / | xargs ls'))
6	print(commands.getoutput('/bin/echo / | xargs ls'))

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/popen_wrappers.py:6:6
5	print(commands.getstatusoutput('/bin/echo / | xargs ls'))
6	print(commands.getoutput('/bin/echo / | xargs ls'))
7	

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/popen_wrappers.py:11:6
10	
11	print(popen2.popen2('/bin/echo / | xargs ls')[0].read())
12	print(popen2.popen3('/bin/echo / | xargs ls')[0].read())

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/popen_wrappers.py:12:6
11	print(popen2.popen2('/bin/echo / | xargs ls')[0].read())
12	print(popen2.popen3('/bin/echo / | xargs ls')[0].read())
13	print(popen2.popen4('/bin/echo / | xargs ls')[0].read())

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/popen_wrappers.py:13:6
12	print(popen2.popen3('/bin/echo / | xargs ls')[0].read())
13	print(popen2.popen4('/bin/echo / | xargs ls')[0].read())
14	print(popen2.Popen3('/bin/echo / | xargs ls').fromchild.read())

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/popen_wrappers.py:14:6
13	print(popen2.popen4('/bin/echo / | xargs ls')[0].read())
14	print(popen2.Popen3('/bin/echo / | xargs ls').fromchild.read())
15	print(popen2.Popen4('/bin/echo / | xargs ls').fromchild.read())

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/popen_wrappers.py:15:6
14	print(popen2.Popen3('/bin/echo / | xargs ls').fromchild.read())
15	print(popen2.Popen4('/bin/echo / | xargs ls').fromchild.read())

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module AES are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/pycrypto.py:1:0
1	from Crypto.Cipher import AES
2	from Crypto import Random
3	

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module Random are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/pycrypto.py:2:0
1	from Crypto.Cipher import AES
2	from Crypto import Random
3	

--------------------------------------------------
>> Issue: [B415:blacklist] An IPMI-related module is being imported. IPMI is considered insecure. Use an encrypted protocol.
   Severity: High   Confidence: High
   CWE: CWE-319 (https://cwe.mitre.org/data/definitions/319.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b415-import-pyghmi
   Location: examples/pyghmi.py:1:0
1	from pyghmi.ipmi import command
2	
3	cmd = command.Command(bmc="bmc",

--------------------------------------------------
>> Issue: [B106:hardcoded_password_funcarg] Possible hardcoded password: 'ZjE4ZjI0NTE4YmI2NGJjZDliOGY3ZmJiY2UyN2IzODQK'
   Severity: Low   Confidence: Medium
   CWE: CWE-259 (https://cwe.mitre.org/data/definitions/259.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b106_hardcoded_password_funcarg.html
   Location: examples/pyghmi.py:5:6
4	                      userid="userid",
5	                      password="ZjE4ZjI0NTE4YmI2NGJjZDliOGY3ZmJiY2UyN2IzODQK")

--------------------------------------------------
>> Issue: [B614:pytorch_load] Use of unsafe PyTorch load
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b614_pytorch_load.html
   Location: examples/pytorch_load.py:10:29
9	loaded_model = models.resnet18()
10	loaded_model.load_state_dict(torch.load('model_weights.pth'))
11	

--------------------------------------------------
>> Issue: [B614:pytorch_load] Use of unsafe PyTorch load
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b614_pytorch_load.html
   Location: examples/pytorch_load.py:18:29
17	unsafe_model = models.resnet18()
18	unsafe_model.load_state_dict(torch.load('model_weights.pth', weights_only=False))
19	

--------------------------------------------------
>> Issue: [B614:pytorch_load] Use of unsafe PyTorch load
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b614_pytorch_load.html
   Location: examples/pytorch_load.py:22:26
21	cpu_model = models.resnet18()
22	cpu_model.load_state_dict(torch.load('model_weights.pth', map_location='cpu'))
23	

--------------------------------------------------
>> Issue: [B311:blacklist] Standard pseudo-random generators are not suitable for security/cryptographic purposes.
   Severity: Low   Confidence: High
   CWE: CWE-330 (https://cwe.mitre.org/data/definitions/330.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b311-random
   Location: examples/random_module.py:5:6
4	
5	bad = random.Random()
6	bad = random.random()

--------------------------------------------------
>> Issue: [B311:blacklist] Standard pseudo-random generators are not suitable for security/cryptographic purposes.
   Severity: Low   Confidence: High
   CWE: CWE-330 (https://cwe.mitre.org/data/definitions/330.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b311-random
   Location: examples/random_module.py:6:6
5	bad = random.Random()
6	bad = random.random()
7	bad = random.randrange()

--------------------------------------------------
>> Issue: [B311:blacklist] Standard pseudo-random generators are not suitable for security/cryptographic purposes.
   Severity: Low   Confidence: High
   CWE: CWE-330 (https://cwe.mitre.org/data/definitions/330.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b311-random
   Location: examples/random_module.py:7:6
6	bad = random.random()
7	bad = random.randrange()
8	bad = random.randint()

--------------------------------------------------
>> Issue: [B311:blacklist] Standard pseudo-random generators are not suitable for security/cryptographic purposes.
   Severity: Low   Confidence: High
   CWE: CWE-330 (https://cwe.mitre.org/data/definitions/330.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b311-random
   Location: examples/random_module.py:8:6
7	bad = random.randrange()
8	bad = random.randint()
9	bad = random.choice()

--------------------------------------------------
>> Issue: [B311:blacklist] Standard pseudo-random generators are not suitable for security/cryptographic purposes.
   Severity: Low   Confidence: High
   CWE: CWE-330 (https://cwe.mitre.org/data/definitions/330.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b311-random
   Location: examples/random_module.py:9:6
8	bad = random.randint()
9	bad = random.choice()
10	bad = random.choices()

--------------------------------------------------
>> Issue: [B311:blacklist] Standard pseudo-random generators are not suitable for security/cryptographic purposes.
   Severity: Low   Confidence: High
   CWE: CWE-330 (https://cwe.mitre.org/data/definitions/330.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b311-random
   Location: examples/random_module.py:10:6
9	bad = random.choice()
10	bad = random.choices()
11	bad = random.uniform()

--------------------------------------------------
>> Issue: [B311:blacklist] Standard pseudo-random generators are not suitable for security/cryptographic purposes.
   Severity: Low   Confidence: High
   CWE: CWE-330 (https://cwe.mitre.org/data/definitions/330.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b311-random
   Location: examples/random_module.py:11:6
10	bad = random.choices()
11	bad = random.uniform()
12	bad = random.triangular()

--------------------------------------------------
>> Issue: [B311:blacklist] Standard pseudo-random generators are not suitable for security/cryptographic purposes.
   Severity: Low   Confidence: High
   CWE: CWE-330 (https://cwe.mitre.org/data/definitions/330.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b311-random
   Location: examples/random_module.py:12:6
11	bad = random.uniform()
12	bad = random.triangular()
13	bad = random.randbytes()

--------------------------------------------------
>> Issue: [B311:blacklist] Standard pseudo-random generators are not suitable for security/cryptographic purposes.
   Severity: Low   Confidence: High
   CWE: CWE-330 (https://cwe.mitre.org/data/definitions/330.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b311-random
   Location: examples/random_module.py:13:6
12	bad = random.triangular()
13	bad = random.randbytes()
14	bad = random.sample()

--------------------------------------------------
>> Issue: [B311:blacklist] Standard pseudo-random generators are not suitable for security/cryptographic purposes.
   Severity: Low   Confidence: High
   CWE: CWE-330 (https://cwe.mitre.org/data/definitions/330.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b311-random
   Location: examples/random_module.py:14:6
13	bad = random.randbytes()
14	bad = random.sample()
15	bad = random.randrange()

--------------------------------------------------
>> Issue: [B311:blacklist] Standard pseudo-random generators are not suitable for security/cryptographic purposes.
   Severity: Low   Confidence: High
   CWE: CWE-330 (https://cwe.mitre.org/data/definitions/330.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b311-random
   Location: examples/random_module.py:15:6
14	bad = random.sample()
15	bad = random.randrange()
16	bad = random.getrandbits()

--------------------------------------------------
>> Issue: [B311:blacklist] Standard pseudo-random generators are not suitable for security/cryptographic purposes.
   Severity: Low   Confidence: High
   CWE: CWE-330 (https://cwe.mitre.org/data/definitions/330.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b311-random
   Location: examples/random_module.py:16:6
15	bad = random.randrange()
16	bad = random.getrandbits()
17	

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests without timeout
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:6:0
5	# Errors
6	requests.get('https://gmail.com')
7	requests.get('https://gmail.com', timeout=None)

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:7:0
6	requests.get('https://gmail.com')
7	requests.get('https://gmail.com', timeout=None)
8	requests.post('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests without timeout
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:8:0
7	requests.get('https://gmail.com', timeout=None)
8	requests.post('https://gmail.com')
9	requests.post('https://gmail.com', timeout=None)

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:9:0
8	requests.post('https://gmail.com')
9	requests.post('https://gmail.com', timeout=None)
10	requests.put('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests without timeout
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:10:0
9	requests.post('https://gmail.com', timeout=None)
10	requests.put('https://gmail.com')
11	requests.put('https://gmail.com', timeout=None)

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:11:0
10	requests.put('https://gmail.com')
11	requests.put('https://gmail.com', timeout=None)
12	requests.delete('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests without timeout
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:12:0
11	requests.put('https://gmail.com', timeout=None)
12	requests.delete('https://gmail.com')
13	requests.delete('https://gmail.com', timeout=None)

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:13:0
12	requests.delete('https://gmail.com')
13	requests.delete('https://gmail.com', timeout=None)
14	requests.patch('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests without timeout
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:14:0
13	requests.delete('https://gmail.com', timeout=None)
14	requests.patch('https://gmail.com')
15	requests.patch('https://gmail.com', timeout=None)

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:15:0
14	requests.patch('https://gmail.com')
15	requests.patch('https://gmail.com', timeout=None)
16	requests.options('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests without timeout
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:16:0
15	requests.patch('https://gmail.com', timeout=None)
16	requests.options('https://gmail.com')
17	requests.options('https://gmail.com', timeout=None)

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:17:0
16	requests.options('https://gmail.com')
17	requests.options('https://gmail.com', timeout=None)
18	requests.head('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests without timeout
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:18:0
17	requests.options('https://gmail.com', timeout=None)
18	requests.head('https://gmail.com')
19	requests.head('https://gmail.com', timeout=None)

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to requests with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:19:0
18	requests.head('https://gmail.com')
19	requests.head('https://gmail.com', timeout=None)
20	httpx.get('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to httpx with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:21:0
20	httpx.get('https://gmail.com')
21	httpx.get('https://gmail.com', timeout=None)
22	httpx.post('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to httpx with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:23:0
22	httpx.post('https://gmail.com')
23	httpx.post('https://gmail.com', timeout=None)
24	httpx.put('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to httpx with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:25:0
24	httpx.put('https://gmail.com')
25	httpx.put('https://gmail.com', timeout=None)
26	httpx.delete('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to httpx with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:27:0
26	httpx.delete('https://gmail.com')
27	httpx.delete('https://gmail.com', timeout=None)
28	httpx.patch('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to httpx with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:29:0
28	httpx.patch('https://gmail.com')
29	httpx.patch('https://gmail.com', timeout=None)
30	httpx.options('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to httpx with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:31:0
30	httpx.options('https://gmail.com')
31	httpx.options('https://gmail.com', timeout=None)
32	httpx.head('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to httpx with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:33:0
32	httpx.head('https://gmail.com')
33	httpx.head('https://gmail.com', timeout=None)
34	httpx.Client()

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to httpx with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:35:0
34	httpx.Client()
35	httpx.Client(timeout=None)
36	httpx.AsyncClient()

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to httpx with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:37:0
36	httpx.AsyncClient()
37	httpx.AsyncClient(timeout=None)
38	with httpx.Client() as client:

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to httpx with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:40:5
39	    client.get('https://gmail.com')
40	with httpx.Client(timeout=None) as client:
41	    client.get('https://gmail.com')

--------------------------------------------------
>> Issue: [B113:request_without_timeout] Call to httpx with timeout set to None
   Severity: Medium   Confidence: Low
   CWE: CWE-400 (https://cwe.mitre.org/data/definitions/400.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b113_request_without_timeout.html
   Location: examples/requests-missing-timeout.py:44:11
43	    await client.get('https://gmail.com')
44	async with httpx.AsyncClient(timeout=None) as client:
45	    await client.get('https://gmail.com')

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to requests with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:6:0
5	requests.get('https://gmail.com', timeout=30, verify=True)
6	requests.get('https://gmail.com', timeout=30, verify=False)
7	requests.post('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to requests with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:8:0
7	requests.post('https://gmail.com', timeout=30, verify=True)
8	requests.post('https://gmail.com', timeout=30, verify=False)
9	requests.put('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to requests with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:10:0
9	requests.put('https://gmail.com', timeout=30, verify=True)
10	requests.put('https://gmail.com', timeout=30, verify=False)
11	requests.delete('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to requests with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:12:0
11	requests.delete('https://gmail.com', timeout=30, verify=True)
12	requests.delete('https://gmail.com', timeout=30, verify=False)
13	requests.patch('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to requests with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:14:0
13	requests.patch('https://gmail.com', timeout=30, verify=True)
14	requests.patch('https://gmail.com', timeout=30, verify=False)
15	requests.options('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to requests with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:16:0
15	requests.options('https://gmail.com', timeout=30, verify=True)
16	requests.options('https://gmail.com', timeout=30, verify=False)
17	requests.head('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to requests with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:18:0
17	requests.head('https://gmail.com', timeout=30, verify=True)
18	requests.head('https://gmail.com', timeout=30, verify=False)
19	

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to httpx with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:22:0
21	httpx.request('GET', 'https://gmail.com', timeout=30, verify=True)
22	httpx.request('GET', 'https://gmail.com', timeout=30, verify=False)
23	httpx.get('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to httpx with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:24:0
23	httpx.get('https://gmail.com', timeout=30, verify=True)
24	httpx.get('https://gmail.com', timeout=30, verify=False)
25	httpx.options('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to httpx with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:26:0
25	httpx.options('https://gmail.com', timeout=30, verify=True)
26	httpx.options('https://gmail.com', timeout=30, verify=False)
27	httpx.head('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to httpx with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:28:0
27	httpx.head('https://gmail.com', timeout=30, verify=True)
28	httpx.head('https://gmail.com', timeout=30, verify=False)
29	httpx.post('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to httpx with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:30:0
29	httpx.post('https://gmail.com', timeout=30, verify=True)
30	httpx.post('https://gmail.com', timeout=30, verify=False)
31	httpx.put('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to httpx with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:32:0
31	httpx.put('https://gmail.com', timeout=30, verify=True)
32	httpx.put('https://gmail.com', timeout=30, verify=False)
33	httpx.patch('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to httpx with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:34:0
33	httpx.patch('https://gmail.com', timeout=30, verify=True)
34	httpx.patch('https://gmail.com', timeout=30, verify=False)
35	httpx.delete('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to httpx with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:36:0
35	httpx.delete('https://gmail.com', timeout=30, verify=True)
36	httpx.delete('https://gmail.com', timeout=30, verify=False)
37	httpx.stream('https://gmail.com', timeout=30, verify=True)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to httpx with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:38:0
37	httpx.stream('https://gmail.com', timeout=30, verify=True)
38	httpx.stream('https://gmail.com', timeout=30, verify=False)
39	httpx.Client(timeout=30)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to httpx with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:40:0
39	httpx.Client(timeout=30)
40	httpx.Client(timeout=30, verify=False)
41	httpx.AsyncClient(timeout=30)

--------------------------------------------------
>> Issue: [B501:request_with_no_cert_validation] Call to httpx with verify=False disabling SSL certificate checks, security issue.
   Severity: High   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b501_request_with_no_cert_validation.html
   Location: examples/requests-ssl-verify-disabled.py:42:0
41	httpx.AsyncClient(timeout=30)
42	httpx.AsyncClient(timeout=30, verify=False)

--------------------------------------------------
>> Issue: [B403:blacklist] Consider possible security implications associated with shelve module.
   Severity: Low   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b403-import-pickle
   Location: examples/shelve_open.py:2:0
1	import os
2	import shelve
3	import tempfile

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b301-pickle
   Location: examples/shelve_open.py:8:9
7	
8	    with shelve.open(filename) as db:
9	        db['spam'] = {'eggs': 'ham'}

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
   Severity: Medium   Confidence: High
   CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b301-pickle
   Location: examples/shelve_open.py:11:9
10	
11	    with shelve.open(filename) as db:
12	        print(db['spam'])

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/skip.py:1:0
1	subprocess.call(["/bin/ls", "-l"])
2	subprocess.call(["/bin/ls", "-l"]) #noqa
3	subprocess.call(["/bin/ls", "-l"]) # noqa

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/skip.py:2:0
1	subprocess.call(["/bin/ls", "-l"])
2	subprocess.call(["/bin/ls", "-l"]) #noqa
3	subprocess.call(["/bin/ls", "-l"]) # noqa

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/skip.py:3:0
2	subprocess.call(["/bin/ls", "-l"]) #noqa
3	subprocess.call(["/bin/ls", "-l"]) # noqa
4	subprocess.call(["/bin/ls", "-l"]) # nosec

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/skip.py:5:0
4	subprocess.call(["/bin/ls", "-l"]) # nosec
5	subprocess.call(["/bin/ls", "-l"])
6	subprocess.call(["/bin/ls", "-l"]) #nosec

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/skip.py:7:0
6	subprocess.call(["/bin/ls", "-l"]) #nosec
7	subprocess.call(["/bin/ls", "-l"])

--------------------------------------------------
>> Issue: [B508:snmp_insecure_version_check] The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if able.
   Severity: Medium   Confidence: High
   CWE: CWE-319 (https://cwe.mitre.org/data/definitions/319.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b508_snmp_insecure_version_check.html
   Location: examples/snmp.py:4:4
3	# SHOULD FAIL
4	a = CommunityData('public', mpModel=0)
5	# SHOULD FAIL

--------------------------------------------------
>> Issue: [B509:snmp_crypto_check] You should not use SNMPv3 without encryption. noAuthNoPriv & authNoPriv is insecure
   Severity: Medium   Confidence: High
   CWE: CWE-319 (https://cwe.mitre.org/data/definitions/319.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b509_snmp_crypto_check.html
   Location: examples/snmp.py:6:11
5	# SHOULD FAIL
6	insecure = UsmUserData("securityName")
7	# SHOULD FAIL

--------------------------------------------------
>> Issue: [B509:snmp_crypto_check] You should not use SNMPv3 without encryption. noAuthNoPriv & authNoPriv is insecure
   Severity: Medium   Confidence: High
   CWE: CWE-319 (https://cwe.mitre.org/data/definitions/319.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b509_snmp_crypto_check.html
   Location: examples/snmp.py:8:15
7	# SHOULD FAIL
8	auth_no_priv = UsmUserData("securityName","authName")
9	# SHOULD PASS

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:4:8
3	# bad
4	query = """SELECT *
5	FROM foo WHERE id = '%s'""" % identifier
6	query = """INSERT INTO foo

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:6:8
5	FROM foo WHERE id = '%s'""" % identifier
6	query = """INSERT INTO foo
7	VALUES ('a', 'b', '%s')""" % value
8	query = """DELETE FROM foo

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:8:8
7	VALUES ('a', 'b', '%s')""" % value
8	query = """DELETE FROM foo
9	WHERE id = '%s'""" % identifier
10	query = """UPDATE foo

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:10:8
9	WHERE id = '%s'""" % identifier
10	query = """UPDATE foo
11	SET value = 'b'
12	WHERE id = '%s'""" % identifier
13	query = """WITH cte AS (SELECT x FROM foo)

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:13:8
12	WHERE id = '%s'""" % identifier
13	query = """WITH cte AS (SELECT x FROM foo)
14	SELECT x FROM cte WHERE x = '%s'""" % identifier
15	# bad alternate forms

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:16:8
15	# bad alternate forms
16	query = """SELECT *
17	FROM foo
18	WHERE id = '""" + identifier + "'"
19	query = """SELECT *

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:19:8
18	WHERE id = '""" + identifier + "'"
19	query = """SELECT *
20	FROM foo
21	WHERE id = '{}'""".format(identifier)
22	

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:23:8
22	
23	query = f"""
24	SELECT *
25	FROM foo
26	WHERE id = {identifier}
27	"""
28	

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:30:12
29	# bad
30	cur.execute("""SELECT *
31	FROM foo
32	WHERE id = '%s'""" % identifier)
33	cur.execute("""INSERT INTO foo

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:33:12
32	WHERE id = '%s'""" % identifier)
33	cur.execute("""INSERT INTO foo
34	VALUES ('a', 'b', '%s')""" % value)
35	cur.execute("""DELETE FROM foo

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:35:12
34	VALUES ('a', 'b', '%s')""" % value)
35	cur.execute("""DELETE FROM foo
36	WHERE id = '%s'""" % identifier)
37	cur.execute("""UPDATE foo

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:37:12
36	WHERE id = '%s'""" % identifier)
37	cur.execute("""UPDATE foo
38	SET value = 'b'
39	WHERE id = '%s'""" % identifier)
40	# bad alternate forms

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:41:12
40	# bad alternate forms
41	cur.execute("""SELECT *
42	FROM foo
43	WHERE id = '""" + identifier + "'")
44	cur.execute("""SELECT *

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:44:12
43	WHERE id = '""" + identifier + "'")
44	cur.execute("""SELECT *
45	FROM foo
46	WHERE id = '{}'""".format(identifier))
47	

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:49:8
48	# bad with f-string
49	query = f"""
50	SELECT *
51	FROM foo
52	WHERE id = {identifier}
53	"""
54	query = f"""

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:54:8
53	"""
54	query = f"""
55	SELECT *
56	FROM foo
57	WHERE id = {identifier}
58	"""
59	

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:60:8
59	
60	query = f"""
61	SELECT *
62	FROM foo
63	WHERE id = {identifier}"""
64	query = f"""

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:64:8
63	WHERE id = {identifier}"""
64	query = f"""
65	SELECT *
66	FROM foo
67	WHERE id = {identifier}"""
68	

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:69:12
68	
69	cur.execute(f"""
70	SELECT
71	    {column_name}
72	FROM foo
73	WHERE id = 1""")
74	

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:75:12
74	
75	cur.execute(f"""
76	SELECT
77	    {a + b}
78	FROM foo
79	WHERE id = 1""")
80	

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:81:12
80	
81	cur.execute(f"""
82	INSERT INTO
83	    {table_name}
84	VALUES (1)""")
85	cur.execute(f"""

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:85:12
84	VALUES (1)""")
85	cur.execute(f"""
86	UPDATE {table_name}
87	SET id = 1""")
88	

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:90:12
89	# implicit concatenation mixed with f-strings
90	cur.execute("SELECT "
91	            f"{column_name} "
92	            "FROM foo "
93	            "WHERE id = 1"
94	            )

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:95:12
94	            )
95	cur.execute("INSERT INTO "
96	            f"{table_name} "
97	            "VALUES (1)")
98	cur.execute(f"UPDATE {table_name} "

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:98:12
97	            "VALUES (1)")
98	cur.execute(f"UPDATE {table_name} "
99	            "SET id = 1")
100	

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_multiline_statements.py:122:4
121	
122	a()("""SELECT %s
123	FROM foo""" % val)
124	

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:4:8
3	# bad
4	query = "SELECT * FROM foo WHERE id = '%s'" % identifier
5	query = "INSERT INTO foo VALUES ('a', 'b', '%s')" % value

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:5:8
4	query = "SELECT * FROM foo WHERE id = '%s'" % identifier
5	query = "INSERT INTO foo VALUES ('a', 'b', '%s')" % value
6	query = "INSERT INTO foo VALUES('a', 'b', '%s')" % value

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:6:8
5	query = "INSERT INTO foo VALUES ('a', 'b', '%s')" % value
6	query = "INSERT INTO foo VALUES('a', 'b', '%s')" % value
7	query = "DELETE FROM foo WHERE id = '%s'" % identifier

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:7:8
6	query = "INSERT INTO foo VALUES('a', 'b', '%s')" % value
7	query = "DELETE FROM foo WHERE id = '%s'" % identifier
8	query = "UPDATE foo SET value = 'b' WHERE id = '%s'" % identifier

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:8:8
7	query = "DELETE FROM foo WHERE id = '%s'" % identifier
8	query = "UPDATE foo SET value = 'b' WHERE id = '%s'" % identifier
9	query = """WITH cte AS (SELECT x FROM foo)

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:9:8
8	query = "UPDATE foo SET value = 'b' WHERE id = '%s'" % identifier
9	query = """WITH cte AS (SELECT x FROM foo)
10	SELECT x FROM cte WHERE x = '%s'""" % identifier
11	# bad alternate forms

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:12:8
11	# bad alternate forms
12	query = "SELECT * FROM foo WHERE id = '" + identifier + "'"
13	query = "SELECT * FROM foo WHERE id = '{}'".format(identifier)

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:13:8
12	query = "SELECT * FROM foo WHERE id = '" + identifier + "'"
13	query = "SELECT * FROM foo WHERE id = '{}'".format(identifier)
14	query = "SELECT * FROM foo WHERE id = '[VALUE]'".replace("[VALUE]", identifier)

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:14:8
13	query = "SELECT * FROM foo WHERE id = '{}'".format(identifier)
14	query = "SELECT * FROM foo WHERE id = '[VALUE]'".replace("[VALUE]", identifier)
15	

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:17:12
16	# bad
17	cur.execute("SELECT * FROM foo WHERE id = '%s'" % identifier)
18	cur.execute("INSERT INTO foo VALUES ('a', 'b', '%s')" % value)

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:18:12
17	cur.execute("SELECT * FROM foo WHERE id = '%s'" % identifier)
18	cur.execute("INSERT INTO foo VALUES ('a', 'b', '%s')" % value)
19	cur.execute("INSERT INTO foo VALUES('a', 'b', '%s')" % value)

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:19:12
18	cur.execute("INSERT INTO foo VALUES ('a', 'b', '%s')" % value)
19	cur.execute("INSERT INTO foo VALUES('a', 'b', '%s')" % value)
20	cur.execute("DELETE FROM foo WHERE id = '%s'" % identifier)

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:20:12
19	cur.execute("INSERT INTO foo VALUES('a', 'b', '%s')" % value)
20	cur.execute("DELETE FROM foo WHERE id = '%s'" % identifier)
21	cur.execute("UPDATE foo SET value = 'b' WHERE id = '%s'" % identifier)

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:21:12
20	cur.execute("DELETE FROM foo WHERE id = '%s'" % identifier)
21	cur.execute("UPDATE foo SET value = 'b' WHERE id = '%s'" % identifier)
22	# bad alternate forms

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:23:12
22	# bad alternate forms
23	cur.execute("SELECT * FROM foo WHERE id = '" + identifier + "'")
24	cur.execute("SELECT * FROM foo WHERE id = '{}'".format(identifier))

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:24:12
23	cur.execute("SELECT * FROM foo WHERE id = '" + identifier + "'")
24	cur.execute("SELECT * FROM foo WHERE id = '{}'".format(identifier))
25	cur.execute("SELECT * FROM foo WHERE id = '[VALUE]'".replace("[VALUE]", identifier))

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:25:12
24	cur.execute("SELECT * FROM foo WHERE id = '{}'".format(identifier))
25	cur.execute("SELECT * FROM foo WHERE id = '[VALUE]'".replace("[VALUE]", identifier))
26	

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:28:12
27	# bad f-strings
28	cur.execute(f"SELECT {column_name} FROM foo WHERE id = 1")
29	cur.execute(f"SELECT {a + b} FROM foo WHERE id = 1")

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:29:12
28	cur.execute(f"SELECT {column_name} FROM foo WHERE id = 1")
29	cur.execute(f"SELECT {a + b} FROM foo WHERE id = 1")
30	cur.execute(f"INSERT INTO {table_name} VALUES (1)")

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:30:12
29	cur.execute(f"SELECT {a + b} FROM foo WHERE id = 1")
30	cur.execute(f"INSERT INTO {table_name} VALUES (1)")
31	cur.execute(f"INSERT INTO {table_name} VALUES(1)")

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:31:12
30	cur.execute(f"INSERT INTO {table_name} VALUES (1)")
31	cur.execute(f"INSERT INTO {table_name} VALUES(1)")
32	cur.execute(f"UPDATE {table_name} SET id = 1")

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Medium
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:32:12
31	cur.execute(f"INSERT INTO {table_name} VALUES(1)")
32	cur.execute(f"UPDATE {table_name} SET id = 1")
33	

--------------------------------------------------
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
   Severity: Medium   Confidence: Low
   CWE: CWE-89 (https://cwe.mitre.org/data/definitions/89.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b608_hardcoded_sql_expressions.html
   Location: examples/sql_statements.py:47:4
46	
47	a()("SELECT %s FROM foo" % val)
48	

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] ssl.wrap_socket call with insecure SSL/TLS protocol version identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:4:0
3	
4	ssl.wrap_socket(ssl_version=ssl.PROTOCOL_SSLv2)
5	SSL.Context(method=SSL.SSLv2_METHOD)

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] SSL.Context call with insecure SSL/TLS protocol version identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:5:0
4	ssl.wrap_socket(ssl_version=ssl.PROTOCOL_SSLv2)
5	SSL.Context(method=SSL.SSLv2_METHOD)
6	SSL.Context(method=SSL.SSLv23_METHOD)

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] SSL.Context call with insecure SSL/TLS protocol version identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:6:0
5	SSL.Context(method=SSL.SSLv2_METHOD)
6	SSL.Context(method=SSL.SSLv23_METHOD)
7	

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] Function call with insecure SSL/TLS protocol identified, possible security issue.
   Severity: Medium   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:8:0
7	
8	herp_derp(ssl_version=ssl.PROTOCOL_SSLv2)
9	herp_derp(method=SSL.SSLv2_METHOD)

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] Function call with insecure SSL/TLS protocol identified, possible security issue.
   Severity: Medium   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:9:0
8	herp_derp(ssl_version=ssl.PROTOCOL_SSLv2)
9	herp_derp(method=SSL.SSLv2_METHOD)
10	herp_derp(method=SSL.SSLv23_METHOD)

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] Function call with insecure SSL/TLS protocol identified, possible security issue.
   Severity: Medium   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:10:0
9	herp_derp(method=SSL.SSLv2_METHOD)
10	herp_derp(method=SSL.SSLv23_METHOD)
11	

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] ssl.wrap_socket call with insecure SSL/TLS protocol version identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:13:0
12	# strict tests
13	ssl.wrap_socket(ssl_version=ssl.PROTOCOL_SSLv3)
14	ssl.wrap_socket(ssl_version=ssl.PROTOCOL_TLSv1)

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] ssl.wrap_socket call with insecure SSL/TLS protocol version identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:14:0
13	ssl.wrap_socket(ssl_version=ssl.PROTOCOL_SSLv3)
14	ssl.wrap_socket(ssl_version=ssl.PROTOCOL_TLSv1)
15	SSL.Context(method=SSL.SSLv3_METHOD)

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] SSL.Context call with insecure SSL/TLS protocol version identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:15:0
14	ssl.wrap_socket(ssl_version=ssl.PROTOCOL_TLSv1)
15	SSL.Context(method=SSL.SSLv3_METHOD)
16	SSL.Context(method=SSL.TLSv1_METHOD)

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] SSL.Context call with insecure SSL/TLS protocol version identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:16:0
15	SSL.Context(method=SSL.SSLv3_METHOD)
16	SSL.Context(method=SSL.TLSv1_METHOD)
17	

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] Function call with insecure SSL/TLS protocol identified, possible security issue.
   Severity: Medium   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:18:0
17	
18	herp_derp(ssl_version=ssl.PROTOCOL_SSLv3)
19	herp_derp(ssl_version=ssl.PROTOCOL_TLSv1)

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] Function call with insecure SSL/TLS protocol identified, possible security issue.
   Severity: Medium   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:19:0
18	herp_derp(ssl_version=ssl.PROTOCOL_SSLv3)
19	herp_derp(ssl_version=ssl.PROTOCOL_TLSv1)
20	herp_derp(method=SSL.SSLv3_METHOD)

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] Function call with insecure SSL/TLS protocol identified, possible security issue.
   Severity: Medium   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:20:0
19	herp_derp(ssl_version=ssl.PROTOCOL_TLSv1)
20	herp_derp(method=SSL.SSLv3_METHOD)
21	herp_derp(method=SSL.TLSv1_METHOD)

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] Function call with insecure SSL/TLS protocol identified, possible security issue.
   Severity: Medium   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:21:0
20	herp_derp(method=SSL.SSLv3_METHOD)
21	herp_derp(method=SSL.TLSv1_METHOD)
22	

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] ssl.wrap_socket call with insecure SSL/TLS protocol version identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:23:0
22	
23	ssl.wrap_socket(ssl_version=ssl.PROTOCOL_TLSv1_1)
24	SSL.Context(method=SSL.TLSv1_1_METHOD)

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] SSL.Context call with insecure SSL/TLS protocol version identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:24:0
23	ssl.wrap_socket(ssl_version=ssl.PROTOCOL_TLSv1_1)
24	SSL.Context(method=SSL.TLSv1_1_METHOD)
25	

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] Function call with insecure SSL/TLS protocol identified, possible security issue.
   Severity: Medium   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:26:0
25	
26	herp_derp(ssl_version=ssl.PROTOCOL_TLSv1_1)
27	herp_derp(method=SSL.TLSv1_1_METHOD)

--------------------------------------------------
>> Issue: [B502:ssl_with_bad_version] Function call with insecure SSL/TLS protocol identified, possible security issue.
   Severity: Medium   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b502_ssl_with_bad_version.html
   Location: examples/ssl-insecure-version.py:27:0
26	herp_derp(ssl_version=ssl.PROTOCOL_TLSv1_1)
27	herp_derp(method=SSL.TLSv1_1_METHOD)
28	

--------------------------------------------------
>> Issue: [B504:ssl_with_no_version] ssl.wrap_socket call with no SSL/TLS protocol version specified, the default SSLv23 could be insecure, possible security issue.
   Severity: Low   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b504_ssl_with_no_version.html
   Location: examples/ssl-insecure-version.py:30:0
29	
30	ssl.wrap_socket()
31	

--------------------------------------------------
>> Issue: [B503:ssl_with_bad_defaults] Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.
   Severity: Medium   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b503_ssl_with_bad_defaults.html
   Location: examples/ssl-insecure-version.py:32:0
31	
32	def open_ssl_socket(version=ssl.PROTOCOL_SSLv2):
33	    pass
34	

--------------------------------------------------
>> Issue: [B503:ssl_with_bad_defaults] Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.
   Severity: Medium   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b503_ssl_with_bad_defaults.html
   Location: examples/ssl-insecure-version.py:35:0
34	
35	def open_ssl_socket(version=SSL.SSLv2_METHOD):
36	    pass
37	

--------------------------------------------------
>> Issue: [B503:ssl_with_bad_defaults] Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.
   Severity: Medium   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b503_ssl_with_bad_defaults.html
   Location: examples/ssl-insecure-version.py:38:0
37	
38	def open_ssl_socket(version=SSL.SSLv23_METHOD):
39	    pass
40	

--------------------------------------------------
>> Issue: [B503:ssl_with_bad_defaults] Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.
   Severity: Medium   Confidence: Medium
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b503_ssl_with_bad_defaults.html
   Location: examples/ssl-insecure-version.py:41:0
40	
41	def open_ssl_socket(version=SSL.TLSv1_1_METHOD):
42	    pass
43	

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/subprocess_shell.py:1:0
1	import subprocess
2	from subprocess import Popen as pop
3	

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/subprocess_shell.py:2:0
1	import subprocess
2	from subprocess import Popen as pop
3	

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:11:0
10	
11	pop('/bin/gcc --version', shell=True)
12	Popen('/bin/gcc --version', shell=True)

--------------------------------------------------
>> Issue: [B604:any_other_function_with_shell_equals_true] Function call with shell=True parameter identified, possible security issue.
   Severity: Medium   Confidence: Low
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b604_any_other_function_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:12:0
11	pop('/bin/gcc --version', shell=True)
12	Popen('/bin/gcc --version', shell=True)
13	

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:14:0
13	
14	subprocess.Popen('/bin/gcc --version', shell=True)
15	subprocess.Popen(['/bin/gcc', '--version'], shell=False)

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/subprocess_shell.py:15:0
14	subprocess.Popen('/bin/gcc --version', shell=True)
15	subprocess.Popen(['/bin/gcc', '--version'], shell=False)
16	subprocess.Popen(['/bin/gcc', '--version'])

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/subprocess_shell.py:16:0
15	subprocess.Popen(['/bin/gcc', '--version'], shell=False)
16	subprocess.Popen(['/bin/gcc', '--version'])
17	

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/subprocess_shell.py:18:0
17	
18	subprocess.call(["/bin/ls",
19	                 "-l"
20	                 ])
21	subprocess.call('/bin/ls -l', shell=True)

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:21:0
20	                 ])
21	subprocess.call('/bin/ls -l', shell=True)
22	

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/subprocess_shell.py:23:0
22	
23	subprocess.check_call(['/bin/ls', '-l'], shell=False)
24	subprocess.check_call('/bin/ls -l', shell=True)

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:24:0
23	subprocess.check_call(['/bin/ls', '-l'], shell=False)
24	subprocess.check_call('/bin/ls -l', shell=True)
25	

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/subprocess_shell.py:26:0
25	
26	subprocess.check_output(['/bin/ls', '-l'])
27	subprocess.check_output('/bin/ls -l', shell=True)

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:27:0
26	subprocess.check_output(['/bin/ls', '-l'])
27	subprocess.check_output('/bin/ls -l', shell=True)
28	subprocess.check_output([], stdout=None)

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/subprocess_shell.py:28:0
27	subprocess.check_output('/bin/ls -l', shell=True)
28	subprocess.check_output([], stdout=None)
29	

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/subprocess_shell.py:30:0
29	
30	subprocess.getoutput('/bin/ls -l')
31	subprocess.getstatusoutput('/bin/ls -l')

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/subprocess_shell.py:31:0
30	subprocess.getoutput('/bin/ls -l')
31	subprocess.getstatusoutput('/bin/ls -l')
32	

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/subprocess_shell.py:33:0
32	
33	subprocess.run(['/bin/ls', '-l'])
34	subprocess.run('/bin/ls -l', shell=True)

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:34:0
33	subprocess.run(['/bin/ls', '-l'])
34	subprocess.run('/bin/ls -l', shell=True)
35	

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:36:0
35	
36	subprocess.Popen('/bin/ls *', shell=True)
37	subprocess.Popen('/bin/ls %s' % ('something',), shell=True)

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:37:0
36	subprocess.Popen('/bin/ls *', shell=True)
37	subprocess.Popen('/bin/ls %s' % ('something',), shell=True)
38	subprocess.Popen('/bin/ls {}'.format('something'), shell=True)

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:38:0
37	subprocess.Popen('/bin/ls %s' % ('something',), shell=True)
38	subprocess.Popen('/bin/ls {}'.format('something'), shell=True)
39	

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:41:0
40	command = "/bin/ls" + unknown_function()
41	subprocess.Popen(command, shell=True)
42	

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:43:0
42	
43	subprocess.Popen('/bin/ls && cat /etc/passwd', shell=True)
44	

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:46:0
45	command = 'pwd'
46	subprocess.call(command, shell='True')
47	subprocess.call(command, shell='False')

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:47:0
46	subprocess.call(command, shell='True')
47	subprocess.call(command, shell='False')
48	subprocess.call(command, shell='None')

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:48:0
47	subprocess.call(command, shell='False')
48	subprocess.call(command, shell='None')
49	subprocess.call(command, shell=1)

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:49:0
48	subprocess.call(command, shell='None')
49	subprocess.call(command, shell=1)
50	

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:51:0
50	
51	subprocess.call(command, shell=Popen())
52	subprocess.call(command, shell=[True])

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:52:0
51	subprocess.call(command, shell=Popen())
52	subprocess.call(command, shell=[True])
53	subprocess.call(command, shell={'IS': 'True'})

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:53:0
52	subprocess.call(command, shell=[True])
53	subprocess.call(command, shell={'IS': 'True'})
54	subprocess.call(command, shell=command)

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True identified, security issue.
   Severity: High   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/subprocess_shell.py:54:0
53	subprocess.call(command, shell={'IS': 'True'})
54	subprocess.call(command, shell=command)
55	

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/subprocess_shell.py:56:0
55	
56	subprocess.call(command, shell=False)
57	subprocess.call(command, shell=0)

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/subprocess_shell.py:57:0
56	subprocess.call(command, shell=False)
57	subprocess.call(command, shell=0)
58	subprocess.call(command, shell=[])

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/subprocess_shell.py:58:0
57	subprocess.call(command, shell=0)
58	subprocess.call(command, shell=[])
59	subprocess.call(command, shell={})

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/subprocess_shell.py:59:0
58	subprocess.call(command, shell=[])
59	subprocess.call(command, shell={})
60	subprocess.call(command, shell=None)

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/subprocess_shell.py:60:0
59	subprocess.call(command, shell={})
60	subprocess.call(command, shell=None)

--------------------------------------------------
>> Issue: [B202:tarfile_unsafe_members] tarfile.extractall used without any validation. Please check and discard dangerous members.
   Severity: High   Confidence: High
   CWE: CWE-22 (https://cwe.mitre.org/data/definitions/22.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b202_tarfile_unsafe_members.html
   Location: examples/tarfile_extractall.py:8:4
7	    tar = tarfile.open(filename)
8	    tar.extractall(path=tempfile.mkdtemp())
9	    tar.close()

--------------------------------------------------
>> Issue: [B202:tarfile_unsafe_members] Usage of tarfile.extractall(members=function(tarfile)). Make sure your function properly discards dangerous members {'Function': 'members_filter'}).
   Severity: Low   Confidence: Low
   CWE: CWE-22 (https://cwe.mitre.org/data/definitions/22.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b202_tarfile_unsafe_members.html
   Location: examples/tarfile_extractall.py:14:4
13	    tar = tarfile.open(filename)
14	    tar.extractall(path=tempfile.mkdtemp(), members=members_filter(tar))
15	    tar.close()

--------------------------------------------------
>> Issue: [B202:tarfile_unsafe_members] tarfile.extractall used without any validation. Please check and discard dangerous members.
   Severity: High   Confidence: High
   CWE: CWE-22 (https://cwe.mitre.org/data/definitions/22.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b202_tarfile_unsafe_members.html
   Location: examples/tarfile_extractall.py:26:4
25	    tar = tarfile.open(filename)
26	    tar.extractall(path=tempfile.mkdtemp(), filter="fully_trusted")
27	    tar.close()

--------------------------------------------------
>> Issue: [B202:tarfile_unsafe_members] Found tarfile.extractall(members=?) but couldn't identify the type of members. Check if the members were properly validated {'Other': <ast.List object at 0x0>}).
   Severity: Medium   Confidence: Medium
   CWE: CWE-22 (https://cwe.mitre.org/data/definitions/22.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b202_tarfile_unsafe_members.html
   Location: examples/tarfile_extractall.py:32:4
31	    tar = tarfile.open(filename)
32	    tar.extractall(path=tempfile.mkdtemp(), members=[])
33	    tar.close()

--------------------------------------------------
>> Issue: [B202:tarfile_unsafe_members] Found tarfile.extractall(members=?) but couldn't identify the type of members. Check if the members were properly validated {'Other': 'tar'}).
   Severity: Medium   Confidence: Medium
   CWE: CWE-22 (https://cwe.mitre.org/data/definitions/22.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b202_tarfile_unsafe_members.html
   Location: examples/tarfile_extractall.py:38:4
37	    tar = tarfile.open(filename)
38	    tarfile.extractall(path=tempfile.mkdtemp(), members=tar)
39	    tar.close()

--------------------------------------------------
>> Issue: [B401:blacklist] A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.
   Severity: High   Confidence: High
   CWE: CWE-319 (https://cwe.mitre.org/data/definitions/319.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b401-import-telnetlib
   Location: examples/telnetlib.py:1:0
1	import telnetlib
2	import getpass
3	

--------------------------------------------------
>> Issue: [B312:blacklist] Telnet-related functions are being called. Telnet is considered insecure. Use SSH or some other encrypted protocol.
   Severity: High   Confidence: High
   CWE: CWE-319 (https://cwe.mitre.org/data/definitions/319.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b312-telnetlib
   Location: examples/telnetlib.py:8:5
7	password = getpass.getpass()
8	tn = telnetlib.Telnet(host)
9	

--------------------------------------------------
>> Issue: [B613:trojansource] A Python source file contains bidirectional control characters ('\u202e').
   Severity: High   Confidence: Medium
   CWE: CWE-838 (https://cwe.mitre.org/data/definitions/838.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b613_trojansource.html
   Location: examples/trojansource.py:4:25
3	access_level = "user"
4	if access_level != 'none‮⁦': # Check if admin ⁩⁦' and access_level != 'user
5	    print("You are an admin.\n")

--------------------------------------------------
>> Issue: [B112:try_except_continue] Try, Except, Continue detected.
   Severity: Low   Confidence: High
   CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b112_try_except_continue.html
   Location: examples/try_except_continue.py:5:4
4	        a = i
5	    except:
6	        continue
7	

--------------------------------------------------
>> Issue: [B112:try_except_continue] Try, Except, Continue detected.
   Severity: Low   Confidence: High
   CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b112_try_except_continue.html
   Location: examples/try_except_continue.py:13:4
12	        a = 1
13	    except Exception:
14	        continue
15	

--------------------------------------------------
>> Issue: [B110:try_except_pass] Try, Except, Pass detected.
   Severity: Low   Confidence: High
   CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b110_try_except_pass.html
   Location: examples/try_except_pass.py:4:0
3	    a = 1
4	except:
5	    pass
6	

--------------------------------------------------
>> Issue: [B110:try_except_pass] Try, Except, Pass detected.
   Severity: Low   Confidence: High
   CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b110_try_except_pass.html
   Location: examples/try_except_pass.py:11:0
10	    a = 1
11	except Exception:
12	    pass
13	

--------------------------------------------------
>> Issue: [B323:blacklist] By default, Python will create a secure, verified ssl context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that  reverts to the previous behavior that does not validate certificates or perform hostname checks.
   Severity: Medium   Confidence: High
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b323-unverified-context
   Location: examples/unverified_context.py:7:10
6	# Incorrect: unverified context
7	context = ssl._create_unverified_context()

--------------------------------------------------
>> Issue: [B310:blacklist] Audit url open for permitted schemes. Allowing use of file:/ or custom schemes is often unexpected.
   Severity: Medium   Confidence: High
   CWE: CWE-22 (https://cwe.mitre.org/data/definitions/22.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b310-urllib-urlopen
   Location: examples/urlopen.py:17:4
16	    # Python 3
17	    urllib.request.urlopen('file:///bin/ls')
18	    urllib.request.urlretrieve('file:///bin/ls', '/bin/ls2')

--------------------------------------------------
>> Issue: [B310:blacklist] Audit url open for permitted schemes. Allowing use of file:/ or custom schemes is often unexpected.
   Severity: Medium   Confidence: High
   CWE: CWE-22 (https://cwe.mitre.org/data/definitions/22.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b310-urllib-urlopen
   Location: examples/urlopen.py:18:4
17	    urllib.request.urlopen('file:///bin/ls')
18	    urllib.request.urlretrieve('file:///bin/ls', '/bin/ls2')
19	    opener = urllib.request.URLopener()

--------------------------------------------------
>> Issue: [B310:blacklist] Audit url open for permitted schemes. Allowing use of file:/ or custom schemes is often unexpected.
   Severity: Medium   Confidence: High
   CWE: CWE-22 (https://cwe.mitre.org/data/definitions/22.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b310-urllib-urlopen
   Location: examples/urlopen.py:19:13
18	    urllib.request.urlretrieve('file:///bin/ls', '/bin/ls2')
19	    opener = urllib.request.URLopener()
20	    opener.open('file:///bin/ls')

--------------------------------------------------
>> Issue: [B310:blacklist] Audit url open for permitted schemes. Allowing use of file:/ or custom schemes is often unexpected.
   Severity: Medium   Confidence: High
   CWE: CWE-22 (https://cwe.mitre.org/data/definitions/22.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b310-urllib-urlopen
   Location: examples/urlopen.py:22:13
21	    opener.retrieve('file:///bin/ls')
22	    opener = urllib.request.FancyURLopener()
23	    opener.open('file:///bin/ls')

--------------------------------------------------
>> Issue: [B310:blacklist] Audit url open for permitted schemes. Allowing use of file:/ or custom schemes is often unexpected.
   Severity: Medium   Confidence: High
   CWE: CWE-22 (https://cwe.mitre.org/data/definitions/22.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b310-urllib-urlopen
   Location: examples/urlopen.py:27:4
26	    # Six
27	    six.moves.urllib.request.urlopen('file:///bin/ls')
28	    six.moves.urllib.request.urlretrieve('file:///bin/ls', '/bin/ls2')

--------------------------------------------------
>> Issue: [B310:blacklist] Audit url open for permitted schemes. Allowing use of file:/ or custom schemes is often unexpected.
   Severity: Medium   Confidence: High
   CWE: CWE-22 (https://cwe.mitre.org/data/definitions/22.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b310-urllib-urlopen
   Location: examples/urlopen.py:28:4
27	    six.moves.urllib.request.urlopen('file:///bin/ls')
28	    six.moves.urllib.request.urlretrieve('file:///bin/ls', '/bin/ls2')
29	    opener = six.moves.urllib.request.URLopener()

--------------------------------------------------
>> Issue: [B310:blacklist] Audit url open for permitted schemes. Allowing use of file:/ or custom schemes is often unexpected.
   Severity: Medium   Confidence: High
   CWE: CWE-22 (https://cwe.mitre.org/data/definitions/22.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b310-urllib-urlopen
   Location: examples/urlopen.py:29:13
28	    six.moves.urllib.request.urlretrieve('file:///bin/ls', '/bin/ls2')
29	    opener = six.moves.urllib.request.URLopener()
30	    opener.open('file:///bin/ls')

--------------------------------------------------
>> Issue: [B310:blacklist] Audit url open for permitted schemes. Allowing use of file:/ or custom schemes is often unexpected.
   Severity: Medium   Confidence: High
   CWE: CWE-22 (https://cwe.mitre.org/data/definitions/22.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b310-urllib-urlopen
   Location: examples/urlopen.py:32:13
31	    opener.retrieve('file:///bin/ls')
32	    opener = six.moves.urllib.request.FancyURLopener()
33	    opener.open('file:///bin/ls')

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module DSA are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/weak_cryptographic_key_sizes.py:5:0
4	from cryptography.hazmat.primitives.asymmetric import rsa
5	from Crypto.PublicKey import DSA as pycrypto_dsa
6	from Crypto.PublicKey import RSA as pycrypto_rsa

--------------------------------------------------
>> Issue: [B413:blacklist] The pyCrypto library and its module RSA are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.
   Severity: High   Confidence: High
   CWE: CWE-327 (https://cwe.mitre.org/data/definitions/327.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b413-import-pycrypto
   Location: examples/weak_cryptographic_key_sizes.py:6:0
5	from Crypto.PublicKey import DSA as pycrypto_dsa
6	from Crypto.PublicKey import RSA as pycrypto_rsa
7	from Cryptodome.PublicKey import DSA as pycryptodomex_dsa

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] DSA key sizes below 2048 bits are considered breakable. 
   Severity: Medium   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:38:0
37	# Incorrect: weak key sizes
38	dsa.generate_private_key(key_size=1024,
39	                         backend=backends.default_backend())
40	ec.generate_private_key(curve=ec.SECT163R2,

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] EC key sizes below 224 bits are considered breakable. 
   Severity: Medium   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:40:0
39	                         backend=backends.default_backend())
40	ec.generate_private_key(curve=ec.SECT163R2,
41	                        backend=backends.default_backend())
42	rsa.generate_private_key(public_exponent=65537,

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] RSA key sizes below 2048 bits are considered breakable. 
   Severity: Medium   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:42:0
41	                        backend=backends.default_backend())
42	rsa.generate_private_key(public_exponent=65537,
43	                         key_size=1024,
44	                         backend=backends.default_backend())
45	pycrypto_dsa.generate(bits=1024)

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] DSA key sizes below 2048 bits are considered breakable. 
   Severity: Medium   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:45:0
44	                         backend=backends.default_backend())
45	pycrypto_dsa.generate(bits=1024)
46	pycrypto_rsa.generate(bits=1024)

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] RSA key sizes below 2048 bits are considered breakable. 
   Severity: Medium   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:46:0
45	pycrypto_dsa.generate(bits=1024)
46	pycrypto_rsa.generate(bits=1024)
47	pycryptodomex_dsa.generate(bits=1024)

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] DSA key sizes below 2048 bits are considered breakable. 
   Severity: Medium   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:47:0
46	pycrypto_rsa.generate(bits=1024)
47	pycryptodomex_dsa.generate(bits=1024)
48	pycryptodomex_rsa.generate(bits=1024)

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] RSA key sizes below 2048 bits are considered breakable. 
   Severity: Medium   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:48:0
47	pycryptodomex_dsa.generate(bits=1024)
48	pycryptodomex_rsa.generate(bits=1024)
49	

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] DSA key sizes below 1024 bits are considered breakable. 
   Severity: High   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:51:0
50	# Also incorrect: without keyword args
51	dsa.generate_private_key(512,
52	                         backends.default_backend())
53	ec.generate_private_key(ec.SECT163R2,

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] EC key sizes below 224 bits are considered breakable. 
   Severity: Medium   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:53:0
52	                         backends.default_backend())
53	ec.generate_private_key(ec.SECT163R2,
54	                        backends.default_backend())
55	rsa.generate_private_key(3,

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] RSA key sizes below 1024 bits are considered breakable. 
   Severity: High   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:55:0
54	                        backends.default_backend())
55	rsa.generate_private_key(3,
56	                         512,
57	                         backends.default_backend())
58	pycrypto_dsa.generate(512)

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] DSA key sizes below 1024 bits are considered breakable. 
   Severity: High   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:58:0
57	                         backends.default_backend())
58	pycrypto_dsa.generate(512)
59	pycrypto_rsa.generate(512)

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] RSA key sizes below 1024 bits are considered breakable. 
   Severity: High   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:59:0
58	pycrypto_dsa.generate(512)
59	pycrypto_rsa.generate(512)
60	pycryptodomex_dsa.generate(512)

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] DSA key sizes below 1024 bits are considered breakable. 
   Severity: High   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:60:0
59	pycrypto_rsa.generate(512)
60	pycryptodomex_dsa.generate(512)
61	pycryptodomex_rsa.generate(512)

--------------------------------------------------
>> Issue: [B505:weak_cryptographic_key] RSA key sizes below 1024 bits are considered breakable. 
   Severity: High   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b505_weak_cryptographic_key.html
   Location: examples/weak_cryptographic_key_sizes.py:61:0
60	pycryptodomex_dsa.generate(512)
61	pycryptodomex_rsa.generate(512)
62	

--------------------------------------------------
>> Issue: [B404:blacklist] Consider possible security implications associated with the subprocess module.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b404-import-subprocess
   Location: examples/wildcard-injection.py:2:0
1	import os as o
2	import subprocess as subp
3	

--------------------------------------------------
>> Issue: [B609:linux_commands_wildcard_injection] Possible wildcard injection in call: os.system
   Severity: High   Confidence: Medium
   CWE: CWE-155 (https://cwe.mitre.org/data/definitions/155.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b609_linux_commands_wildcard_injection.html
   Location: examples/wildcard-injection.py:5:0
4	# Vulnerable to wildcard injection
5	o.system("/bin/tar xvzf *")
6	o.system('/bin/chown *')

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/wildcard-injection.py:5:0
4	# Vulnerable to wildcard injection
5	o.system("/bin/tar xvzf *")
6	o.system('/bin/chown *')

--------------------------------------------------
>> Issue: [B609:linux_commands_wildcard_injection] Possible wildcard injection in call: os.system
   Severity: High   Confidence: Medium
   CWE: CWE-155 (https://cwe.mitre.org/data/definitions/155.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b609_linux_commands_wildcard_injection.html
   Location: examples/wildcard-injection.py:6:0
5	o.system("/bin/tar xvzf *")
6	o.system('/bin/chown *')
7	o.popen2('/bin/chmod *')

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/wildcard-injection.py:6:0
5	o.system("/bin/tar xvzf *")
6	o.system('/bin/chown *')
7	o.popen2('/bin/chmod *')

--------------------------------------------------
>> Issue: [B609:linux_commands_wildcard_injection] Possible wildcard injection in call: os.popen2
   Severity: High   Confidence: Medium
   CWE: CWE-155 (https://cwe.mitre.org/data/definitions/155.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b609_linux_commands_wildcard_injection.html
   Location: examples/wildcard-injection.py:7:0
6	o.system('/bin/chown *')
7	o.popen2('/bin/chmod *')
8	subp.Popen('/bin/chown *', shell=True)

--------------------------------------------------
>> Issue: [B605:start_process_with_a_shell] Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b605_start_process_with_a_shell.html
   Location: examples/wildcard-injection.py:7:0
6	o.system('/bin/chown *')
7	o.popen2('/bin/chmod *')
8	subp.Popen('/bin/chown *', shell=True)

--------------------------------------------------
>> Issue: [B609:linux_commands_wildcard_injection] Possible wildcard injection in call: subprocess.Popen
   Severity: High   Confidence: Medium
   CWE: CWE-155 (https://cwe.mitre.org/data/definitions/155.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b609_linux_commands_wildcard_injection.html
   Location: examples/wildcard-injection.py:8:0
7	o.popen2('/bin/chmod *')
8	subp.Popen('/bin/chown *', shell=True)
9	

--------------------------------------------------
>> Issue: [B602:subprocess_popen_with_shell_equals_true] subprocess call with shell=True seems safe, but may be changed in the future, consider rewriting without shell
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b602_subprocess_popen_with_shell_equals_true.html
   Location: examples/wildcard-injection.py:8:0
7	o.popen2('/bin/chmod *')
8	subp.Popen('/bin/chown *', shell=True)
9	

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/wildcard-injection.py:11:0
10	# Not vulnerable to wildcard injection
11	subp.Popen('/bin/rsync *')
12	subp.Popen("/bin/chmod *")

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/wildcard-injection.py:12:0
11	subp.Popen('/bin/rsync *')
12	subp.Popen("/bin/chmod *")
13	subp.Popen(['/bin/chown', '*'])

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/wildcard-injection.py:13:0
12	subp.Popen("/bin/chmod *")
13	subp.Popen(['/bin/chown', '*'])
14	subp.Popen(["/bin/chmod", sys.argv[1], "*"],

--------------------------------------------------
>> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution of untrusted input.
   Severity: Low   Confidence: High
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b603_subprocess_without_shell_equals_true.html
   Location: examples/wildcard-injection.py:14:0
13	subp.Popen(['/bin/chown', '*'])
14	subp.Popen(["/bin/chmod", sys.argv[1], "*"],
15	                 stdin=subprocess.PIPE, stdout=subprocess.PIPE)
16	o.spawnvp(os.P_WAIT, 'tar', ['tar', 'xvzf', '*'])

--------------------------------------------------
>> Issue: [B606:start_process_with_no_shell] Starting a process without a shell.
   Severity: Low   Confidence: Medium
   CWE: CWE-78 (https://cwe.mitre.org/data/definitions/78.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b606_start_process_with_no_shell.html
   Location: examples/wildcard-injection.py:16:0
15	                 stdin=subprocess.PIPE, stdout=subprocess.PIPE)
16	o.spawnvp(os.P_WAIT, 'tar', ['tar', 'xvzf', '*'])

--------------------------------------------------
>> Issue: [B405:blacklist] Using xml.etree.cElementTree to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.etree.cElementTree with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.
   Severity: Low   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b405-import-xml-etree
   Location: examples/xml_etree_celementtree.py:1:0
1	import xml.etree.cElementTree as badET
2	import defusedxml.cElementTree as goodET
3	

--------------------------------------------------
>> Issue: [B313:blacklist] Using xml.etree.cElementTree.fromstring to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.etree.cElementTree.fromstring with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-celementtree
   Location: examples/xml_etree_celementtree.py:7:7
6	# unsafe
7	tree = badET.fromstring(xmlString)
8	print(tree)

--------------------------------------------------
>> Issue: [B313:blacklist] Using xml.etree.cElementTree.parse to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.etree.cElementTree.parse with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-celementtree
   Location: examples/xml_etree_celementtree.py:9:0
8	print(tree)
9	badET.parse('filethatdoesntexist.xml')
10	badET.iterparse('filethatdoesntexist.xml')

--------------------------------------------------
>> Issue: [B313:blacklist] Using xml.etree.cElementTree.iterparse to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.etree.cElementTree.iterparse with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-celementtree
   Location: examples/xml_etree_celementtree.py:10:0
9	badET.parse('filethatdoesntexist.xml')
10	badET.iterparse('filethatdoesntexist.xml')
11	a = badET.XMLParser()

--------------------------------------------------
>> Issue: [B313:blacklist] Using xml.etree.cElementTree.XMLParser to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.etree.cElementTree.XMLParser with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-celementtree
   Location: examples/xml_etree_celementtree.py:11:4
10	badET.iterparse('filethatdoesntexist.xml')
11	a = badET.XMLParser()
12	

--------------------------------------------------
>> Issue: [B405:blacklist] Using xml.etree.ElementTree to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.etree.ElementTree with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.
   Severity: Low   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b405-import-xml-etree
   Location: examples/xml_etree_elementtree.py:1:0
1	import xml.etree.ElementTree as badET
2	import defusedxml.ElementTree as goodET
3	

--------------------------------------------------
>> Issue: [B314:blacklist] Using xml.etree.ElementTree.fromstring to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.etree.ElementTree.fromstring with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-elementtree
   Location: examples/xml_etree_elementtree.py:7:7
6	# unsafe
7	tree = badET.fromstring(xmlString)
8	print(tree)

--------------------------------------------------
>> Issue: [B314:blacklist] Using xml.etree.ElementTree.parse to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.etree.ElementTree.parse with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-elementtree
   Location: examples/xml_etree_elementtree.py:9:0
8	print(tree)
9	badET.parse('filethatdoesntexist.xml')
10	badET.iterparse('filethatdoesntexist.xml')

--------------------------------------------------
>> Issue: [B314:blacklist] Using xml.etree.ElementTree.iterparse to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.etree.ElementTree.iterparse with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-elementtree
   Location: examples/xml_etree_elementtree.py:10:0
9	badET.parse('filethatdoesntexist.xml')
10	badET.iterparse('filethatdoesntexist.xml')
11	a = badET.XMLParser()

--------------------------------------------------
>> Issue: [B314:blacklist] Using xml.etree.ElementTree.XMLParser to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.etree.ElementTree.XMLParser with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-elementtree
   Location: examples/xml_etree_elementtree.py:11:4
10	badET.iterparse('filethatdoesntexist.xml')
11	a = badET.XMLParser()
12	

--------------------------------------------------
>> Issue: [B407:blacklist] Using xml.dom.expatbuilder to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.dom.expatbuilder with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.
   Severity: Low   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b407-import-xml-expat
   Location: examples/xml_expatbuilder.py:1:0
1	import xml.dom.expatbuilder as bad
2	import defusedxml.expatbuilder as good
3	

--------------------------------------------------
>> Issue: [B316:blacklist] Using xml.dom.expatbuilder.parse to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.dom.expatbuilder.parse with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-expatbuilder
   Location: examples/xml_expatbuilder.py:4:0
3	
4	bad.parse('filethatdoesntexist.xml')
5	good.parse('filethatdoesntexist.xml')

--------------------------------------------------
>> Issue: [B316:blacklist] Using xml.dom.expatbuilder.parseString to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.dom.expatbuilder.parseString with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-expatbuilder
   Location: examples/xml_expatbuilder.py:9:0
8	
9	bad.parseString(xmlString)
10	good.parseString(xmlString)

--------------------------------------------------
>> Issue: [B406:blacklist] Using xml.sax.expatreader to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.sax.expatreader with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.
   Severity: Low   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b406-import-xml-sax
   Location: examples/xml_expatreader.py:1:0
1	import xml.sax.expatreader as bad
2	import defusedxml.expatreader as good
3	

--------------------------------------------------
>> Issue: [B315:blacklist] Using xml.sax.expatreader.create_parser to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.sax.expatreader.create_parser with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-expatreader
   Location: examples/xml_expatreader.py:4:4
3	
4	p = bad.create_parser()
5	b = good.create_parser()

--------------------------------------------------
>> Issue: [B408:blacklist] Using parseString to parse untrusted XML data is known to be vulnerable to XML attacks. Replace parseString with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.
   Severity: Low   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b408-import-xml-minidom
   Location: examples/xml_minidom.py:1:0
1	from xml.dom.minidom import parseString as badParseString
2	from defusedxml.minidom import parseString as goodParseString
3	a = badParseString("<myxml>Some data some more data</myxml>")

--------------------------------------------------
>> Issue: [B318:blacklist] Using xml.dom.minidom.parseString to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.dom.minidom.parseString with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-minidom
   Location: examples/xml_minidom.py:3:4
2	from defusedxml.minidom import parseString as goodParseString
3	a = badParseString("<myxml>Some data some more data</myxml>")
4	print(a)

--------------------------------------------------
>> Issue: [B408:blacklist] Using parse to parse untrusted XML data is known to be vulnerable to XML attacks. Replace parse with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.
   Severity: Low   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b408-import-xml-minidom
   Location: examples/xml_minidom.py:9:0
8	
9	from xml.dom.minidom import parse as badParse
10	from defusedxml.minidom import parse as goodParse

--------------------------------------------------
>> Issue: [B318:blacklist] Using xml.dom.minidom.parse to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.dom.minidom.parse with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-minidom
   Location: examples/xml_minidom.py:11:4
10	from defusedxml.minidom import parse as goodParse
11	a = badParse("somfilethatdoesntexist.xml")
12	print(a)

--------------------------------------------------
>> Issue: [B409:blacklist] Using parseString to parse untrusted XML data is known to be vulnerable to XML attacks. Replace parseString with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.
   Severity: Low   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b409-import-xml-pulldom
   Location: examples/xml_pulldom.py:1:0
1	from xml.dom.pulldom import parseString as badParseString
2	from defusedxml.pulldom import parseString as goodParseString
3	a = badParseString("<myxml>Some data some more data</myxml>")

--------------------------------------------------
>> Issue: [B319:blacklist] Using xml.dom.pulldom.parseString to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.dom.pulldom.parseString with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-pulldom
   Location: examples/xml_pulldom.py:3:4
2	from defusedxml.pulldom import parseString as goodParseString
3	a = badParseString("<myxml>Some data some more data</myxml>")
4	print(a)

--------------------------------------------------
>> Issue: [B409:blacklist] Using parse to parse untrusted XML data is known to be vulnerable to XML attacks. Replace parse with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.
   Severity: Low   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b409-import-xml-pulldom
   Location: examples/xml_pulldom.py:9:0
8	
9	from xml.dom.pulldom import parse as badParse
10	from defusedxml.pulldom import parse as goodParse

--------------------------------------------------
>> Issue: [B319:blacklist] Using xml.dom.pulldom.parse to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.dom.pulldom.parse with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-pulldom
   Location: examples/xml_pulldom.py:11:4
10	from defusedxml.pulldom import parse as goodParse
11	a = badParse("somfilethatdoesntexist.xml")
12	print(a)

--------------------------------------------------
>> Issue: [B406:blacklist] Using xml.sax to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.sax with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.
   Severity: Low   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b406-import-xml-sax
   Location: examples/xml_sax.py:1:0
1	import xml.sax
2	from xml import sax
3	import defusedxml.sax

--------------------------------------------------
>> Issue: [B406:blacklist] Using sax to parse untrusted XML data is known to be vulnerable to XML attacks. Replace sax with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.
   Severity: Low   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b406-import-xml-sax
   Location: examples/xml_sax.py:2:0
1	import xml.sax
2	from xml import sax
3	import defusedxml.sax

--------------------------------------------------
>> Issue: [B317:blacklist] Using xml.sax.parseString to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.sax.parseString with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-sax
   Location: examples/xml_sax.py:21:4
20	    # bad
21	    xml.sax.parseString(xmlString, ExampleContentHandler())
22	    xml.sax.parse('notaxmlfilethatexists.xml', ExampleContentHandler())

--------------------------------------------------
>> Issue: [B317:blacklist] Using xml.sax.parse to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.sax.parse with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-sax
   Location: examples/xml_sax.py:22:4
21	    xml.sax.parseString(xmlString, ExampleContentHandler())
22	    xml.sax.parse('notaxmlfilethatexists.xml', ExampleContentHandler())
23	    sax.parseString(xmlString, ExampleContentHandler())

--------------------------------------------------
>> Issue: [B317:blacklist] Using xml.sax.parseString to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.sax.parseString with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-sax
   Location: examples/xml_sax.py:23:4
22	    xml.sax.parse('notaxmlfilethatexists.xml', ExampleContentHandler())
23	    sax.parseString(xmlString, ExampleContentHandler())
24	    sax.parse('notaxmlfilethatexists.xml', ExampleContentHandler)

--------------------------------------------------
>> Issue: [B317:blacklist] Using xml.sax.parse to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.sax.parse with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-sax
   Location: examples/xml_sax.py:24:4
23	    sax.parseString(xmlString, ExampleContentHandler())
24	    sax.parse('notaxmlfilethatexists.xml', ExampleContentHandler)
25	

--------------------------------------------------
>> Issue: [B317:blacklist] Using xml.sax.make_parser to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.sax.make_parser with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-sax
   Location: examples/xml_sax.py:30:4
29	    # bad
30	    xml.sax.make_parser()
31	    sax.make_parser()

--------------------------------------------------
>> Issue: [B317:blacklist] Using xml.sax.make_parser to parse untrusted XML data is known to be vulnerable to XML attacks. Replace xml.sax.make_parser with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_calls.html#b313-b320-xml-bad-sax
   Location: examples/xml_sax.py:31:4
30	    xml.sax.make_parser()
31	    sax.make_parser()
32	    print('nothing')

--------------------------------------------------
>> Issue: [B411:blacklist] Using xmlrpc to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.
   Severity: High   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/blacklists/blacklist_imports.html#b411-import-xmlrpclib
   Location: examples/xml_xmlrpc.py:1:0
1	import xmlrpc
2	from SimpleXMLRPCServer import SimpleXMLRPCServer
3	

--------------------------------------------------
>> Issue: [B506:yaml_load] Use of unsafe yaml load. Allows instantiation of arbitrary objects. Consider yaml.safe_load().
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b506_yaml_load.html
   Location: examples/yaml_load.py:9:8
8	    ystr = yaml.dump({'a': 1, 'b': 2, 'c': 3})
9	    y = yaml.load(ystr)
10	    yaml.dump(y)

--------------------------------------------------
>> Issue: [B506:yaml_load] Use of unsafe yaml load. Allows instantiation of arbitrary objects. Consider yaml.safe_load().
   Severity: Medium   Confidence: High
   CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html)
   More Info: https://bandit.readthedocs.io/en/X/plugins/b506_yaml_load.html
   Location: examples/yaml_load.py:22:0
21	
22	yaml.load("{}", Loader=yaml.Loader)
23	

--------------------------------------------------

Code scanned:
	Total lines of code: 8885
	Total lines skipped (#nosec): 32
	Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 18

Run metrics:
	Total issues (by severity):
		Undefined: 0
		Low: 160
		Medium: 303
		High: 134
	Total issues (by confidence):
		Undefined: 0
		Low: 51
		Medium: 117
		High: 429
Files skipped (3):
	examples/new_candidates-none.py (syntax error while parsing AST from file)
	examples/nonsense.py (syntax error while parsing AST from file)
	examples/nonsense2.py (syntax error while parsing AST from file)
