Notícias
Notícias
5 min de leitura
28 de setembro de 2026

Seu SaaS tá no Azure? JADEPUFFER tá deletando tudo (como se proteger).

JADEPUFFER deletou recursos Azure em 18 horas (ataque destrutivo). Seu SaaS tá vulnerável? Como proteger infra.

Equipe OpenClaw

Equipe OpenClaw · Time de Engenharia & Produto

A Equipe OpenClaw é formada por engenheiros, designers e especialistas em IA dedicados a construir a melhor plataforma de agentes conversacionais para negócios brasileiros. Combinamos expertise…


Seu SaaS tá no Azure? JADEPUFFER tá deletando tudo (como se proteger).

Você é founder de SaaS.

Seu SaaS roda no Azure (Microsoft cloud).

You chose Azure because:

Reasons to use Azure: ├─ Enterprise customers demand it ("We only use Microsoft") ├─ Integration with Office 365 / Teams / SharePoint ├─ Compliance (GDPR, HIPAA compliance built-in) ├─ Global data centers (customers worldwide) ├─ Good pricing (pay-as-you-go) └─ Thought: "Microsoft will protect our infrastructure"

But then you read a news story (September 2026):

Headline: "JADEPUFFER Attackers Deleted Azure Resources (18-hour destruction spree)" │ What happened: ├─ Threat actor: JADEPUFFER (also tracked as Storm-3168 by Microsoft) ├─ Target: Multiple companies running on Microsoft Azure ├─ Method: Compromised service principals (Azure credentials) ├─ Action: Deleted resources (databases, storage, VMs) ├─ Timeline: 18 hours of destructive operations ├─ Impact: Data loss, downtime, financial damage │ └─ Implication: If it happened to enterprise X, could happen to you

Your reaction: ├─ "Wait... they deleted EVERYTHING in 18 hours?" ├─ "Our credentials are probably on the dark web too?" ├─ "Do we even have backups?" ├─ "What's our disaster recovery plan?" └─ Realization: "We're not prepared for this."

The Attack: How JADEPUFFER Did It

What compromised service principals are

Service principals (Azure terminology):

What they are: ├─ Service principal = AWS IAM user (but for Azure) ├─ Purpose: Automated access (scripts, agents, integrations) ├─ Example: Your agent connects to Azure using service principal credentials └─ Problem: If credentials leak, attacker gets same access as agent

How they're created: ├─ Developer creates service principal (to run CI/CD pipeline) ├─ Generates access keys (similar to AWS access key + secret) ├─ Stores keys in environment variables (or worse, in code) ├─ Uses keys to access Azure resources └─ Never rotates keys ("set it and forget it")

How JADEPUFFER found them: ├─ Scanned GitHub repos (looking for hardcoded credentials) ├─ Checked dark web (compromised database leaks) ├─ Scanned internal networks (if they had initial access) ├─ Social engineering (phished employee) └─ Result: Found credentials that work

How JADEPUFFER used them: ├─ Logged into Azure with stolen credentials ├─ Looked for resources (databases, storage, backups) ├─ Deleted everything: │ ├─ SQL databases (gone) │ ├─ Storage accounts (gone) │ ├─ VMs (gone) │ ├─ Backups (deleted too!) │ └─ Entire infrastructure (18 hours, completely wiped) └─ Result: Company has nothing left

Why this is so dangerous

Destructive attack (vs data theft):

Data theft attacks: ├─ Attacker steals data (copies it) ├─ Your infrastructure still works ├─ You notice theft after weeks (via monitoring) ├─ Time to recover: Depends on detection (could be slow) └─ Recovery strategy: Restore from backups

Destructive attacks (JADEPUFFER style): ├─ Attacker deletes everything ├─ Your infrastructure goes DOWN (immediately) ├─ Your customers can't access service (RIGHT NOW) ├─ You notice immediately (service down) ├─ But recovery is harder: │ ├─ If backups deleted too: Complete loss │ ├─ If backups isolated: Recovery takes hours/days │ ├─ During recovery: Downtime = revenue loss + churn │ └─ After recovery: Reputation damage (customers lost trust) └─ Result: Business might not survive

Financial impact: ├─ Revenue lost: R$ 1M/day SaaS × 1 day downtime = R$ 1M lost ├─ Churn from downtime: 10% of customers leave = R$ 500K lost ├─ Recovery costs: New infrastructure setup = R$ 50K ├─ Legal/compliance: Regulatory fines = R$ 100K+ └─ Total damage: R$ 1.65M+ (and business might shut down)

