隐藏敏感的ruby shell命令

问题描述 投票:0回答:1

我正在使用fastlane和sh命令解密某些凭据,但似乎ruby将输出打印在日志中。如何从日志中隐藏敏感信息?

cmd_decrypt = "openssl enc -aes-256-cbc -d -a -k \"#{ENV["MATCH_PASSWORD"]}\" -in #{enc_file} -out #{dec_file[0]}"

sh(cmd_decrypt)

输出:

[09:38:15]: --------------------------------------------------------------------
[09:38:15]: Step: openssl enc -aes-256-cbc -d -a -k "PASSWORD_SHOWN!" -in /var/folders/7g/yy/T/d20190925-1304-1qv6cj1/vault/zz-out /var/folders/7g/yy/T/d20190925-1304-1qv6cj1/vault/xx
[09:38:15]: --------------------------------------------------------------------
[09:38:15]: $ openssl enc -aes-256-cbc -d -a -k "PASSWORD_SHOWN!" -in /var/folders/7g/yy/T/d20190925-1304-1qv6cj1/vault/zz -out /var/folders/7g/yy/T/d20190925-1304-1qv6cj1/vault/xx
ruby shell fastlane
1个回答
0
投票

我认为您正在寻找filter_parameters方法:

https://rubyplus.com/articles/3091-Filtering-Sensitive-Parameters-from-Log-Files-in-Rails-5

该方法已经在您的config / initializers.rb文件中定义,您只需要添加要过滤的内容:

# Be sure to restart your server when you modify this file.

# Configure sensitive parameters which will be filtered from the log file.
Rails.application.config.filter_parameters += [:password]

编辑-我不确定这是否适用于环境变量以及控制器的参数...您可能最终不得不降低日志记录级别

https://guides.rubyonrails.org/debugging_rails_applications.html#log-levels

如果将其设置为:warn或:error,则应防止环境变量在日志中显示。

© www.soinside.com 2019 - 2024. All rights reserved.