agentleFS
mdigital94mdigital94/vibe-shield-plugin/skills/incident-response/SKILL.md

incident-response

Skill0 starsChanged 2 months agoMITView on GitHub

Guida di emergenza quando il danno è già avvenuto o si sospetta: chiave esposta e già pubblicata, sito compromesso, dati trafugati, attività strane, addebiti anomali. Usalo quando l'utente dice cose come "sono stato hackerato", "ho pubblicato una chiave", "c'è attività strana", "mi sono arrivati addebiti assurdi".

  • Reads credentials

81 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use dora-metrics, background-jobs and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • jholhewresSkill

    dora-metrics

    Calculate DORA metrics from git + deploy logs

    Also in 3 projects that use this

  • YepAPISkill

    background-jobs

    Queue workers with BullMQ/Inngest/Trigger.dev, job retries, dead letter queues, concurrency.

    Also in 4 projects that use this

  • MicrosoftSkill

    data-modeling

    Use when the app needs to store or read data — records, a database, entities, CRUD, lists, "save/remember X", or per-user data with row-level security. This app's data layer is Rayfin's: you declare entities as TypeScript classes with decorators in rayfin/data/, register them in the schema, and read/write them through the typed rayfin-client. Covers: defining an @entity, field decorators, registering it, per-entity access with @role, owner-only row-level security, and the client query/mutation API. Triggers: data, database, model, entity, schema, table, record, CRUD, create, read, update, delete, list, store, save, persist, per-user, row-level security, RLS, access control, ownership.

    Also in 7 projects that use this

  • YepAPISkill

    data-pipelines

    ETL patterns, cron scheduling, queue-based processing, and batch jobs with Inngest/BullMQ.

    Also in 4 projects that use this

  • mmondoraSkill

    infrastructure-as-code

    Infrastructure as Code with Terraform and Pulumi. State management, modularity, drift detection, secrets handling. Use when provisioning cloud resources, writing Terraform/Pulumi modules, or managing infrastructure configuration.

    Also in 5 projects that use this

  • csiddhant796-blipSkill

    threat-detection

    Use when hunting for threats in an environment, analyzing IOCs, or detecting behavioral anomalies in telemetry. Covers hypothesis-driven threat hunting, IOC sweep generation, z-score anomaly detection, and MITRE ATT&CK-mapped signal prioritization.

    Also in 3 projects that use this

The file

Files
SKILL.md

Incident Response

L'utente sospetta o ha subito un incidente di sicurezza. Probabilmente è nel panico: mantieni un tono calmo e concreto, un passo alla volta, in italiano semplicissimo. Prima si ferma l'emorragia, poi si capisce cosa è successo, poi si sistema la causa.

0. Triage: capisci la situazione (2 domande, non di più)

  1. Cosa è successo o cosa hai notato? (chiave pubblicata, addebiti strani, dati modificati, email dagli utenti, avviso da GitHub/provider...)
  2. Il progetto è online e ha utenti reali con dati veri?

In base alle risposte, procedi nell'ordine sotto. Non fare l'audit completo adesso: prima si tampona.

1. Ferma l'emorragia (i primi 15 minuti)

Chiave o password esposta (il caso più comune):

  1. REVOCA SUBITO la chiave dal pannello del servizio che l'ha emessa. Guida l'utente al posto giusto in base al tipo di chiave: Stripe (dashboard.stripe.com, sezione Developers, API keys), OpenAI (platform.openai.com, API keys), Anthropic (console.anthropic.com), Google/Gemini (console.cloud.google.com, Credenziali), AWS (console IAM), Supabase (dashboard, Settings, API), GitHub (Settings, Developer settings, Tokens), database (cambia la password dell'utente DB).
  2. Genera la chiave nuova e mettila SOLO nel .env locale e nelle variabili d'ambiente della piattaforma di deploy. Mai nel codice.
  3. Rimuovere la chiave dal codice NON basta: se è stata pubblicata (GitHub, sito online), è compromessa per sempre. La revoca è l'unica cura. I bot trovano le chiavi esposte su GitHub in pochi MINUTI.

Sospetta compromissione del sito o dei dati:

  1. Se il danno è attivo e grave (dati che spariscono, spam inviato dal sito, costi che salgono): metti il sito offline o in manutenzione dal pannello della piattaforma. Meglio un sito fermo che un sito che danneggia.
  2. Cambia le password degli account di piattaforma (GitHub, Vercel/Netlify, database, email collegata) e attiva la 2FA se non c'è.
  3. Revoca le sessioni attive dove possibile (GitHub: Settings, Sessions; Supabase: rigenera i JWT secret, che invalida i token in circolazione).

Addebiti anomali su un servizio a consumo:

  1. Revoca subito le chiavi di quel servizio (vedi sopra).
  2. Imposta un limite di spesa o disattiva la fatturazione dal pannello.
  3. Contatta il supporto del servizio: spiegando l'abuso, spesso stornano i costi.

2. Valuta il danno

  1. Da quanto tempo era esposta la falla? (data del commit incriminato: git log sul file; data del deploy)
  2. Cosa poteva fare chi la sfruttava? (leggere dati? scrivere? spendere soldi? impersonare utenti?)
  3. Controlla i segnali: log di accesso della piattaforma e del database, dashboard di utilizzo delle API (consumi anomali), integrità dei dati (record modificati o spariti), file sospetti nel progetto.
  4. Se il database conteneva dati personali di utenti reali e c'è evidenza concreta di accesso non autorizzato: spiega all'utente, senza allarmismo ma onestamente, che in UE il GDPR può richiedere la notifica al Garante entro 72 ore e l'avviso agli utenti coinvolti, e che per questo caso specifico è il momento di sentire una persona esperta (o un legale), non solo un tool.

3. Chiudi la falla

  1. Esegui la skill secrets-scan (bonifica di codice e storia git) e poi security-audit completo: chi è entrato da una porta potrebbe aver trovato le altre aperte.
  2. Applica i fix con fix-security.
  3. Se la chiave era nella storia git di un repo pubblico: oltre alla revoca (già fatta), pulisci la storia o, spesso più semplice, valuta di ricreare il repository pulito.
  4. Ripubblica solo dopo che pre-deploy passa.

4. Dopo l'incendio

Riassumi all'utente in italiano semplice: cosa è successo, cosa avete fatto, cosa resta da monitorare nei prossimi giorni (consumi, log, email degli utenti). Poi le tre abitudini che evitano il bis: 2FA su tutti gli account, chiavi solo in .env e nei pannelli (mai nel codice), e pre-deploy prima di ogni pubblicazione, sempre.

Regole

  • Ordine rigido: prima revocare/contenere, poi indagare, poi sistemare. Mai invertire.
  • Non promettere che "è tutto risolto": di' cosa è stato fatto e cosa resta incerto.
  • Non riportare mai valori di segreti nei messaggi o nei report.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.