We release patches for security vulnerabilities for the following versions:
| Version | Supported |
|---|---|
| 0.5.x | ✅ |
| < 0.5 | ❌ |
The PyCDP team takes security bugs seriously. We appreciate your efforts to responsibly disclose your findings.
To report a security vulnerability, please do not open a public GitHub issue. Instead:
-
Email: Send details to the project maintainers via GitHub by opening a private security advisory at: https://github.com/HyperionGray/python-chrome-devtools-protocol/security/advisories/new
-
Include the following information:
- Description of the vulnerability
- Steps to reproduce the issue
- Potential impact
- Suggested fix (if you have one)
- Your contact information
- Acknowledgment: We will acknowledge receipt of your vulnerability report within 48 hours
- Communication: We will keep you informed about the progress of fixing the vulnerability
- Timeline: We aim to release a fix within 30 days of receiving the report
- Credit: We will credit you for the discovery in the release notes (unless you prefer to remain anonymous)
When using PyCDP in your projects:
- Keep Updated: Always use the latest version to benefit from security patches
- Validate Input: Sanitize and validate any data sent to the Chrome DevTools Protocol
- Network Security: When connecting to Chrome instances, use secure connections where possible
- Least Privilege: Run Chrome with minimal privileges necessary
- Review Dependencies: Keep all dependencies up to date
PyCDP's I/O mode uses WebSocket connections to communicate with Chrome instances. Be aware:
- Authentication: Chrome DevTools Protocol endpoints typically don't have authentication. Ensure your Chrome instance is not exposed to untrusted networks.
- Data Exposure: CDP can execute arbitrary JavaScript and access all page data. Only connect to trusted Chrome instances.
- Network Security: Use
ws://localhostfor local development. In production, consider additional network security measures.
The Chrome DevTools Protocol allows arbitrary JavaScript execution in the browser. When using PyCDP:
- Never execute untrusted code through CDP commands
- Validate and sanitize any dynamic content before execution
- Be cautious when using CDP in multi-tenant environments
When we receive a security bug report, we will:
- Confirm the problem and determine affected versions
- Audit code to find similar problems
- Prepare fixes for all supported versions
- Release patches as soon as possible
- Credit the reporter in the release notes
If you have suggestions on how this process could be improved, please open an issue or pull request.