prev message, not scan recursively, tried to scan web2py take longer time, n think it can ignore the result under apps folder since it's just a scaffolding or examples, but can be a reminder when deploy in production $ bandit ./web3py/ -r [main] INFO profile include tests: None [main] INFO profile exclude tests: None [main] INFO cli include tests: None [main] INFO cli exclude tests: None [main] INFO running on Python 3.6.7 Run started:2019-05-23 04:29:35.118424 Test results: >> Issue: [B105:hardcoded_password_string] Possible hardcoded password: '<my secret key>' Severity: Low Confidence: Medium Location: ./web3py/apps/_scaffold/settings.py:17 More Info: https: //bandit.readthedocs.io/en/latest/plugins/b105_hardcoded_password_string.html 16 SESSION_TYPE = 'cookies' 17 SESSION_SECRET_KEY = '<my secret key>' 18 MEMCACHE_CLIENTS = ['127.0.0.1:11211'] -------------------------------------------------- >> Issue: [B106:hardcoded_password_funcarg] Possible hardcoded password: 'myscret' Severity: Low Confidence: Medium Location: ./web3py/apps/examples/__init__.py:12 More Info: https: //bandit.readthedocs.io/en/latest/plugins/b106_hardcoded_password_funcarg.html 11 db.commit() 12 session = Session(secret='myscret') 13 -------------------------------------------------- >> Issue: [B106:hardcoded_password_funcarg] Possible hardcoded password: 'some secret' Severity: Low Confidence: Medium Location: ./web3py/apps/todo/__init__.py:5 More Info: https: //bandit.readthedocs.io/en/latest/plugins/b106_hardcoded_password_funcarg.html 4 # define session and cache objects 5 session = Session(secret='some secret') 6 cache = Cache(size=1000) -------------------------------------------------- >> Issue: [B404:blacklist] Consider possible security implications associated with subprocess module. Severity: Low Confidence: High Location: ./web3py/setup.py:4 More Info: https: //bandit.readthedocs.io/en/latest/blacklists/blacklist_imports.html#b404-import-subprocess 3 """ 4 import subprocess 5 import re -------------------------------------------------- >> Issue: [B607:start_process_with_partial_path] Starting a process with a partial executable path Severity: Low Confidence: High Location: ./web3py/setup.py:13 More Info: https://bandit.readthedocs.io/en/latest/plugins/b607_start_process_with_partial_path.html 12 def get_hash(): 13 return subprocess.check_output(['git', 'rev-parse', 'HEAD']).strip().decode('utf8') 14 -------------------------------------------------- >> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution ofuntrusted input. Severity: Low Confidence: High Location: ./web3py/setup.py:13 More Info: https://bandit.readthedocs.io/en/latest/plugins/b603_subprocess_without_shell_equals_true.html 12 def get_hash(): 13 return subprocess.check_output(['git', 'rev-parse', 'HEAD']).strip().decode('utf8') 14 -------------------------------------------------- >> Issue: [B101:assert_used] Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. Severity: Low Confidence: High Location: ./web3py/web3py/core.py:255 More Info: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html 254 if self.expiration is not None and self.storage is None: 255 assert self.local.data['timestamp'] > time.time() - int(self.expiration) 256 assert self.local.data.get('secure') == self.local.secure -------------------------------------------------- >> Issue: [B101:assert_used] Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. Severity: Low Confidence: High Location: ./web3py/web3py/core.py:256 More Info: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html 255 assert self.local.data['timestamp'] > time.time() - int(self.expiration) 256 assert self.local.data.get('secure') == self.local.secure 257 except (jwt.exceptions.InvalidSignatureError, AssertionError, ValueError): -------------------------------------------------- >> Issue: [B108:hardcoded_tmp_directory] Probable insecure usage of temp file/directory. Severity: Medium Confidence: Medium Location: ./web3py/web3py/core.py:648 More Info: https://bandit.readthedocs.io/en/latest/plugins/b108_hardcoded_tmp_directory.html 647 parser.add_argument('--service_db_uri', default='sqlite://service.storage', type=str, help='db uri for logging') 648 parser.add_argument('--service_folder', default='/tmp/web3py', type=str, help='db uri for logging') 649 action.args = args = parser.parse_args() -------------------------------------------------- >> Issue: [B108:hardcoded_tmp_directory] Probable insecure usage of temp file/directory. Severity: Medium Confidence: Medium Location: ./web3py/web3py/tests/test_action.py:14 More Info: https://bandit.readthedocs.io/en/latest/plugins/b108_hardcoded_tmp_directory.html 13 14 db = DAL('sqlite://storage_%s' % uuid.uuid4(), folder='/tmp/') 15 db.define_table('thing', Field('name')) -------------------------------------------------- >> Issue: [B106:hardcoded_password_funcarg] Possible hardcoded password: 'my secret' Severity: Low Confidence: Medium Location: ./web3py/web3py/tests/test_action.py:16 More Info: https://bandit.readthedocs.io/en/latest/plugins/b106_hardcoded_password_funcarg.html 15 db.define_table('thing', Field('name')) 16 session = Session(secret='my secret') 17 cache = Cache() -------------------------------------------------- >> Issue: [B106:hardcoded_password_funcarg] Possible hardcoded password: 'a' Severity: Low Confidence: Medium Location: ./web3py/web3py/tests/test_auth.py:12 More Info: https://bandit.readthedocs.io/en/latest/plugins/b106_hardcoded_password_funcarg.html 11 self.db = DAL('sqlite:memory') 12 self.session = Session(secret="a", expiration=10) 13 self.session.local.data = {} -------------------------------------------------- >> Issue: [B311:blacklist] Standard pseudo-random generators are not suitable for security/cryptographic purposes. Severity: Low Confidence: High Location: ./web3py/web3py/tests/test_cache.py:51 More Info: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b311-random 50 def f(x): 51 return x + random.random() 52 -------------------------------------------------- >> Issue: [B404:blacklist] Consider possible security implications associated with subprocess module. Severity: Low Confidence: High Location: ./web3py/web3py/tests/test_session.py:4 More Info: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_imports.html#b404-import-subprocess 3 import memcache 4 import subprocess 5 6 from web3py import request, response, Session, DAL -------------------------------------------------- >> Issue: [B106:hardcoded_password_funcarg] Possible hardcoded password: 'a' Severity: Low Confidence: Medium Location: ./web3py/web3py/tests/test_session.py:13 More Info: https://bandit.readthedocs.io/en/latest/plugins/b106_hardcoded_password_funcarg.html 12 request.app_name = 'myapp' 13 session = Session(secret="a", expiration=10) 14 session.on_request() -------------------------------------------------- >> Issue: [B106:hardcoded_password_funcarg] Possible hardcoded password: 'b' Severity: Low Confidence: Medium Location: ./web3py/web3py/tests/test_session.py:24 More Info: https://bandit.readthedocs.io/en/latest/plugins/b106_hardcoded_password_funcarg.html 23 24 session = Session(secret="b", expiration=10) 25 session.on_request() -------------------------------------------------- >> Issue: [B106:hardcoded_password_funcarg] Possible hardcoded password: 'a' Severity: Low Confidence: Medium Location: ./web3py/web3py/tests/test_session.py:28 More Info: https://bandit.readthedocs.io/en/latest/plugins/b106_hardcoded_password_funcarg.html 27 28 session = Session(secret="a", expiration=10) 29 session.on_request() -------------------------------------------------- >> Issue: [B106:hardcoded_password_funcarg] Possible hardcoded password: 'a' Severity: Low Confidence: Medium Location: ./web3py/web3py/tests/test_session.py:35 More Info: https://bandit.readthedocs.io/en/latest/plugins/b106_hardcoded_password_funcarg.html 34 db = DAL('sqlite:memory') 35 session = Session(secret="a", expiration=10, storage=DBStore(db)) 36 request.cookies.clear() -------------------------------------------------- >> Issue: [B607:start_process_with_partial_path] Starting a process with a partial executable path Severity: Low Confidence: High Location: ./web3py/web3py/tests/test_session.py:59 More Info: https://bandit.readthedocs.io/en/latest/plugins/b607_start_process_with_partial_path.html 58 try: 59 memcache_process = subprocess.Popen(['memcached', '-p', '11211']) 60 time.sleep(1) -------------------------------------------------- >> Issue: [B603:subprocess_without_shell_equals_true] subprocess call - check for execution ofuntrusted input. Severity: Low Confidence: High Location: ./web3py/web3py/tests/test_session.py:59 More Info: https://bandit.readthedocs.io/en/latest/plugins/b603_subprocess_without_shell_equals_true.html 58 try: 59 memcache_process = subprocess.Popen(['memcached', '-p', '11211']) 60 time.sleep(1) -------------------------------------------------- >> Issue: [B106:hardcoded_password_funcarg] Possible hardcoded password: 'a' Severity: Low Confidence: Medium Location: ./web3py/web3py/tests/test_session.py:63 More Info: https://bandit.readthedocs.io/en/latest/plugins/b106_hardcoded_password_funcarg.html 62 conn = memcache.Client(['127.0.0.1:11211'], debug=0) 63 session = Session(secret="a", expiration=10, storage=conn) 64 request.cookies.clear() -------------------------------------------------- >> Issue: [B303:blacklist] Use of insecure MD2, MD4, MD5, or SHA1 hash function. Severity: Medium Confidence: High Location: ./web3py/web3py/utils/auth.py:211 More Info: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b303-md5 210 id = user['id'] 211 token = hashlib.sha1(user['email'].lower()).hexdigest() 212 db = self.db -------------------------------------------------- >> Issue: [B106:hardcoded_password_funcarg] Possible hardcoded password: 'gdpr-unsubscribed' Severity: Low Confidence: Medium Location: ./web3py/web3py/utils/auth.py:213 More Info: https://bandit.readthedocs.io/en/latest/plugins/b106_hardcoded_password_funcarg.html 212 db = self.db 213 db(db.auth_user.id==id).update( 214 email="%[email protected]" % token, 215 password=None, 216 first_name='anonymous', 217 last_name='anonymous', 218 sso_id=None, 219 action_token='gdpr-unsubscribed') 220 if send: -------------------------------------------------- >> Issue: [B303:blacklist] Use of insecure MD2, MD4, MD5, or SHA1 hash function. Severity: Medium Confidence: High Location: ./web3py/web3py/utils/auth.py:225 More Info: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b303-md5 224 db = self.db 225 token = hashlib.sha1(email.lower()).hexdigest() 226 email="%[email protected]" % token -------------------------------------------------- Code scanned: Total lines of code: 2701 Total lines skipped (#nosec): 0 Run metrics: Total issues (by severity): Undefined: 0.0 Low: 20.0 Medium: 4.0 High: 0.0 Total issues (by confidence): Undefined: 0.0 Low: 0.0 Medium: 13.0 High: 11.0 Files skipped (0):
best regards, stifan -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/2ea7f720-f1ec-4275-92bb-23b8ca07ab99%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

