|
| 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