Overview
Beacon, a CRM platform purpose-built for UK charities and nonprofits, has disclosed a significant data breach affecting more than 1,000 charitable organizations. The incident exposes a critical and increasingly common failure mode: AWS access keys hardcoded into publicly accessible JavaScript build artifacts.
How It Happened
The breach traces back to an AWS access key that was inadvertently included in Beacon's publicly distributed JavaScript files — the compiled front-end code that browsers download when users access the application.
JavaScript build artifacts are often inspected by developers for debugging purposes, and tools that scrape public-facing web properties for exposed credentials are widely available. Once a threat actor discovered the key in Beacon's public JS, they had a foothold into Beacon's AWS environment with whatever permissions that key carried.
From there, the attacker was able to access customer data belonging to Beacon's charity clients — donor records, contact information, fundraising data, and potentially financial details depending on each organization's use of the platform.
Why This Keeps Happening
The pattern of secrets in build artifacts is one of the most preventable categories of cloud breach. It typically occurs when:
- Environment variables are mistakenly bundled into front-end builds rather than kept server-side
- Build pipelines lack secrets scanning before artifacts are published
- Developers use long-lived access keys instead of short-lived IAM role credentials
- No automated monitoring exists for newly exposed credentials in public repositories or web assets
Tools like AWS Secrets Manager, GitHub's secret scanning, and open-source scanners like truffleHog or gitleaks exist specifically to catch this class of error.
Impact on the Nonprofit Sector
The breach is particularly significant because charities operate with limited IT resources and place enormous trust in SaaS vendors to protect the sensitive data of their donors and beneficiaries. For many affected organizations:
- Donor trust is at stake — individuals who gave to good causes may have their contact and payment data exposed
- Regulatory obligations apply — UK charities are subject to GDPR; a breach of this scale triggers mandatory reporting to the ICO within 72 hours of discovery
- Recovery resources are scarce — unlike enterprises, charities rarely have dedicated incident response teams
What Organizations Should Do
If you use Beacon CRM:
- Monitor for communications from Beacon regarding the scope of data exposed for your organization
- Review your donor and beneficiary communications plan — be prepared to notify affected individuals
- Document your breach assessment for ICO reporting obligations
- Consider enhanced monitoring of donor accounts for signs of phishing exploitation
General cloud security hygiene:
- Never use long-lived IAM access keys — use IAM roles and instance profiles where possible
- Scan every build artifact for secrets before publishing — integrate
git-secrets,truffleHog, or AWS's own scanning into CI/CD - Rotate keys immediately if exposure is discovered — the window between exposure and exploitation can be minutes
- Enable AWS CloudTrail and set alerts for unusual API activity on all accounts
- Apply least-privilege — even if a key is exposed, limit the blast radius by restricting its IAM permissions