4

查看 CERT 安全标准(例如:https ://www.securecoding.cert.org ),有一些特定的标准,有很好的和坏的代码的例子,对于 C、C++、Java,甚至 Perl,但不是Python。是否有任何 Python 特定的标准作为指南,最好有可用的示例?

http://www.pythonsecurity.org/似乎关注 Python 本身的安全问题,以及构建替代 Python 二进制文件来解决这些问题。一个崇高但最近不活跃的事业。我正在寻找可以指导开发人员不做什么和做什么的东西。

4

6 回答 6

7

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

在 OpenStack(非常大的基于 python 的平台)中有一个项目,叫做 Bandit。它是一个安全 lint 工具。

https://github.com/openstack/bandit

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

于 2016-03-05T17:03:58.833 回答
3

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

https://vulncat.fortify.com/en

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

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

于 2016-08-19T10:49:52.967 回答
1

我在另一个线程中发布了这个,但我们最近发布了一个名为 DevSkim 的安全 linter,用于 Visual Studio、VS Code 和 Sublime Text。它针对多种语言,专注于发现安全漏洞。

于 2017-02-15T02:55:58.467 回答
1

我建议使用带有 PEP8 代码linter的文本编辑器,或者尝试自己学习 PEP8 指南。PEP8 列出了 Python 程序员的风格建议并且相当全面,然后被采用到插件或直接进入编辑器中,以确保代码符合这些风格指南。

Python 很棒,因为有许多可用的代码 linter,推荐基于 PEP8 的适当样式。

很好的例子包括带有PyLinterFlake8的Sublime Text,或没有插件的PyCharm(两者都是免费增值,完全可以免费使用)。

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

于 2015-08-29T02:21:10.447 回答
0

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

https://wiki.sei.cmu.edu/confluence/display/seccode

一些 CERT 人员在演示文稿中表示 Python Secure Coding v1.0 正在“开发中”。

于 2020-05-25T18:06:42.920 回答
-2

您可以参考我的博文了解 Python 中的编码指南。您需要遵循 PEP8 编码指南。Autopep8 是一个自动格式化 Python 代码以符合 PEP 8 样式指南的工具。运行 autopep8:

autopep8 目标.py

于 2015-08-28T20:33:17.330 回答