Skip to content

Adds SECURITY.md to outline our security policies #2086

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

SaptakS
Copy link
Contributor

@SaptakS SaptakS commented May 30, 2025

As discussed in our last meeting, along with a .well-known/security.txt, it's nice to have a SECURITY.md to be shown as our security policy in the GitHub Security tab.

This PR adds the policies for reporting a bug and disclosing.

from a member of the website working group within 3 working days. After that,
the website working group will begin their analysis. Depending on the action
to be taken, you may receive followup emails. It can take several weeks before
the website working group comes to a conclusion and resolve the issue.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have mostly just copied from Django's security policy. We might want to update.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd remove or extend the 3 working days timeline, we don't need to set a timeline on ourselves like for the framework.

- Confirm the problem.
- Audit code to find any potential similar problems.
- Apply the relevant patches to the codebase.
- Deploy the fixed codebase.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we know how we want to disclose a security issue, since for the website, we don't really need to make releases and ask users to update. Maybe this section should be titled differently. Thoughts?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My first thought would be, do we even need a disclosure policy at all?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I doubt we'd need to disclose anything unless user data is compromised.

to follow few guidelines that helps us in analysis and resolving the issue quicker.

- Include a runnable proof of concept to reproduce the issue
- User input must be sanitized
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there other website specific guidelines we want to add?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does "User input must be sanitized" means in this context?
I'm not sure what it means, so it could also be confusing for a reporter.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 - User input must be sanitized is unclear to me too.

Copy link
Member

@adamzap adamzap left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good so far! I left a few comments with grammatical corrections.

## Reporting a Bug

The Django website working group is committed to responsible reporting and
disclosure of security-related issue in our website. We appreciate your efforts
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"issue in" => "issues on"

from a member of the website working group within 3 working days. After that,
the website working group will begin their analysis. Depending on the action
to be taken, you may receive followup emails. It can take several weeks before
the website working group comes to a conclusion and resolve the issue.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"resolve" => "resolves"

## Reporting Guidelines

While reporting a security issue related to the Django website, we encourage
to follow few guidelines that helps us in analysis and resolving the issue quicker.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"we encourage to follow few guidelines that helps us" => "we encourage you to follow a few guidelines that help us"

- Confirm the problem.
- Audit code to find any potential similar problems.
- Apply the relevant patches to the codebase.
- Deploy the fixed codebase.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I doubt we'd need to disclose anything unless user data is compromised.

Copy link
Member

@Stormheg Stormheg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for starting this @SaptakS


Here are some additional thoughts on content - feel free to incorporate in your own words as this is LLM generated.

- a description of the vulnerability
- steps to reproduce the issue
- any relevant supporting material (e.g., proof-of-concept, screenshots, affected URLs)
- do not publicly disclose the vulnerability until we have confirmed and addressed it
- do not exploit the vulnerability beyond what is necessary to demonstrate it, especially if it permits you access to sensitive or personal data. Respect the privacy of others.

## rewards

We do not offer monetary rewards or bug bounties for vulnerability reports. Please do not request payment for reporting a vulnerability.

## report quality

We welcome well-researched and clearly explained reports.  
Automated or low-effort submissions that do not demonstrate a clear security impact are not appreciated and may be discarded after review.  
We will always send an acknowledgment of receipt, but reports that lack sufficient detail may not be investigated further.

@@ -0,0 +1,46 @@
# Security Policies and Procedures

This document outlines security procedures and general policies for the Django website (`djangoproject.com`). This is separate from [Django's security policies](https://docs.djangoproject.com/en/dev/internals/security/).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we mention this also covers docs.djangoproject.com since this is the same application?

and responsible disclosure.

Report security bugs and issue by sending an email to website-wg@djangoproject.com.
For encryption, use: https://keys.openpgp.org/vks/v1/by-fingerprint/AF3516D27D0621171E0CCE25FCB84B8D1D17F80B
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SaptakS this does not look correct to me. This key is for security@djangoproject.com. Our working group does not posses the private key so we would be unable to decrypt messages that were encrypted with this key.

Perhaps GitHub's 'report a vulnerability' feature could be recommended instead as a secure alternative? https://github.com/django/djangoproject.com/security/advisories/new

to follow few guidelines that helps us in analysis and resolving the issue quicker.

- Include a runnable proof of concept to reproduce the issue
- User input must be sanitized
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 - User input must be sanitized is unclear to me too.

Comment on lines +45 to +46
If you have suggestions on how this process could be improved please submit a
pull request.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we make this a direct link to the 'edit file' feature in GitHub? Make it as easy as possible to suggest improvements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants