介绍

本文档提供了在 互联网计算机上开发 Rust 容器和容器服务的 Web 应用程序的安全最佳实践。 这些最佳实践主要受到安全审查中发现的问题的启发。

我们希望向开发人员宣传这些最佳实践,以便在新 dApp 开发过程中尽早解决潜在问题,而不仅仅是在最后(如果有的话)进行安全审查时解决。 理想情况下,这将使安全 dApp 的开发更加高效。

一些优秀的容器最佳实践Effective Rust Canisters 和 如何审核互联网计算机容器。 相关部分链接在各个最佳实践中。

最佳实践概述

目标受众

本文档最初旨在供 DFINITY 内部使用。但是,我们现在将其发布到社区,以便每个开发人员都能受益。目标受众是为 Internet 计算机开发容器或 Web 应用程序的任何开发人员。这也是对此类代码进行审查的任何人的兴趣所在。

免责声明和限制

我们提供了一系列最佳实践,且可能会随着时间而增多。虽然我们认为这有助于提高互联网计算机上 dApp 的安全性,但我们想指出,这些列表永远不会完整,也永远不会涵盖所有潜在的安全问题。例如,总会有特定于 dApp 用例的攻击向量,一般最佳实践无法涵盖这些用例。因此,遵循最佳实践可以用作补充,但不能替代安全审查。特别是对于着重于安全的 dApp,我们建议执行安全审查/审计。此外,请注意,最佳实践目前未根据风险或优先级排序。

目前,容器最佳实践集中在 Rust。我们也将努力纳入针对 Motoko 的最佳实践。