Salta al contenuto principale

Programma Bug Bounty

Capgo è impegnata nella sicurezza e nella trasparenza. Tutto il nostro code è open source, e invitiamo i ricercatori di sicurezza ad aiutarci a identificare vulnerabilità nel nostro codebase.

Code Open Source

Ogni repository nell'organizzazione Capgo è open source. Puoi revisionare, auditare e contribuire al nostro code.

Organizzazione GitHub: github.com/Cap-go

Capgo Backend & Landing

Repository backend e prodotto di Capgo (capgo.app API, dashboard e servizi correlati)

Plugin Updater Capacitor

Il plugin core di Capacitor che gestisce gli aggiornamenti over-the-air sui dispositivi mobile

Requisiti per i Report Validi

Per partecipare al programma Bug Bounty, il tuo report deve soddisfare TUTTI i seguenti requisiti:

  • Devi identificare il file esatto e il numero di riga nel nostro repository GitHub in cui risiede la vulnerabilità
  • Il report deve essere inviato tramite la GitHub Security Advisory sul repository pertinente
  • Devi includere una descrizione chiara della vulnerabilità e del suo potenziale impatto
  • Devi fornire i passaggi per riprodurre il problema e dimostrarlo

Importante: Se non riesci a indicare la riga esatta di code in GitHub dove risiede il problema, il report non sarà idoneo per il programma Bug Bounty. I report devono essere inviati esclusivamente tramite GitHub Security Advisory. I pagamenti sono gestiti tramite Algora.io; ti preghiamo di creare un account per ricevere i pagamenti direttamente sulla piattaforma.

Tempi di risposta e rispetto

Siamo disponibili e paghiamo per i report validi, ma non possiamo collaborare con chi non rispetta i nostri tempi. Ti chiediamo di mantenere una comunicazione calma e di seguire le regole di questo programma.

  • Rispondiamo ai report di sicurezza e alle violazioni entro 24-72 ore.
  • Non inviare spam. Più di tre email in un singolo giorno saranno considerate spam e bloccate.
  • Non paghiamo i report che ignorano queste regole o che sono spam.
  • Sono accettati solo i report in scope che seguono questo programma bug bounty; qualsiasi altra segnalazione potrebbe essere bloccata.
  • Non chiedere aggiornamenti sullo stato, come ad esempio "hai controllato?" o domande simili. Una volta confermata la ricezione della segnalazione, è sufficiente. Dopo tale conferma, resta ancora molto lavoro da fare e la preparazione di una pull request può richiedere diversi giorni.

Importante: Capgo è una piccola realtà bootstrapped, quindi i nostri bounty sono inferiori rispetto ai programmi delle grandi aziende. Le segnalazioni senza un chiaro percorso di exploit vengono pagate fino a un massimo di $30. Gli exploit con un impatto reale e riproducibile su Capgo vengono pagati fino a un massimo di $300. Accettiamo e revisioniamo segnalazioni di sicurezza per i plugin Capgo, ma i bounty per i plugin code sono limitati a @capgo/capacitor-updater.. Gli altri plugin Capgo sono gratuiti e non fanno parte della nostra offerta prodotto a pagamento, quindi le segnalazioni vengono revisionate ma non pagate. I pagamenti vengono emessi solo dopo aver identificato il problema, rilasciato la fix e dopo che avrai verificato che la soluzione funzioni. L'apertura o il link a una pull request non garantiscono di per sé il pagamento. Questo processo richiede solitamente da pochi giorni a qualche settimana, a seconda della gravità e della cadenza dei rilasci. Ti preghiamo di non inviare messaggi come "per essere pagato"; il pagamento avviene solo quando il rilascio è live e tu hai testato e validato la fix.

Come segnalare

  1. Vai al repository pertinente su GitHub
  2. Clicca sulla tab "Security"
  3. Clicca su "Report a vulnerability" per creare un nuovo security advisory
  4. Includi il percorso esatto del file e il numero di riga in cui risiede la vulnerabilità
  5. Fornisci passaggi dettagliati per riprodurre il problema e spiega l'impatto sulla sicurezza

