代码之家  ›  专栏  ›  技术社区  ›  sorin

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

  •  1
  • sorin  · 技术社区  · 7 年前

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

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

    现实生活中的例子:“set”打印环境变量,并清楚地显示 OS_PASSWORD 如果定义了。如果我所描述的过滤器只是用 * 它会使它安全使用。

    我试图寻找 https://pypi.org 但我什么也没找到。

    我们可以假设python日志记录用于输出,因为这是在python中记录任何内容的推荐方式。

    澄清:我无法知道哪些环境变量可能需要清理,默认情况下,该工具不需要任何凭据,因此我需要一个通用解决方案,其默认设置为已知敏感。

    任何一个公共的ci系统都面临着同样的问题,它需要一些凭证才能正常工作。一个体面的方法是对输出进行清理,以避免信息意外泄漏。例如,用户可以添加一个“set”,将其中一些变量公开到日志中。

    这与恶意usse无关,后者可能很容易找到绕过过滤系统的方法(如果它们真的想这样做的话),更重要的是防止由于无法控制的代码导致的意外泄漏。

    因此,不安全的代码需要访问敏感信息,而不能阻止它显示敏感信息。我只想找一些“白浆糊”的解决方案…

    1 回复  |  直到 7 年前
        1
  •  1
  •   Paletech35    7 年前

    尝试使用sha-256算法对其进行哈希运算