如何在python程序输出日志中隐藏密码等敏感信息?

2024-04-19 02:33:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否有一个python模块可以用作stdout的过滤器,以防止显示密码或凭证之类的敏感信息?在

我正在寻找一个通用的解决方案,因为我没有控制权或事先知道什么是有效的打印(是用户定义的shell命令的输出)。不过,作为一种安全措施,我更愿意隐藏可能是感性的信息。在

现实生活中的示例:“set”打印环境变量,如果定义了OS_PASSWORD,那么它将清楚地公开OS_PASSWORD。如果我所描述的过滤器只是将值替换为*,那么它将使其安全使用。在

我试着在https://pypi.org上搜索,但什么也没找到。在

我们可以假设python日志记录用于输出,因为这是建议使用python记录任何内容的方法。在

澄清:我没有办法知道哪些环境变量可能需要清理,默认情况下,该工具不需要任何凭据,因此我需要一个通用的解决方案,该解决方案具有一组已知敏感的默认值。在

任何公共的CI系统都会遇到同样的问题,需要一些凭据才能正常工作。一个不错的方法是清理输出,以避免信息意外泄漏。例如,用户可以添加一个“set”,它将向日志公开这些变量中的一些。在

这不是关于恶意的usse,如果他们真的想绕过过滤系统的话,它更重要的是防止由您无法控制的代码引起的意外泄漏。在

因此,不安全代码需要访问敏感信息,而您无法阻止它显示这些信息。我要找的只是一些“白糊糊”的解决方案。。。。在


Tags: 模块方法代码用户信息过滤器定义os