Skip to content

Commit a49027a

Browse files
committed
docs: add comprehensive security policy and reporting guidelines
1 parent 409c393 commit a49027a

File tree

1 file changed

+161
-0
lines changed

1 file changed

+161
-0
lines changed

SECURITY.md

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
# Security Policy
2+
3+
> This policy applies to all public projects under the **robotcodedev/robotcode** repository, including the Python packages on PyPI, the VS Code extension, and the JetBrains plugin.
4+
5+
## Reporting a Vulnerability
6+
7+
**Please do not open public issues for security problems.**
8+
9+
### Preferred Reporting Methods
10+
11+
**Primary:** Use GitHub's **Private Vulnerability Reporting** on this repository:
12+
* Go to the repository's **Security** tab → **Report a vulnerability**
13+
* Creates a private, secure thread with the maintainers
14+
* Automatically tracks communication and resolution
15+
16+
**Alternative:** Email [[email protected]](mailto:[email protected])
17+
* This address is actively monitored by the maintainer team
18+
* PGP encryption available upon request (key ID: `99B8D6B0`)
19+
* If this address is unavailable, contact the maintainer via the email listed in the latest release notes
20+
21+
### Required Information
22+
23+
When reporting, please include:
24+
25+
* **Component**: Affected component (Language Server, Debug Adapter, CLI, VS Code extension, JetBrains plugin, specific PyPI package and version)
26+
* **Description**: Clear description of the vulnerability and attack vector
27+
* **Impact**: Potential impact and your severity assessment (CVSS score welcome)
28+
* **Reproduction**: Steps to reproduce, proof of concept, or minimal repro project
29+
* **Environment**: OS, Python/Robot Framework versions, editor/IDE version
30+
* **Mitigations**: Any known workarounds or temporary fixes
31+
32+
We also accept **supply-chain reports** (malicious dependencies, typosquats, unsafe defaults) affecting RobotCode.
33+
34+
## Our Response Commitments
35+
36+
### Standard Timeline
37+
* **Triage acknowledgement:** within **3 business days**
38+
* **Initial assessment:** within **7 days** we'll confirm scope, assign severity (CVSS score), and provide timeline for resolution
39+
* **Regular updates:** every **14 days** on progress for confirmed vulnerabilities
40+
* **Fix target:** within **90 days** for high/critical issues, next regular release for medium/low severity issues
41+
42+
### Critical Vulnerability Fast-Track
43+
For **critical vulnerabilities** (CVSS 9.0+, active exploitation, or RCE):
44+
* **Acknowledgement:** within **24 hours**
45+
* **Assessment:** within **48 hours**
46+
* **Emergency release:** within **14 days** when feasible
47+
48+
### Coordinated Disclosure
49+
* **Standard disclosure timeline:** 90 days after fix release, or by mutual agreement
50+
* We'll coordinate with you on public disclosure timing
51+
* Please **do not disclose** details publicly until we publish an advisory/release with a fix
52+
* We may request extended timeline for complex fixes requiring upstream coordination
53+
54+
## Severity Classification
55+
56+
We use **CVSS v4.0** (v3.1 also accepted) with the following guidelines:
57+
58+
| Severity | CVSS Score | Examples |
59+
|----------|------------|----------|
60+
| **Critical** | 9.0-10.0 | Remote Code Execution, Privilege Escalation without user interaction |
61+
| **High** | 7.0-8.9 | RCE requiring user interaction, Authentication bypass, Sensitive data exposure |
62+
| **Medium** | 4.0-6.9 | Local privilege escalation, Limited information disclosure, DoS |
63+
| **Low** | 0.1-3.9 | Minor information leakage, UI spoofing |
64+
65+
## Scope
66+
67+
### In Scope ✅
68+
* RobotCode Python packages and modules (language server, debug adapter, CLI)
69+
* RobotCode VS Code extension
70+
* RobotCode JetBrains plugin
71+
* Documentation site content that could cause vulnerabilities in above components
72+
* Supply chain issues (malicious dependencies, typosquatting)
73+
* Configuration defaults that create security risks
74+
75+
### Out of Scope ❌
76+
* **Robot Framework** core and standard libraries (report to Robot Framework project)
77+
* Third-party dependencies unless there's a vulnerable usage pattern within RobotCode
78+
* Issues requiring unrealistic attack scenarios (e.g., running arbitrary untrusted Robot tests in production without sandboxing)
79+
* Social engineering attacks against project maintainers
80+
* Physical access scenarios
81+
82+
## Supported Versions
83+
84+
**RobotCode Versions:**
85+
* **Latest stable release** of all RobotCode packages/extensions receives full security support
86+
* **Previous major version** may receive critical security backports at maintainer discretion
87+
* **Older versions** are out of security support
88+
89+
**Dependencies & Requirements:**
90+
* **Minimum requirements**: Python 3.10+ and Robot Framework 5.0+
91+
* **Dependency security**: Python and Robot Framework have their own security policies and support lifecycles
92+
* **Out of scope**: Security issues in Python/Robot Framework should be reported to their respective projects
93+
* **Compatibility**: We may drop support for end-of-life Python/Robot Framework versions without prior notice
94+
95+
Current releases: [GitHub Releases](https://github.com/robotcodedev/robotcode/releases)
96+
97+
## CVE Assignment & Advisories
98+
99+
* We assess severity using **CVSS v4.0** (Base score + Threat/Environmental when applicable)
100+
* **CVEs** will be requested for vulnerabilities with CVSS ≥ 7.0 or significant user impact
101+
* **GitHub Security Advisories** will be published describing impact, affected versions, and remediation
102+
* All advisories include the **CVSS vector** and detailed mitigation steps
103+
104+
## Recognition & Responsible Disclosure
105+
106+
### Credit Policy
107+
Unless you request otherwise, we will:
108+
* Credit reporters by name or handle in security advisories
109+
* Mention contributors in release notes
110+
111+
### Responsible Disclosure Incentives
112+
While we don't offer monetary rewards, we provide:
113+
* Public recognition and attribution
114+
* Direct communication channel with maintainers for future research
115+
* Conference speaking opportunity referrals when appropriate
116+
117+
## Safe Research Guidelines
118+
119+
**Encouraged:**
120+
* Testing in isolated environments
121+
* Responsible proof-of-concept development
122+
* Coordinating with our team before public research
123+
124+
**Prohibited:**
125+
* Data destruction, exfiltration, or privacy violations
126+
* Testing against production systems of other users
127+
* Spam, DoS, or aggressive automated scanning
128+
* Social engineering attempts against maintainers or users
129+
130+
## Security Hardening for Users
131+
132+
### Development Environment
133+
* **Workspace Trust**: Only open trusted workspaces; Language Server features can execute project code
134+
* **Virtual Environments**: Use isolated Python environments for Robot Framework projects
135+
* **Dependency Management**: Pin dependency versions and regularly audit for known vulnerabilities
136+
137+
### Production Use
138+
* **Code Review**: Treat Robot Framework test suites as code - review before execution
139+
* **Sandboxing**: Run untrusted tests in containerized or sandboxed environments
140+
* **Access Control**: Limit file system access for automated test execution
141+
142+
### Updates
143+
* Keep Python, Robot Framework, and RobotCode extensions up to date
144+
* Subscribe to GitHub security advisories for notifications
145+
* Monitor release notes for security-related changes
146+
147+
## Legal
148+
149+
This security policy is subject to change. Current version available at: [https://github.com/robotcodedev/robotcode/security/policy](https://github.com/robotcodedev/robotcode/security/policy)
150+
151+
By participating in our security research program, you agree to:
152+
* Follow responsible disclosure practices
153+
* Comply with applicable laws and regulations
154+
* Respect user privacy and data protection requirements
155+
156+
---
157+
158+
**Thank you for helping keep RobotCode and its users secure!**
159+
160+
*Last updated: 2025-08-20*
161+
*Version: 1.0*

0 commit comments

Comments
 (0)