Azure Security Fundamentals (You're Probably Missing These)

Mistake 1: Service Principals With No Rotation

Current state (what most SaaS does):

Setup: ├─ Create service principal (Year 1) ├─ Generate access key ("AppID-123-ABC") ├─ Store in environment variable (production server) ├─ Never touch it again ("It's working, don't break it") ├─ Years pass (2, 3, 4 years) ├─ Access key is now ancient (compromised multiple times?) └─ You have no idea (no monitoring, no alerts)

Risk: ├─ Key leaked in GitHub commit (4 years ago, now public) ├─ Key stolen in database breach (competitor's database) ├─ Key found on dark web (sold by hackers) ├─ Attacker uses old key (full access to Azure) ├─ You don't know (no key rotation, no alerts) └─ Attacker deletes everything (like JADEPUFFER did)

What you should do (key rotation):

☐ Identify all service principals ├─ List all service principals in Azure (Portal → Azure AD → App registrations) ├─ Document each one (what it does, who created it, when) ├─ Check which ones have active keys (should be minimal) └─ Flag old ones (no recent activity = candidate for deletion)

☐ Rotate keys regularly ├─ Set reminder: Rotate every 90 days ├─ Generate new key (Azure Portal → Certificates & secrets) ├─ Update environment variable (production) ├─ Test it works (run a quick integration test) ├─ Delete old key ├─ Document rotation (date, who did it, reason) └─ Automate (script the process if possible)

☐ Monitor for unauthorized access ├─ Enable Azure audit logs (Activity log) ├─ Alert if service principal used from unusual location ├─ Alert if unusual permissions requested ├─ Alert if resources deleted (especially) └─ Review logs weekly (catch anomalies)

Mistake 2: No Backups (or Backups Also Deleted)

Current state (backup failure modes):

Scenario A: No backups at all ├─ Azure storage with customer data ├─ No backup configured ("Takes time to set up") ├─ JADEPUFFER deletes storage ├─ Data gone (no recovery) └─ Business impact: Total loss

Scenario B: Backups on same Azure account ├─ Azure storage with customer data ├─ Backup configured (good!) ├─ BUT: Backup in same Azure subscription ├─ JADEPUFFER deletes storage + backup ├─ Both gone (attacker had full access) └─ Business impact: Total loss (backup didn't help)

Scenario C: Backups with same credentials ├─ Azure storage with customer data ├─ Backup in different subscription (good!) ├─ BUT: Uses same service principal (same credentials) ├─ JADEPUFFER deletes both (same access) ├─ Both gone (attacker had access to backup too) └─ Business impact: Total loss (backup didn't help)

Scenario D: Backups protected correctly ├─ Azure storage with customer data ├─ Backup in separate subscription ├─ Uses different service principal (separate credentials) ├─ JADEPUFFER deletes main storage ├─ BUT: Backup is safe (different account, different credentials) ├─ Recovery: Restore from backup (takes 2-4 hours) └─ Business impact: Downtime, but recoverable

What you should do (backup strategy):

☐ Implement automated backups ├─ Enable Azure Backup (for databases) ├─ Enable storage account snapshots (for data) ├─ Enable VM snapshots (for application servers) ├─ Set retention: Keep 30-90 days of backups ├─ Test restore: Actually restore a backup (make sure it works) └─ Document: How long to restore? What data is covered?

☐ Isolate backups (separate account) ├─ Create separate Azure subscription (for backups only) ├─ Different credentials (service principal unique to backups) ├─ Read-only access (backup account can write backups, but not delete originals) ├─ Network isolation (backup account not accessible from main VNet) └─ Credential rotation (backup credentials rotated separately)

☐ Monitor backup health ├─ Alert if backup fails (daily check) ├─ Alert if backup data missing (weekly verification) ├─ Alert if backup credentials compromised (unusual access) ├─ Monthly restore test (actually try to restore) └─ Document: Last successful restore (date, time, data verified)

Mistake 3: Overly Permissive IAM Roles

Current state (too much access):

Service principal permissions (typical mistake): ├─ Created service principal (to run agent) ├─ Assigned role: "Contributor" (too much!) │ └─ Contributor = can create, modify, DELETE everything ├─ Service principal now has: │ ├─ Delete databases? YES │ ├─ Delete storage? YES │ ├─ Delete VMs? YES │ ├─ Delete backups? YES │ └─ Delete entire resource group? YES ├─ JADEPUFFER uses stolen credentials ├─ Has full delete permissions (thanks, overly permissive IAM!) └─ Deletes everything in 18 hours

What you should do (least privilege):

☐ Audit current IAM roles ├─ List all service principals (who has what access?) ├─ Check each role (is it necessary?) ├─ Identify overly permissive roles ("Contributor", "Owner") └─ Document: Who has what, and why?

☐ Apply least privilege principle ├─ Agent reads from database? Grant "Reader" role (not "Contributor") ├─ Agent writes logs? Grant "Log Analytics Contributor" (not "Contributor") ├─ Agent needs access to 1 resource group? Scope role to that RG (not entire subscription) ├─ Backup service? Grant read + backup permissions (not delete) └─ Result: Each service principal has minimal necessary access

☐ Use Azure Managed Identities (best practice) ├─ Instead of service principals with keys: Use managed identities ├─ Managed identity = Azure handles credentials (rotated automatically) ├─ No keys to leak (no GitHub commits with secrets) ├─ Better security (built-in key rotation) ├─ Easier to manage (no manual key management) └─ Bonus: Usually cheaper (no billing for managed identity)

Mistake 4: No Monitoring or Alerts

Current state (flying blind):

Monitoring gap: ├─ JADEPUFFER compromises service principal (Day 1) ├─ Attacker starts deleting resources (Day 1, 3pm) ├─ You're not monitoring (no alerts set up) ├─ Attacker deletes database (Day 1, 4pm) → No alert ├─ Attacker deletes storage (Day 1, 5pm) → No alert ├─ Attacker deletes backups (Day 1, 8pm) → No alert ├─ You discover issue (Day 2, 9am) → Service been down 15+ hours ├─ Customers angry (downtime, data loss) └─ Too late to recover (everything deleted, including backups)

What you should do (monitoring):

☐ Enable Azure Monitor ├─ Activity Log: Track all resource changes (create, delete, modify) ├─ Diagnostic Logs: Database query logs, API access logs ├─ Metrics: CPU, memory, storage usage └─ Alerts: Notify immediately when something changes

☐ Alert on critical actions ├─ Alert: Resource deleted (ANY resource) ├─ Alert: Backup deleted ├─ Alert: Database access from unusual location ├─ Alert: Service principal used at unusual time (3am?) ├─ Alert: Large data download (potential theft) ├─ Alert: Permission changes (someone escalated access?) └─ Send alerts to: Email + Slack + PagerDuty (on-call engineer)

☐ Centralized logging ├─ Send all logs to Azure Log Analytics (or external SIEM) ├─ Retain logs for 90+ days (compliance + investigation) ├─ Set up dashboards (real-time view of security) ├─ Run queries (daily: Any deleted resources? Any unusual access?) └─ Automate: Script to flag anomalies (alerts you immediately)

Disaster Recovery Plan (You Need This Now)

Step 1: Prepare Before Attack Happens

☐ Document everything ├─ Infrastructure diagram (what systems do we have?) ├─ Dependencies (which system depends on which?) ├─ Recovery time objective (RTO): "Can be down for max X hours?" ├─ Recovery point objective (RPO): "Can lose max X hours of data?" ├─ Critical data: What MUST be recovered first? └─ Document recovery procedures (step-by-step guide)

☐ Implement backups (as described above) ├─ Database backups (daily, isolated account) ├─ Storage backups (daily, isolated account) ├─ VM snapshots (daily, isolated account) ├─ Configuration backup (Terraform/Infrastructure-as-Code) └─ Test restore (monthly: Actually restore and verify data)

☐ Prepare recovery infrastructure ├─ Keep infrastructure-as-code (Terraform, ARM templates) ├─ Stored in Git (not in deleted Azure account) ├─ Version controlled (rollback to previous version if needed) ├─ Tested: Can you spin up entire infra from scratch? (Test it) └─ Time to deploy: How long to recreate from infrastructure-as-code?

Step 2: Respond During Attack

☐ Immediately after detection ├─ Declare incident (notify team, activate incident response plan) ├─ Isolate affected systems (disconnect from attackers) ├─ Revoke all compromised credentials (service principals) ├─ Check: Are backups still safe? (Different account, different credentials?) ├─ Notify customers (transparency: "We're investigating") └─ Start recovery (see Step 3)

☐ Investigation (while recovering) ├─ Check activity logs (when did attack start? who/what deleted what?) ├─ Find root cause (how did credentials leak?) ├─ Check for lateral movement (did attacker access other systems?) ├─ Preserve evidence (audit logs, access records for investigation) └─ Plan improvements (what will we do differently next time?)

Step 3: Recover

☐ Restore from clean backup ├─ Check backup integrity (is it actually clean? not infected?) ├─ Restore to new Azure subscription (don't use old one) ├─ Verify data (spot-check: Is data complete and correct?) ├─ Update configuration (point customer apps to new infrastructure) ├─ Test: Can customers access service again? └─ Timeline: Should take 2-4 hours (depending on data size)

☐ Communicate with customers ├─ Notify: "Service restored, we recovered your data" ├─ Explain: "Here's what happened and how we fixed it" ├─ Reassure: "Here are the security improvements we're implementing" ├─ Compensation: Consider credits or service extension (rebuild trust) └─ Timeline: Daily updates until fully stable

Action Plan: Protect Your SaaS Today

Week 1: Audit

☐ Security audit ├─ List all service principals (Azure Portal → App registrations) ├─ Check key age (any keys older than 1 year? Delete them) ├─ Check IAM roles (anyone have Contributor/Owner? Reduce to least privilege) ├─ Check backups (do we have them? Are they isolated?) ├─ Check monitoring (any alerts set up? Test one) └─ Document findings (create list of issues to fix)

☐ Time investment: 4-6 hours ☐ Cost: Free (just your time)

Week 2-3: Implement

☐ Security hardening ├─ Rotate service principal keys (all of them) ├─ Apply least privilege IAM roles (reduce excessive permissions) ├─ Enable Azure Managed Identities (if using VMs) ├─ Set up automated backups (if not already done) ├─ Enable backup isolation (separate subscription, separate credentials) ├─ Set up monitoring and alerts (Activity Log + alerts) └─ Document disaster recovery plan (how to restore if attacked)

☐ Time investment: 20-30 hours ☐ Cost: Azure backup storage (~R$ 500-1000/month, depending on data size)

Month 2+: Maintain

☐ Ongoing security ├─ Monthly: Rotate service principal keys (reminder in calendar) ├─ Weekly: Review Azure Activity Log (any unusual access?) ├─ Monthly: Test backup restore (make sure it actually works) ├─ Quarterly: Audit IAM roles (new permissions needed? Old ones to remove?) ├─ Quarterly: Update disaster recovery plan (infrastructure changes?) └─ Annually: Incident response drill (simulate attack, practice recovery)

☐ Time investment: 4 hours/month ☐ Cost: Ongoing Azure backup storage + monitoring (R$ 500-1000/month)

Next Steps: Protect Your SaaS Infrastructure

At OpenClaw, we help SaaS companies audit and harden their Azure infrastructure:

  • Security audit (identify vulnerabilities)
  • Backup strategy (plan data protection)
  • Monitoring setup (detect attacks early)
  • Disaster recovery plan (recover quickly if attacked)
  • IAM hardening (apply least privilege)
  • Incident response planning (know what to do when attacked)

Get a free Azure security audit: Schedule 30 minutes with our infrastructure security specialist. We'll review your current Azure setup, identify JADEPUFFER-style attack risks, design a backup + monitoring strategy, calculate recovery time if attacked, and give you a prioritized action plan to harden your infrastructure.

[Book your free Azure security audit] → [Button: Schedule Now]


FAQ

Q: Só grandes empresas são alvo de JADEPUFFER?

A: Não. JADEPUFFER ataca empresas de qualquer tamanho (opportunistic = exploits whoever they can). Sua SaaS pequena é alvo fácil (menos segurança). Tamanho não importa; segurança importa.

Q: Se estou no AWS/GCP, tô seguro?

A: Não. Mesmas vulnerabilidades existem em AWS (IAM keys, missing backups) e GCP (service accounts, missing backups). Questão não é Azure vs AWS. Questão é: Você tem backups? Tem monitoring? Tem credential rotation? Responda SIM a tudo = você tá seguro (em qualquer cloud).

Q: Quanto custa implementar segurança?

A: Tempo: 30-40 horas (1-2 sprints). Custo Azure: Backup storage (R$ 500-1K/month). Total: Mínimo. ROI: INFINITO (evita R$ 1M+ de disaster).

Q: E se eu não tenho tempo?

A: Pelo menos faca isto HOJE: (1) Rotate service principal keys (1h). (2) Enable backups (2h). (3) Set up 1 alert (1h). Isso já reduz risco de 90%. Depois faça resto quando tiver tempo.


Publicado em 28 de setembro de 2026

Leia também