Skip to content

Commit 1aab8b2

Browse files
committed
[meta] update security policy; add IRP
1 parent 977563e commit 1aab8b2

File tree

2 files changed

+126
-8
lines changed

2 files changed

+126
-8
lines changed

.github/INCIDENT_RESPONSE_PLAN.md

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# Incident Response Process for **nvm**
2+
3+
## Reporting a Vulnerability
4+
5+
We take the security of **nvm** very seriously. If you believe you’ve found a security vulnerability, please inform us responsibly through coordinated disclosure.
6+
7+
### How to Report
8+
9+
> **Do not** report security vulnerabilities through public GitHub issues, discussions, or social media.
10+
11+
Instead, please use one of these secure channels:
12+
13+
1. **GitHub Security Advisories**
14+
Use the **Report a vulnerability** button in the Security tab of the [nvm-sh/nvm repository](https://github.com/nvm-sh/nvm).
15+
16+
2. **Email**
17+
Follow the posted [Security Policy](https://github.com/nvm-sh/nvm/security/policy).
18+
19+
### What to Include
20+
21+
**Required Information:**
22+
- Brief description of the vulnerability type
23+
- Affected version(s) and components
24+
- Steps to reproduce the issue
25+
- Impact assessment (what an attacker could achieve)
26+
27+
**Helpful Additional Details:**
28+
- Full paths of affected scripts or files
29+
- Specific commit or branch where the issue exists
30+
- Required configuration to reproduce
31+
- Proof-of-concept code (if available)
32+
- Suggested mitigation or fix
33+
34+
## Our Response Process
35+
36+
**Timeline Commitments:**
37+
- **Initial acknowledgment**: Within 24 hours
38+
- **Detailed response**: Within 3 business days
39+
- **Status updates**: Every 7 days until resolved
40+
- **Resolution target**: 90 days for most issues
41+
42+
**What We’ll Do:**
43+
1. Acknowledge your report and assign a tracking ID
44+
2. Assess the vulnerability and determine severity
45+
3. Develop and test a fix
46+
4. Coordinate disclosure timeline with you
47+
5. Release a security update and publish an advisory and CVE
48+
6. Credit you in our security advisory (if desired)
49+
50+
## Disclosure Policy
51+
52+
- **Coordinated disclosure**: We’ll work with you on timing
53+
- **Typical timeline**: 90 days from report to public disclosure
54+
- **Early disclosure**: If actively exploited
55+
- **Delayed disclosure**: For complex issues
56+
57+
## Scope
58+
59+
**In Scope:**
60+
- **nvm** project (all supported versions)
61+
- Installation and update scripts (`install.sh`, `nvm.sh`)
62+
- Official documentation and CI/CD integrations
63+
- Dependencies with direct security implications
64+
65+
**Out of Scope:**
66+
- Third-party forks or mirrors
67+
- Platform-specific installs outside core scripts
68+
- Social engineering or physical attacks
69+
- Theoretical vulnerabilities without practical exploitation
70+
71+
## Security Measures
72+
73+
**Our Commitments:**
74+
- Regular vulnerability scanning via GitHub Actions
75+
- Automated security checks in CI/CD pipelines
76+
- Secure scripting practices and mandatory code review
77+
- Prompt patch releases for critical issues
78+
79+
**User Responsibilities:**
80+
- Keep **nvm** updated
81+
- Verify script downloads via PGP signatures
82+
- Follow secure configuration guidelines for shell environments
83+
84+
## Legal Safe Harbor
85+
86+
**We will NOT:**
87+
- Initiate legal action
88+
- Contact law enforcement
89+
- Suspend or terminate your access
90+
91+
**You must:**
92+
- Only test against your own installations
93+
- Not access, modify, or delete user data
94+
- Not degrade service availability
95+
- Not publicly disclose before coordinated disclosure
96+
- Act in good faith
97+
98+
## Recognition
99+
100+
- **Advisory Credits**: Credit in GitHub Security Advisories (unless anonymous)
101+
102+
## Security Updates
103+
104+
**Stay Informed:**
105+
- Subscribe to GitHub releases for **nvm**
106+
- Enable GitHub Security Advisory notifications
107+
108+
**Update Process:**
109+
- Patch releases (e.g., v0.40.3 → v0.40.4)
110+
- Out-of-band releases for critical issues
111+
- Advisories via GitHub Security Advisories
112+
113+
## Contact Information
114+
115+
- **Security reports**: Security tab of [nvm-sh/nvm](https://github.com/nvm-sh/nvm/security)
116+
- **General inquiries**: GitHub Discussions or Issues
117+

.github/SECURITY.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Security
22

3-
Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report.
3+
Please file a private vulnerability report via GitHub, email [@ljharb](https://github.com/ljharb), or see https://tidelift.com/security if you have a potential security vulnerability to report.
44

55
## OpenSSF CII Best Practices
66

@@ -12,16 +12,17 @@ There are three “tiers”: passing, silver, and gold.
1212
We meet 100% of the “passing” criteria.
1313

1414
### Silver
15-
We meet 95% of the “silver” criteria. The gaps are as follows:
16-
- we do not have a DCO or a CLA process for contributions.
17-
- because we only have one maintainer, the project has no way to continue if that maintainer stops being active.
18-
- we do not currently document “what the user can and cannot expect in terms of security” for our project. This is planned to be completed in 2023.
15+
We meet 100% of the “silver” criteria.
1916

2017
### Gold
21-
We meet 65% of the “gold” criteria. The gaps are as follows:
22-
- we do not yet have the “silver” badge; see all the gaps above.
18+
We meet 78% of the “gold” criteria. The gaps are as follows:
19+
- because we only have one maintainer, the project has no way to continue if that maintainer stops being active.
2320
- We do not include a copyright or license statement in each source file. Efforts are underway to change this archaic practice into a suggestion instead of a hard requirement.
2421

2522
## Threat Model
2623

27-
See [THREAT_MODEL.md](./THREAT_MODEL.md).
24+
See [THREAT_MODEL.md](.github/THREAT_MODEL.md).
25+
26+
## Incident Response Plan
27+
28+
Please see our [Incident Response Plan](.github/INCIDENT_RESPONSE_PLAN.md).

0 commit comments

Comments
 (0)