We release patches for security vulnerabilities for the following versions:
| Version | Supported |
|---|---|
| 2026.x | ✅ |
| < 2026 | ❌ |
We use Calendar Versioning (CalVer) with the format YYYY.M.D. Only the current year's releases receive security updates.
We take the security of gh0st seriously. If you believe you have found a security vulnerability, please report it to us as described below.
- Open a public GitHub issue for security vulnerabilities
- Disclose the vulnerability publicly before it has been addressed
- Email us directly at security@example.com (replace with your actual security contact)
- Provide detailed information including:
- Description of the vulnerability
- Steps to reproduce the issue
- Potential impact
- Affected versions
- Suggested fix (if any)
- Initial Response: We will acknowledge receipt of your vulnerability report within 48 hours
- Status Updates: We will keep you informed of our progress as we work on a fix
- Resolution Timeline: We aim to resolve critical vulnerabilities within 7 days
- Credit: We will credit you in the security advisory (unless you prefer to remain anonymous)
-
Use the Latest Version: Always run the most recent release to ensure you have the latest security patches
-
Validate Input URLs: Be cautious when crawling untrusted domains
# Good: Crawl known, trusted domains gh0st https://example.com # Caution: Review URLs from untrusted sources
-
Limit Crawl Scope: Use depth and domain restrictions to prevent unintended crawling
gh0st https://example.com --depth 5 --no-subdomains
-
WebDriver Security: When using WebDriver features:
- Use
--webdriver-allowed-ipsto restrict access - Don't expose WebDriver endpoints to untrusted networks
- Use
--webdriver-headlessin production environments
- Use
-
File Permissions: Ensure output files have appropriate permissions
# Set restrictive permissions on output files chmod 600 results.csv -
Container Security: When using Docker:
- Run containers with read-only root filesystem where possible
- Use resource limits to prevent resource exhaustion
- Keep Docker images updated
-
Sensitive Data: Be aware that crawled data may contain sensitive information
- Review and sanitize output before sharing
- Use encryption for stored crawl results if they contain sensitive data
-
API Keys and Credentials: Never include API keys or credentials in crawl configurations
- Use environment variables for sensitive configuration
- Don't commit configuration files with secrets to version control
-
robots.txt Compliance: Use
--respect-robotsto honor site policiesgh0st https://example.com --respect-robots
When using WebDriver mode (--webdriver), be aware that:
- A browser instance will be launched which can consume significant resources
- The WebDriver endpoint, if exposed, could be used to execute arbitrary browser actions
- Downloaded browser binaries are cached locally - ensure your system is secure
Mitigation: Use --webdriver-allowed-ips and firewall rules to restrict access.
gh0st makes HTTP/HTTPS requests to target domains:
- DNS rebinding attacks could potentially redirect requests
- SSRF (Server-Side Request Forgery) risks if crawling user-supplied URLs
Mitigation: Validate and sanitize input URLs, use network isolation in production.
The application writes output files:
- Ensure output directories have appropriate permissions
- Be cautious of path traversal when specifying output paths
- Review output files for sensitive data before sharing
Mitigation: Use absolute paths and verify permissions on output directories.
We regularly audit our dependencies for known vulnerabilities:
# Check for security advisories
cargo audit- Safe Rust: The application is written in Rust, providing memory safety guarantees
- Dependency Management: We keep dependencies updated and monitor security advisories
- Input Validation: URLs and parameters are validated before use
- Resource Limits: Configurable limits prevent resource exhaustion
- TLS/SSL: HTTPS connections use secure, up-to-date TLS implementations
For maximum security, consider running gh0st in a sandboxed environment:
# Using Docker with limited privileges
docker run --rm \
--cap-drop=ALL \
--security-opt=no-new-privileges \
--read-only \
-v $(pwd)/output:/data:rw \
gh0st https://example.com -o /data/results.csv --no-tui
# Using systemd service with restrictions
[Service]
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/lib/gh0stWhen we receive a security vulnerability report:
- We will confirm the problem and determine affected versions
- We will audit code to find similar problems
- We will prepare fixes for all supported versions
- We will release patches as quickly as possible
- We will publish a security advisory
- Confidential Fix Development: Fixes are developed privately
- Coordinated Disclosure: We coordinate with the reporter on disclosure timing
- Public Advisory: Once fixed, we publish a security advisory with:
- Description of the vulnerability
- Affected versions
- Fixed versions
- Credit to the reporter (if desired)
- Mitigation steps for users who cannot upgrade immediately
Subscribe to security updates:
- Watch the GitHub repository for release notifications
- Check the CHANGELOG for security-related updates
- Monitor GitHub Security Advisories for the project
When crawling websites, gh0st may collect personal data. Users are responsible for:
- Ensuring they have legal basis to crawl target websites
- Complying with data protection regulations (GDPR, CCPA, etc.)
- Implementing appropriate data handling and retention policies
- Obtaining necessary consents when required
We follow responsible disclosure principles and request that security researchers do the same:
- Allow reasonable time for fixes before public disclosure (typically 90 days)
- Avoid privacy violations and destruction of data
- Don't exploit vulnerabilities beyond proof-of-concept
Before deploying gh0st in production:
- Running the latest stable version
- Output files have restricted permissions
- WebDriver endpoints are properly secured
- Input URLs are validated and sanitized
- Resource limits are configured appropriately
- Network access is restricted as needed
- Logs are monitored for suspicious activity
- Security advisories are being monitored
For security issues: security@example.com (replace with your actual contact)
For general issues: Use GitHub Issues
Last updated: 2026-02-19