Fuori Ambito

  • Report senza riferimenti esatti alle righe di code in GitHub
  • Report non inviati tramite GitHub Security Advisory
  • Vulnerabilità teoriche senza una proof of concept
  • Bug in piattaforme di terze parti, dipendenze o servizi che Capgo non può risolvere direttamente (segnalali ai provider, ad esempio a Supabase).
  • Tentativi di social engineering o phishing
  • Attacchi Denial of Service
  • Report di SSRF o DNS spoofing contro webhook o anteprime del sito. Queste funzionalità girano su infrastruttura serverless e non possono essere usate per raggiungere l'infrastruttura privata di Capgo, quindi non sono sfruttabili nel nostro ambiente.
  • Configurazione di code dell'app o del progetto di proprietà dell'utente che Capgo non possiede, distribuisce o controlla, inclusi file come capacitor.config.ts, config.capacitor.ts, il codice sorgente code e le impostazioni specifiche dell'ambiente.
  • Accesso ai file del bundle Capgo o prova che i file del bundle possono essere scaricati. I file del bundle sono asset web pubblici, gli utenti ne sono informati e l'accesso non è considerato una violazione dei dati.
  • Endpoint Capgo plugin/API non autenticati che sono intenzionalmente pubblici per design — inclusi channel_self set e gli endpoint update/stats che non richiedono una API key — non sono vulnerabilità. Non segnalarli come tali.
  • Un errore di etichettatura della crittografia nell'uploader o nella UI per i bundle serviti via external_url non è una vulnerabilità Capgo (la crittografia dei bundle ospitati esternamente è fuori dal controllo di Capgo).

Supabase e servizi di terze parti

Se la causa principale è un bug della piattaforma o di un servizio Supabase, segnalalo a Supabase e non a Capgo. Se la logica vulnerabile, SQL, RPC, policy RLS, Edge Function o la configurazione sono stati creati o scelti da Capgo e possiamo risolverli nel nostro progetto, rientrano nel perimetro anche se l'endpoint è servito da Supabase. Per segnalazioni sul comportamento di Supabase, includi un caso riproducibile e l'esatta impostazione o modifica di config di Supabase che lo causa in un progetto configurato come il nostro.

Esempi

Non valido qui

  • Un bug, un outage o un comportamento della piattaforma Supabase che solo Supabase può risolvere
  • Una vulnerabilità che non riesci a riprodurre
  • Un'accusa che incolpa Capgo per il comportamento di Supabase senza mostrare una fix controllata da Capgo o l'esatta impostazione/config di Supabase

Valido qui

  • Una misconfigurazione di Supabase controllata da Capgo che possiamo risolvere nelle impostazioni del progetto (con i passaggi)
  • Un problema di SQL, RPC, RLS, funzioni o integrazioni di proprietà Capgo che causa un uso insicuro di Supabase
  • Un problema riproducibile nel progetto, schema o policy Supabase di Capgo, anche se esposto tramite un endpoint Supabase

Limitazioni note di Supabase Auth (già segnalate)

Alcune vulnerabilità vengono segnalate ripetutamente e sono causate dai default di Supabase Auth o dal comportamento della piattaforma, piuttosto che da Capgo code. Le prendiamo in esame solo se riproducibili in un progetto demo Supabase condiviso e configurato come il nostro, e se la soluzione consiste in una modifica di configurazione lato Supabase che non richieda variazioni alle regole di sicurezza Capgo. Se la fix richiede modifiche a SQL, RPC, policy RLS, funzioni o logica dell'app di proprietà di Capgo, segnalacela perché rientra nel perimetro.

  • Fornisci un caso riproducibile e identifica la fix esatta: o la modifica alle impostazioni/configurazione di Supabase che risolve il problema, o l'oggetto code/config di proprietà di Capgo che deve essere modificato.
  • Il comportamento della verifica email segue le impostazioni del tuo progetto Supabase Auth (ad esempio, se la conferma email è disabilitata o se viene usato l'auth basato su capture).
  • I flussi di aggiornamento password e recupero account potrebbero non richiedere sempre l'inserimento della vecchia password o una nuova verifica se Supabase Auth è configurato in tal senso.
  • Se il problema è in questo elenco ma riesci a dimostrare una fix concreta lato Supabase nel progetto fornito o un difetto di sicurezza concreto di proprietà di Capgo, potremo considerarlo nel perimetro.

Per domande sul nostro programma Bug Bounty, contatta il team tramite le GitHub Security Advisories.