The BetaVersion team takes security seriously. We appreciate your efforts to responsibly disclose your findings and will make every effort to acknowledge your contributions.
Please do not report security vulnerabilities through public GitHub issues.
Instead, please report security vulnerabilities via:
- Email: Send details to security@betaversion.io
- GitHub Security Advisory: Use the GitHub Security Advisory feature
Please include the following information in your report:
- Description: A clear description of the vulnerability
- Type: The type of vulnerability (e.g., XSS, SQL Injection, Authentication bypass)
- Location: File path, line numbers, or affected endpoints
- Impact: Potential impact and severity of the vulnerability
- Steps to Reproduce: Detailed steps to reproduce the issue
- Proof of Concept: If possible, include a PoC or example exploit code
- Suggested Fix: If you have suggestions for fixing the vulnerability
- Your Contact Information: So we can follow up with you
Subject: [SECURITY] SQL Injection in User Profile
Description:
SQL injection vulnerability found in the user profile update endpoint.
Type: SQL Injection
Location:
- File: lib/features/profile/data/profile_repository.dart
- Line: 145
Impact:
An attacker could potentially access, modify, or delete database records.
Steps to Reproduce:
1. Navigate to profile edit page
2. Enter the following in the "bio" field: ' OR 1=1 --
3. Save the profile
4. Observe database query execution
Proof of Concept:
[Include sanitized PoC code or screenshots]
Suggested Fix:
Use parameterized queries or ORM methods to prevent SQL injection.
- Initial Response: Within 48 hours of receiving your report
- Status Update: We will provide status updates every 7 days
- Resolution Timeline: We aim to resolve critical vulnerabilities within 30 days
- Public Disclosure: We will coordinate disclosure timing with you
We currently support the following versions with security updates:
| Version | Supported |
|---|---|
| 1.x.x | ✅ |
| < 1.0 | ❌ |
- Keep the App Updated: Always use the latest version
- Use Strong Passwords: Create strong, unique passwords
- Enable Security Features: Use biometric authentication if available
- Report Suspicious Activity: Report any unusual behavior immediately
- Be Cautious with Permissions: Only grant necessary permissions
-
Secure Coding Practices:
- Never hardcode sensitive information (API keys, passwords)
- Use environment variables for configuration
- Validate and sanitize all user inputs
- Implement proper authentication and authorization
- Use HTTPS for all network communications
-
Data Protection:
- Encrypt sensitive data at rest and in transit
- Use secure storage for credentials and tokens
- Implement proper session management
- Follow data minimization principles
-
Dependency Management:
- Regularly update dependencies
- Review security advisories for packages
- Use
flutter pub outdatedto check for updates - Run security audits on dependencies
-
Code Review:
- All code must be reviewed before merging
- Security-focused reviews for sensitive changes
- Use automated security scanning tools
- Never commit API keys or secrets to the repository
- Use environment variables or secure vaults
- Rotate keys regularly
- Use different keys for different environments
- Implement secure token storage (Flutter Secure Storage)
- Use token refresh mechanisms
- Implement session timeout
- Support multi-factor authentication
- Encrypt sensitive data stored locally
- Use Flutter Secure Storage for credentials
- Clear sensitive data on logout
- Implement secure data deletion
- Use certificate pinning for critical APIs
- Implement request signing
- Use secure protocols (HTTPS/WSS)
- Validate SSL certificates
- ProGuard/R8 obfuscation enabled
- App signing configured properly
- Secure key storage using Android Keystore
- Disable debug logging in production
- App Transport Security (ATS) configured
- Keychain used for sensitive data
- Code signing configured properly
- Disable debug logging in production
We use the following tools for security scanning:
- Static Analysis: Dart analyzer with strict lint rules
- Dependency Scanning: GitHub Dependabot
- Code Review: Manual security reviews
- Penetration Testing: Periodic security audits
Security updates will be released as soon as possible after a vulnerability is confirmed. We will:
- Fix the vulnerability in a private repository
- Test the fix thoroughly
- Release a patched version
- Publish a security advisory
- Credit the reporter (if desired)
We do not currently have a formal bug bounty program, but we:
- Acknowledge security researchers in our security advisories
- Provide public recognition for responsible disclosure
- May offer rewards for critical vulnerabilities on a case-by-case basis
We thank the following researchers for responsibly disclosing security vulnerabilities:
- No reports yet
This project aims to comply with:
- OWASP Mobile Top 10: Following best practices
- GDPR: Data protection and privacy
- Indian IT Act: Compliance with local regulations
For any security-related questions or concerns:
- Security Team: security@betaversion.io
- General Inquiries: contact@betaversion.io
Last Updated: November 2024
Thank you for helping keep BetaVersion secure!