Skip to content

Add a .well-known/security.txt that links to https://www.rust-lang.org/policies/security #2009

@carols10cents

Description

@carols10cents

Summary

Add a plain text file accessible at https://www.rust-lang.org/.well-known/security.txt that contains this text:

Contact: https://www.rust-lang.org/policies/security
Expires: 2025-05-15T00:00:00.000Z

Motivation

RFC 9116 proposes a machine-readable standard for websites to convey their security information. As a security-conscious project, we should participate. https://securitytxt.org/ contains more info on this idea.

Because our security information is already on https://www.rust-lang.org/policies/security, rather than duplicating that information, the spec of the security.txt file allows us to put a URL as the contact and direct people there.

Setting an "expires" date that is not "forever" is recommended to encourage periodic review; I chose Rust's birthday in about a year as the expiration date but that was rather arbitrary and I'm open to alternatives.

Drawbacks

  • Periodic review and date updating will be needed.
  • This may increase the automated reports the security team gets.

Rationale and alternatives

  • We could serve this file from /security.txt as well as .well-known/security.txt.
  • Someone with access to the PGP key could sign it.

Maintenance

The maintenance of this will likely be:

  • Notice that the expiration date in the file is in the past
  • Verify that https://www.rust-lang.org/policies/security is still the canonical resource for security information
  • Send a PR updating the expiration date to be in the future

and would be a great task for a new contributor.

If we decide to sign it with the PGP key, someone with access to the key will need to re-sign it at whatever cadence we choose. This could also be a good low-stakes test that people who are supposed to have access to the key still have that access.

Ultimately, this will be the responsibility of the @rust-lang/security team, so they should approve this idea. I'm happy to send in an initial PR with whatever content they would like.

Unresolved Questions

Should any of the other optional fields be filled in? See https://securitytxt.org/ for a handy generator.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions