When an independent developer receives vulnerability reports with bounty demands, it creates a complex situation. The sender provided specific technical details:
// Example of SPF record vulnerability
"v=spf1 include:_spf.google.com ?all" // Vulnerable version
"v=spf1 include:_spf.google.com -all" // Corrected version
Most legitimate researchers follow responsible disclosure practices. Key indicators of professionalism include:
- Detailed vulnerability descriptions with reproduction steps
- Clear mitigation recommendations
- Reasonable response timelines (typically 90 days before public disclosure)
For the clickjacking vulnerability mentioned, implement these headers:
// NGINX configuration
add_header X-Frame-Options "SAMEORIGIN";
add_header Content-Security-Policy "frame-ancestors 'self'";
// Apache configuration
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Content-Security-Policy "frame-ancestors 'self'"
Consider these open-source alternatives to commercial bug bounty programs:
// Example security.txt file
{
"contact": "mailto:security@yourdomain.com",
"encryption": "https://yourdomain.com/pgp-key.txt",
"acknowledgments": "https://yourdomain.com/security-hall-of-fame",
"policy": "https://yourdomain.com/security-policy"
}
Document all communications and implement these technical safeguards:
- Enable full-disk encryption on development machines
- Implement automated backups with versioning
- Set up intrusion detection systems (even basic open-source solutions like OSSEC)
Red flags warranting legal consultation:
- Threats of public disclosure before reasonable remediation time
- Demands for payment in cryptocurrency only
- Refusal to provide full contact information
As a solo entrepreneur running an internet business, receiving vulnerability reports from self-proclaimed "ethical hackers" can be unsettling. The technical details you provided (SPF record issue and clickjacking vulnerability) suggest the reporter has legitimate security knowledge.
Security researchers often operate under "bug bounty" programs where companies reward vulnerability discoveries. However, demands for payment without prior agreement cross into gray areas. Key indicators:
// Legitimate behavior pattern
if (vulnerabilityReport.includes(technicalDetails)
&& !containsThreats
&& providesFixInstructions) {
return "Likely ethical";
} else {
return "Potentially malicious";
}
The two issues mentioned are serious but common:
/* SPF Record Vulnerability Fix */
Current: v=spf1 include:_spf.example.com ?all
Fixed: v=spf1 include:_spf.example.com -all
/* Clickjacking Prevention (HTTP Header) */
X-Frame-Options: DENY
// OR for modern browsers
Content-Security-Policy: frame-ancestors 'none';
For future encounters:
- Verify the vulnerabilities independently
- Implement fixes immediately
- Consider setting up a formal security policy
If security is critical to your business, establishing a formal program might help:
// Example response template
const bountyPolicy = {
scope: "web-application/*",
rewards: {
critical: "$500-$1000",
high: "$100-$500",
medium: "Swag/Thanks"
},
contact: "security@yourdomain.com"
};
For small businesses, non-monetary recognition can work:
- Public thank you on your site
- Certificate of appreciation
- Feature in security acknowledgments