#安全 #txt #contact #安全策略 #solana #到期 #加密

tulip-solana-security-txt

solana-security-txt 的分支

1 个不稳定版本

0.1.0 2022年3月27日

#8 in #到期

MIT/Apache

13KB
205

从上游分支,如果您有兴趣使用它,请使用 上游版本


lib.rs:

security.txt

此库定义了一个宏,旨在为希望联系 Solana 智能合约作者的网络安全研究人员提供易于解析的信息。它受到了 https://securitytxt.org/ 的启发。

示例

security_txt! {
    name: "Example",
    project_url: "http://example.com",
    source_code: "https://github.com/example/example",
    expiry: "2042-01-01",
    preferred_languages: "en,de",
    contacts: "email:[email protected],discord:example#1234",
    encryption: "
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: Alice's OpenPGP certificate
Comment: https://www.ietf.org/id/draft-bre-openpgp-samples-01.html

mDMEXEcE6RYJKwYBBAHaRw8BAQdArjWwk3FAqyiFbFBKT4TzXcVBqPTB3gmzlC/U
b7O1u120JkFsaWNlIExvdmVsYWNlIDxhbGljZUBvcGVucGdwLmV4YW1wbGU+iJAE
ExYIADgCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQTrhbtfozp14V6UTmPy
MVUMT0fjjgUCXaWfOgAKCRDyMVUMT0fjjukrAPoDnHBSogOmsHOsd9qGsiZpgRnO
dypvbm+QtXZqth9rvwD9HcDC0tC+PHAsO7OTh1S1TC9RiJsvawAfCPaQZoed8gK4
OARcRwTpEgorBgEEAZdVAQUBAQdAQv8GIa2rSTzgqbXCpDDYMiKRVitCsy203x3s
E9+eviIDAQgHiHgEGBYIACAWIQTrhbtfozp14V6UTmPyMVUMT0fjjgUCXEcE6QIb
DAAKCRDyMVUMT0fjjlnQAQDFHUs6TIcxrNTtEZFjUFm1M0PJ1Dng/cDW4xN80fsn
0QEA22Kr7VkCjeAEC08VSTeV+QFsmz55/lntWkwYWhmvOgE=
=iIGO
-----END PGP PUBLIC KEY BLOCK-----
",
    acknowledgements: "
The following hackers could've stolen all our money but didn't:
- Neodyme
",
    policy: "https://github.com/solana-labs/solana/blob/master/SECURITY.md"
}

格式

所有值都需要是可能不包含空字节的字符串字面量。如果二进制文件中包含 security.txt 分隔符(如 =======BEGIN SECURITY.TXT V1=======\0=======END SECURITY.TXT V1=======\0),则天真解析器可能会失败。

以下字段受支持,其中一些是 security.txt 被认为是有效所需。

  • name(必需):项目的名称。
  • project_url(必需):项目主页/应用程序的 URL。
  • source_code(可选):项目源代码的 URL。
  • expiry(可选):security.txt 将过期的日期。格式为 YYYY-MM-DD。
  • preferred_languages(必需):首选语言的逗号分隔列表。
  • contacts (必填): 以逗号分隔的联系人信息列表,格式为 <contact type>:<contact information>。可能的联系人类型包括 emaildiscordtelegramtwitterlinkother
  • encryption (可选): PGP 公钥块(或类似)或其链接
  • acknowledgements (可选): 链接或 Markdown 文档,包含对过去发现项目漏洞的安全研究人员的致谢。
  • policy (必填): 链接或 Markdown 文档,描述项目的安全策略。这应说明您的项目提供哪些赏金以及提供赏金的条件。

工作原理

宏将一个 &str 插入到生成的 ELF 文件的 .security.txt 部分。由于 Rust 字符串的工作方式,这是一个指向实际字符串的指针和长度的元组。

宏构建的字符串以起始标记 =======BEGIN SECURITY.TXT V1=======\0 开头,以结束标记 =======END SECURITY.TXT V1=======\0 结尾。中间是一系列以空字节分隔的字符串,每两个字符串形成一个键值对。

依赖关系

~0.6–1.2MB
~24K SLoC