-1

私は Python コードのセキュリティを見直している最中です。

そのために、Bandits (Python のモジュール) や DeepCode (www.deepcode.ai) などのツールを使用しています。Bandit は、ログインとパスワードのハードコーディングにいくつかの脆弱性があることを発見しましたが、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_pa​​ssword ; https://www.preemptive.com/blog/article/1059-create-more-secure-applications-don-t-hard-code-credentials-instead-use-application-hardening/106-risk-management .

では、ハードコードされた資格情報を使用するリスクは何ですか? いくつかのサンプルを見せてもらえますか? 資格情報をハードコーディングできない場合、資格情報を保護する別の方法は何ですか?

ありがとう

4

1 に答える 1

0

考慮すべき点がいくつかあります。まず第一に、コードに平文でアクセスできるため、リポジトリを介してプロジェクトを公開することはできません。第 2 に、必ずしもパブリック リポジトリを経由せずに友人とコードを共有したい場合、友人は API キーまたはパスワードにアクセスできます。そして第 3 に、私たちが忘れがちな共通の危険は、コンピューターが破損し、その人がスクリプトやプログラムに出くわした場合、その人もアクセスできるということです。要約すると、スクリプトがインターネットから切り離されたコンピュータに残っていても脆弱性ではありません。安全であるためです。ただし、それでも悪い習慣です。一方、コードが何らかの理由で共有されると、危険になります。

Ps: 別の方法として、たとえば、すべての機密データを保存するが公には共有しない.ini ファイルを作成することもできます。

于 2019-06-19T07:56:39.877 に答える