DO NOT report security vulnerabilities through public GitHub issues.
Instead, please report them responsibly via email:
π§ Email: contact@robsdevcraft.com
Subject: [SECURITY] Brief description of vulnerability
Please include the following information:
- Description - Clear explanation of the vulnerability
- Steps to reproduce - Detailed reproduction steps
- Potential impact - What an attacker could achieve
- Affected versions - Which versions are vulnerable
- Proof of concept - Example exploit code (if safe to share)
- Suggested fix - If you have ideas for remediation
- Your contact info - For follow-up questions
- CVE request - If you want us to request a CVE ID
- Code Execution - Arbitrary code execution on client or server
- Injection Attacks - SQL injection, command injection, XSS
- Authentication Bypass - Circumventing access controls
- Data Exposure - Unauthorized access to sensitive data
- Cryptographic Weaknesses - Weak encryption or hashing
- Dependency Vulnerabilities - Known CVEs in dependencies (high/critical severity)
- API Abuse - Endpoints that allow rate limit bypass or resource exhaustion
- Supply Chain - Compromised dependencies or build pipeline
- Bugs without security impact - Non-security functional bugs
- Missing best practices - Code quality issues without exploitability
- Outdated dependencies - Low/medium severity without known exploits
- Performance issues - Unless leading to DoS
- UI/UX issues - Visual bugs or usability problems
- Documentation errors - Typos or unclear documentation
We take security seriously and aim for the following response times:
| Stage | Timeline |
|---|---|
| Initial Response | Within 48 hours |
| Vulnerability Assessment | Within 1 week |
| Fix Development | Depends on severity (see below) |
| Patch Release | After fix is ready |
| Public Disclosure | 90 days after patch (or coordinated) |
- Critical (CVSS 9.0-10.0) - Immediate priority, patch within 7 days
- High (CVSS 7.0-8.9) - High priority, patch within 14 days
- Medium (CVSS 4.0-6.9) - Normal priority, patch within 30 days
- Low (CVSS 0.1-3.9) - Low priority, patch in next release
We provide security updates for the following versions:
| Version | Supported |
|---|---|
main branch |
β Yes |
| Latest release | β Yes |
| Older releases | β No |
Recommendation: Always use the latest release for security patches.
- Private Fix - Develop patch in private fork
- Security Advisory - Create GitHub Security Advisory
- Patch Release - Release patch version (e.g., 1.2.3 β 1.2.4)
- Update CHANGELOG - Document fix (without exploit details)
- Public Disclosure - After 90 days or coordinated disclosure
- Acknowledgment - We confirm receipt within 48 hours
- Validation - We verify the vulnerability
- Coordination - We work with you on disclosure timeline
- Credit - We acknowledge your contribution (if desired)
- Patch - We release a fix
- Disclosure - We publish details after patch is available
We believe in giving credit where it's due!
Security researchers who responsibly disclose vulnerabilities will be:
- β Listed in our Security Hall of Fame
- β Credited in release notes (if desired)
- β Mentioned in CHANGELOG.md
- β Linked to your profile or website (if provided)
Anonymous reporting: If you prefer to remain anonymous, we respect that.
If you're contributing code, please follow these security practices:
- β Validate input - Never trust user input
- β Sanitize output - Prevent XSS attacks
- β Use prepared statements - Prevent SQL injection (if applicable)
- β Avoid secrets in code - Use environment variables
- β Update dependencies - Keep packages up to date
- β Review PRs carefully - Check for security implications
- β Run security tools - Use linters and vulnerability scanners
If you're using VAPR Ballistics, protect yourself:
- β Keep updated - Use the latest version
- β
Check dependencies - Run
pnpm auditregularly - β Use HTTPS - When deploying (especially for fastapi-fullstack)
- β Review configs - Don't expose sensitive settings
- β Monitor logs - Watch for suspicious activity
- β Follow deployment guides - Use recommended configurations
- Dependabot - Automated dependency updates
- npm audit / pnpm audit - Dependency vulnerability scanning
- GitHub Code Scanning - Static analysis (if enabled)
- ESLint security plugin - Code pattern detection
- Code review - All PRs reviewed before merge
- Security checklist - For high-risk changes
- Penetration testing - Periodic manual testing
- Regular audits - Run
pnpm auditbefore releases - Automated updates - Dependabot PRs for security patches
- Review updates - Manual review of all dependency changes
- Pin versions - Lock file committed to repository
- Minimize dependencies - Only essential packages
- Critical vulnerabilities - Immediate patch release
- High vulnerabilities - Within 2 weeks
- Medium/Low vulnerabilities - Next regular release
Minimal attack surface - Pure client-side application
- β No backend = no server-side vulnerabilities
- β Static hosting recommended (Vercel, Netlify, GitHub Pages)
β οΈ Use HTTPS to prevent MITM attacksβ οΈ Set proper CSP headers
More attack surface - Requires secure deployment
- β Use environment variables for secrets
- β Enable HTTPS/TLS
- β Set secure CORS policies
- β Use strong authentication (if added)
- β Rate limit API endpoints
- β Validate all inputs on backend
- β Keep Docker images updated
See deployment guides in app READMEs for details.
- β No authentication - Applications are public by design
- β No sensitive data - Ballistics calculations are not sensitive
- β Client-side only (js-client) - Minimal attack surface
β οΈ XSS potential - If user input is not properly sanitizedβ οΈ Dependency risks - Like all npm projects
These are intentional design decisions, not security issues:
- β No authentication - Calculators are meant to be public
- β No rate limiting (js-client) - No backend to rate limit
- β Public API (fastapi) - Designed for public use
For security concerns only:
π§ Email: rob@devcrafted.io
PGP Key: (Coming soon)
For non-security issues:
- π GitHub Issues
- π¬ GitHub Discussions
We follow coordinated disclosure:
- You report vulnerability privately
- We confirm and develop patch
- We release patch
- After 90 days (or sooner if agreed), we publish advisory
No legal action: We will not pursue legal action against security researchers who follow this policy and act in good faith.
Security research makes open source safer for everyone. Thank you for:
- π Finding vulnerabilities
- π¬ Reporting responsibly
- π€ Working with us on fixes
- β° Giving us time to patch before disclosure
Your efforts make VAPR Ballistics more secure!
Last updated: January 2025