Hi devs,
I’d like to revive this proposal: we all agreed back in 2022 but never did it, and https://www.xwiki.org/.well-known/security.txt still returns a 404. I asked Claude Code to check the current state and what a good file would look like. Here’s the result.
It’s become fairly common since then. Claude Code checked 49 well-known open source projects today: 27 publish one, e.g. Apache, Jenkins, Spring, Eclipse, Keycloak, Kubernetes, Mozilla, Debian, Django, Node.js, Rust, curl, OpenSSL, WordPress, Joomla, TYPO3, GitLab, MediaWiki, BookStack and OpenProject (https://www.openproject.org/.well-known/security.txt). Python, Go, PostgreSQL, Nextcloud, Grafana, Mastodon and DokuWiki don’t. GitHub, Atlassian and Red Hat have one too. About a third of them are signed.
One lesson from the survey: Matrix’s and Element’s files have expired (2024 and 2025), and a few have no Expires at all, which the RFC requires. So the yearly renewal is the part to not forget.
Proposed content
Contact: mailto:security@xwiki.org
Policy: https://dev.xwiki.org/xwiki/bin/view/Community/SecurityPolicy/
Canonical: https://www.xwiki.org/.well-known/security.txt
Preferred-Languages: en
Expires: <less than 1 year ahead>
If we enable GitHub private vulnerability reporting (see the GHSA brainstorming), we’d add a second Contact: with the “Report a vulnerability” URL.
Signing and encryption key
- Signing the file (OpenPGP cleartext signature) is recommended by the RFC, not required. Claude Code proposes to use the key we already use for the Debian repository, which the committers hold:
XWiki Dev Team <committers@xwiki.org>, fingerprint E5A2 98A7 AF53 948C C6CF D633 F716 794B 93CC 9C13 (also published on keys.openpgp.org). The file must be re-signed each time Expires is bumped, which any committer can do.
Encryption: is a different field: it names the key reporters encrypt their report to. Claude Code proposes to leave it out: the Debian key is for committers@, not security@, and encrypted mail to a mailing list only works if every member shares the private key. GitHub private reporting gives a confidential channel anyway.
Keeping it valid
As suggested in the first post, we’d add a step to the xwiki.org upgrade plan to bump Expires and re-sign the file.
Questions
- OK to add the file with the content above?
- OK to sign it with the Debian repository key?
WDYT?
Thanks