Skip to content

Commit a84dbf3

Browse files
authored
Merge pull request #1053 from nickvidal/secure
docs: add SECURITY.md
2 parents f4a8f5b + 9da319a commit a84dbf3

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

SECURITY.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Vulnerability Disclosure and Embargo Policy
2+
3+
The ClearlyDefined project welcomes the responsible disclosure of vulnerabilities, including those discovered in:
4+
5+
- [ClearlyDefined website](https://github.com/clearlydefined/website/security/advisories/new)
6+
- [ClearlyDefined service](https://github.com/clearlydefined/service/security/advisories/new)
7+
- [ClearlyDefined crawler](https://github.com/clearlydefined/crawler/security/advisories/new)
8+
- [ClearlyDefined documentation](https://github.com/clearlydefined/clearlydefined/security/advisories/new)
9+
10+
## Initial Contact
11+
12+
All security bugs in ClearlyDefined should be reported to the security team.
13+
To do so, please reach out in the form of a
14+
[Github Security Advisory](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities).
15+
16+
You will be invited to join this private area to discuss specifics. Doing so
17+
allows us to start with a high level of confidentiality and relax it if the
18+
issue is less critical, moving to work on the fix in the open.
19+
20+
Your initial contact will be acknowledged within 48 hours, and you’ll receive
21+
a more detailed response within 96 hours indicating the next steps in handling
22+
your report.
23+
24+
After the initial reply to your report, the security team will endeavor to
25+
keep you informed of the progress being made towards a fix and full
26+
announcement. As recommended by
27+
[RFPolicy](https://dl.packetstormsecurity.net/papers/general/rfpolicy-2.0.txt),
28+
these updates will be sent at least every five working days.
29+
30+
## Disclosure Policy
31+
32+
The ClearlyDefined project has a 5 step disclosure process.
33+
34+
1. Contact is established, a private channel created, and the security report
35+
is received and is assigned a primary handler. This person will coordinate
36+
the fix and release process.
37+
2. The problem is confirmed and a list of all affected versions is determined.
38+
If an embargo is needed (see below), details of the embargo are decided.
39+
3. Code is audited to find any potential similar problems.
40+
4. Fixes are prepared for all releases which are still under maintenance. In
41+
case of embargo, these fixes are not committed to the public repository but
42+
rather held in a private fork pending the announcement.
43+
5. The changes are pushed to the public repository and new builds are deployed.
44+
45+
This process can take some time, especially when coordination is required
46+
with maintainers of other projects. Every effort will be made to handle the bug
47+
in as timely a manner as possible, however it is important that we follow the
48+
release process above to ensure that the disclosure is handled in a consistent
49+
manner.
50+
51+
## Embargoes
52+
53+
While the ClearlyDefined project aims to follow the highest standards of
54+
transparency and openness, handling some security issues may pose such an
55+
immediate threat to various stakeholders and require coordination between
56+
various actors that it cannot be made immediately public.
57+
58+
In this case, security issues will fall under an embargo.
59+
60+
An embargo can be called for in various cases:
61+
62+
- when disclosing the issue without simultaneously providing a mitigation
63+
would seriously endanger users,
64+
- when producing a fix requires coordinating between multiple actors (such as
65+
upstream or downstream/dependency projects), or simply
66+
- when proper analysis of the issue and its ramifications demands time.
67+
68+
If we determine that an issue you report requires an embargo, we will discuss
69+
this with you and try to find a reasonable expiry date (aka “embargo
70+
completion date”), as well as who should be included in the list of
71+
need-to-know people.

0 commit comments

Comments
 (0)