закодированный пароль / учетные данные - PullRequest
0 голосов
/ 19 июня 2019

Я занимаюсь проверкой безопасности кода Python.

Для этого я использую такие инструменты, как Bandits (модуль для Python) и DeepCode (www.deepcode.ai).Бандит обнаружил, что существуют некоторые уязвимости в жестком кодировании логина и пароля, тогда как с DeepCode не было обнаружено никаких уязвимостей.вот код, о котором идет речь:

# Guest only login
# Used for Login as Guest button and login the current session as GUEST
APP_GUEST_USERNAME = "ppams.asguest"
APP_GUEST_PASSWORD = "ppams123456"

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '10-6d$q$&xxc9heb(hjeda$w%7pxC#+hhx%b0xl&_q(p8(u#uu'

Я нашел статьи, в которых учетные данные не должны быть жестко закодированы.Вот несколько статей: https://qxf2.com/blog/dont-hardcode-usernames-and-passwords-in-your-test-scripts/;https://www.owasp.org/index.php/Use_of_hard-coded_password;https://www.preemptive.com/blog/article/1059-create-more-secure-applications-don-t-hard-code-credentials-instead-use-application-hardening/106-risk-management.

Итак, каков риск использования жестко закодированных учетных данных?Можете ли вы показать мне несколько образцов?Какой альтернативный способ защиты учетных данных, если учетные данные не могут быть жестко закодированы?

Спасибо

1 Ответ

0 голосов
/ 19 июня 2019

Есть несколько вещей, которые необходимо учитывать, во-первых, вы не сможете сделать свой проект общедоступным через репозиторий, потому что ваши коды будут доступны в открытом виде.Во-вторых, если вы хотите поделиться своим кодом с друзьями, не обязательно проходя через общедоступный репозиторий, они получат доступ к вашим ключам API или паролям.И в-третьих, общая опасность, о которой мы обычно забываем, заключается в том, что, если ваш компьютер будет поврежден, и человек столкнется с вашим сценарием / программой, они также получат доступ.Подводя итог, можно сказать, что не является уязвимостью, если ваш скрипт остается на компьютере, отключенном от Интернета, потому что он безопасен, но все же это плохая практика.С другой стороны, если ваш код передается по какой-либо причине, он становится опасным.

Ps: альтернативой является создание файла .ini, например, где вы будете хранить все свои конфиденциальные данные, но не будетеподелиться публично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...