Python的安全编码准则 查看Cert安全标准(示例:),有特定的标准,有很多好的代码,比如C、C++、java、甚至Perl,而不是Python。是否有任何特定于Python的标准指南,最好有可用的示例

Python的安全编码准则 查看Cert安全标准(示例:),有特定的标准,有很多好的代码,比如C、C++、java、甚至Perl,而不是Python。是否有任何特定于Python的标准指南,最好有可用的示例,python,security,secure-coding,Python,Security,Secure Coding,看起来,Python本身的安全问题以及构建替代Python二进制文件来解决这些问题都是关注的焦点。一项崇高的事业,但最近并不活跃。我正在寻找一些东西来指导开发人员不要做什么和应该做什么。您可以参考我的python编码指南。您需要遵循PEP8编码准则。Autopep8是一个自动格式化Python代码以符合PEP8样式指南的工具。要运行Autoep8,请执行以下操作: autopep8 TARGET.py我建议使用带有代码linter的文本编辑器,或者尝试学习PEP8指南本身。PEP8列出了Pyth

看起来,Python本身的安全问题以及构建替代Python二进制文件来解决这些问题都是关注的焦点。一项崇高的事业,但最近并不活跃。我正在寻找一些东西来指导开发人员不要做什么和应该做什么。

您可以参考我的python编码指南。您需要遵循PEP8编码准则。Autopep8是一个自动格式化Python代码以符合PEP8样式指南的工具。要运行Autoep8,请执行以下操作:


autopep8 TARGET.py

我建议使用带有代码linter的文本编辑器,或者尝试学习PEP8指南本身。PEP8列出了Python程序员的风格建议,非常全面,然后被引入插件或直接引入编辑器,以确保代码符合这些风格指南

Python非常棒,因为有许多可用的代码过滤器,它们推荐基于PEP8的适当样式

很好的例子包括有或没有插件(都是免费的,完全免费使用)


如果你想拥有一些“创造性的自由”,我个人会推荐Flake 8或PyCharm而不是PyLinter,因为PyLinter非常严格。

鉴于很多人都在推荐格式化指南(PEP8),我有一个实际上是为了安全

OpenStack(非常大的基于python的平台)中有一个名为Bandit的项目。这是一个安全的线头工具


您可以针对自己的代码运行此工具,或者如果您希望了解安全python编码的内部内容,请查看示例目录。

查看安全编码标准的一个地方是

这里列出了影响安全性的编码错误。它包含许多语言,Python就是其中之一


我还一直在寻找一个学术/免费的Python安全编码标准。我还没有找到一个好的。我认为SEI CERT应该加快步伐,制定这样一个标准。根据他们最新的关于安全编码的网络研讨会,他们正在考虑这种可能性。

,但我们最近发布了一个名为DevSkim的Visual Studio、VS Code和Sublime Text安全linter。它以多种语言为目标,专注于发现安全漏洞。

CERT正在开发一种Python安全编码标准,但多年来他们的努力似乎没有取得任何成果


一些CERT人员在演示文稿中表示Python安全编码v1.0正在“开发中”

我认为pep8正是您所需要的:p(尽管它的指导原则通常不一定是特定于安全的)有一个关于安全编码实践的良好的通用指南;不过,我不能推荐任何特定于python的指南。大多数perl项目可能也适用于python(没有格式字符串的用户输入???)pep8非常适合识别样式问题,但我正在寻找影响应用程序安全性的问题。例如,在将输入传递到eval或SQL语句之前未能清除输入。(跨站点脚本、SQL注入等)@rtphokie由于我也遇到过类似的问题,您有什么解决方案吗?没有什么明确的,没有。PEP8只是一个代码风格的指南。它不是安全编码实践的标准。真正需要的是中的Python条目,但OP已经提到了这一点。对于后代,到现在为止,该工具不再维护。