
bearer v2.1.1
Strumento di scansione della sicurezza del codice (SAST) per scoprire, filtrare e dare priorità ai rischi per la sicurezza e la privacy.
Scansiona il tuo codice sorgente contro i principali rischi di sicurezza e privacy.
Bearer è uno strumento di test statico della sicurezza delle applicazioni (SAST) progettato per scansionare il tuo codice sorgente e analizzare i flussi di dati per identificare, filtrare e dare priorità ai rischi di sicurezza e privacy.
Bearer offre una soluzione gratuita e open, Bearer CLI, e una soluzione commerciale, Bearer Pro, disponibile tramite Cycode.
Supporto linguistico
Bearer CLI (Open Source): Go • Java • JavaScript • TypeScript • PHP • Python • Ruby
Bearer Pro di Cycode: Tutti i linguaggi di Bearer CLI più:
- Analisi avanzata cross-file: Java • Python • C# (alpha)
- Linguaggi aggiuntivi: C# • Kotlin • Elixir • VB.Net
Scopri di più sul supporto linguistico
Analisi statica del codice facile per sviluppatori per sicurezza e privacy
https://user-images.githubusercontent.com/1649672/230438696-9bb0fd35-2aa9-4273-9970-733189d01ff1.mp4
Bearer CLI scansiona il tuo codice sorgente per:
-
Rischi e vulnerabilità di sicurezza utilizzando regole integrate che coprono l'OWASP Top 10 e il CWE Top 25, come ad esempio:
- A01: Controllo degli accessi (ad es. Path Traversal, Open Redirect, Esposizione di Informazioni Sensibili).
- A02: Fallimenti Crittografici (ad es. Algoritmo Debole, Comunicazione Non Sicura).
- A03: Iniezione (ad es. SQL Injection, Validazione Input, XSS, XPath).
- A04: Progettazione (ad es. Mancata Crittografia dei Dati Sensibili, Cookie Persistenti con Informazioni Sensibili).
- A05: Cattiva Configurazione di Sicurezza (ad es. Archiviazione in Testo Chiaro di Informazioni Sensibili in un Cookie o JWT).
- A07: Fallimenti di Identificazione e Autenticazione (ad es. Uso di Password Hard-coded, Validazione Certificato Errata).
- A08: Fallimenti di Integrità dei Dati (ad es. Deserializzazione di Dati Non Attendibili).
- A09: Fallimenti di Logging e Monitoraggio di Sicurezza (ad es. Inserimento di Informazioni Sensibili in un File di Log).
- A10: Server-Side Request Forgery (SSRF).
Nota: tutte le regole e i relativi pattern di codice sono accessibili tramite la documentazione.
-
Rischi per la privacy con la capacità di rilevare flussi di dati sensibili come l'uso di PII, PHI nella tua app e componenti che elaborano dati sensibili (ad es. database come pgSQL, API di terze parti come OpenAI, Sentry, ecc.). Questo aiuta a generare un rapporto sulla privacy rilevante per:
- Valutazione d'Impatto sulla Privacy (PIA).
- Valutazione d'Impatto sulla Protezione dei Dati (DPIA).
- Registro delle Attività di Trattamento (RoPA) per la conformità al GDPR.
🚀 Per iniziare
Scopri i tuoi rischi e vulnerabilità di sicurezza più critici in pochi minuti. In questa guida installerai Bearer CLI, eseguirai una scansione di sicurezza su un progetto locale e visualizzerai i risultati. Iniziamo!
Installa Bearer CLI
Il modo più rapido per installare Bearer CLI è con lo script di installazione. Selezionerà automaticamente la build migliore per la tua architettura. L'installazione predefinita è in ./bin e all'ultima versione disponibile:
curl -sfL https://raw.githubusercontent.com/Bearer/bearer/main/contrib/install.sh | sh
Altre opzioni di installazione
Homebrew
Utilizzando il tappo Homebrew ufficiale di Bearer CLI:
brew install bearer/tap/bearer
Aggiorna un'installazione esistente con:
brew update && brew upgrade bearer/tap/bearer
Debian/Ubuntu
sudo apt-get update && sudo apt-get install ca-certificates -y && sudo update-ca-certificates
sudo apt-get install apt-transport-https
echo -e "Types: deb\nURIs: https://apt.fury.io/bearer/\nSuites: /\nTrusted: yes" | sudo tee /etc/apt/sources.list.d/fury.sources
sudo apt-get update
sudo apt-get install bearer
Aggiorna un'installazione esistente con:
sudo apt-get update
sudo apt-get install bearer
RHEL/CentOS
Aggiungi l'impostazione del repository:
$ sudo vim /etc/yum.repos.d/fury.repo
[fury]
name=Repository privato Gemfury
baseurl=https://yum.fury.io/bearer/
enabled=1
gpgcheck=0
Poi installa con yum:
sudo yum -y update
sudo yum -y install bearer
Aggiorna un'installazione esistente con:
sudo yum -y update bearer
Docker
Bearer CLI è disponibile anche come immagine Docker su Docker Hub e ghcr.io.
Con docker installato, puoi eseguire il comando seguente sostituendo i percorsi con quelli appropriati.
docker run --rm -v /path/to/repo:/tmp/scan bearer/bearer:latest-amd64 scan /tmp/scan
Inoltre, puoi usare docker compose. Aggiungi quanto segue al tuo file docker-compose.yml e sostituisci i volumi con i percorsi appropriati per il tuo progetto:
version: "3"
services:
bearer:
platform: linux/amd64
image: bearer/bearer:latest-amd64
volumes:
- /path/to/repo:/tmp/scan
Poi, esegui il comando docker compose run per avviare Bearer CLI con eventuali flag specificati:
docker compose run bearer scan /tmp/scan --debug
Le configurazioni Docker sopra useranno sempre l'ultima versione.
Binario
Scarica il file archivio per il tuo sistema operativo/architettura da qui.
Decomprimi l'archivio e posiziona il binario in una directory nel tuo $PATH (su sistemi UNIX-y, /usr/local/o simili). Assicurati che abbia i permessi di esecuzione.
Per aggiornare Bearer CLI quando usi il binario, scarica l'ultima versione e sovrascrivi la tua installazione esistente.
Scansiona il tuo progetto
Il modo più semplice per provare Bearer CLI è con il progetto esempio OWASP Juice Shop. Simula un'applicazione JavaScript realistica con comuni falle di sicurezza. Clonalo o scaricalo in una posizione comoda per iniziare.
git clone https://github.com/juice-shop/juice-shop.git
Ora, esegui il comando di scansione con bearer scan sulla directory del progetto:
bearer scan juice-shop
Una barra di avanzamento mostrerà lo stato della scansione.
Al termine della scansione, Bearer CLI produrrà di default un rapporto di sicurezza con dettagli di ogni regola trovata, oltre a dove nel codice sono avvenute le infrazioni e perché.
Di default il comando scan usa lo scanner SAST; sono disponibili altri tipi di scanner.
Analizza il rapporto
Il rapporto di sicurezza è una vista facilmente comprensibile dei problemi di sicurezza rilevati da Bearer CLI. Un rapporto è composto da:
- L'elenco delle regole eseguite sul tuo codice.
- Ogni rilevamento trovato, con la posizione del file e le righe che hanno attivato il rilevamento della regola.
- Una sezione di statistiche con un riepilogo dei controlli delle regole, dei rilevamenti e degli avvisi.
L'applicazione esempio OWASP Juice Shop attiverà rilevamenti di regole e produrrà un rapporto completo. Ecco una sezione dell'output:
...
HIGH: Sensitive data stored in HTML local storage detected. [CWE-312]
https://docs.bearer.com/reference/rules/javascript_lang_session
To skip this rule, use the flag --skip-rule=javascript_lang_session
File: juice-shop/frontend/src/app/login/login.component.ts:102
102 localStorage.setItem('email', this.user.email)
=====================================
59 checks, 40 findings
CRITICAL: 0
HIGH: 16 (CWE-22, CWE-312, CWE-798, CWE-89)
MEDIUM: 24 (CWE-327, CWE-548, CWE-79)
LOW: 0
WARNING: 0
Oltre al rapporto di sicurezza, puoi anche eseguire un rapporto sulla privacy.
Pronto per il passo successivo? Opzioni aggiuntive per l'uso e la configurazione del comando scan si trovano in configurazione del comando scan.
Per ulteriori guide e suggerimenti sull'uso, consulta la documentazione.
❓ FAQ
Cosa rende Bearer CLI diverso dagli altri strumenti SAST?
Gli strumenti SAST sono noti per seppellire i team di sicurezza e gli sviluppatori sotto centinaia di problemi con poco contesto e senza senso di priorità, richiedendo spesso agli analisti di sicurezza di triare manualmente i problemi.
L'asset più vulnerabile oggi sono i dati sensibili, quindi partiamo da lì e diamo priorità ai rilevamenti valutando i flussi di dati sensibili per evidenziare ciò che è più critico e ciò che non lo è. Questa capacità unica ci permette anche di fornirti uno scanner per la privacy.
Crediamo che collegando i problemi di sicurezza a un chiaro impatto aziendale e al rischio di violazione o fuga di dati, possiamo costruire software migliore e più robusto, senza costi aggiuntivi.
Inoltre, essendo gratuito e open, estendibile per progettazione e costruito pensando a un'ottima esperienza sviluppatore, scommettiamo che vedrai la differenza da solo.
Cos'è lo scanner per la privacy?
Oltre a rilevare falle di sicurezza nel tuo codice, Bearer CLI ti permette di automatizzare il processo di raccolta di prove necessario per generare un rapporto sulla privacy per il tuo team di conformità.
Quando esegui Bearer CLI sulla tua codebase, scopre e classifica i dati identificando pattern nel codice sorgente. In particolare, cerca tipi di dati e li confronta. È importante notare che non vede mai i valori reali—semplicemente non può—solo il codice stesso. Se vuoi saperne di più, ecco la spiegazione più lunga.
Bearer CLI è in grado di identificare oltre 120 tipi di dati da categorie di dati sensibili come Dati Personali (PD), Dati Personali Sensibili, Informazioni Personali Identificabili (PII) e Informazioni Sanitarie Personali (PHI). Puoi vedere l'elenco completo nella documentazione dei tipi di dati supportati.
Infine, Bearer CLI ti permette anche di rilevare componenti che memorizzano e elaborano dati sensibili come database, API interne e API di terze parti. Consulta l'elenco delle ricette per un elenco completo dei componenti.
Linguaggi supportati
Scopri di più sul supporto linguistico.
Quanto tempo ci vuole per scansionare il mio codice? È veloce?
Dipende dalle dimensioni delle tue applicazioni. Può richiedere da 20 secondi fino a qualche minuto per una codebase estremamente grande.
Come regola generale, Bearer CLI non dovrebbe mai impiegare più tempo dell'esecuzione della tua suite di test.
In caso di integrazione CI, forniamo una soluzione di scansione differenziale per renderlo ancora più veloce. Scopri di più.
E i falsi positivi?
Se hai familiarità con gli strumenti SAST, i falsi positivi sono sempre una possibilità.
Utilizzando le tecniche di analisi statica del codice più moderne e fornendo una soluzione nativa di filtraggio e prioritizzazione sui problemi più importanti, crediamo di aver migliorato notevolmente l'esperienza complessiva del SAST.
Ci impegniamo a fornire la migliore esperienza possibile per i nostri utenti. Scopri di più su come raggiungiamo questo obiettivo.
Quando e dove usare Bearer CLI?
Raccomandiamo di eseguire Bearer CLI nella tua CI per verificare automaticamente nuovi PR per problemi di sicurezza, in modo che il tuo team di sviluppo abbia un feedback diretto per risolvere immediatamente i problemi.
Puoi anche integrare Bearer CLI nella tua CD, anche se consigliamo di impostarlo in modo che fallisca solo su problemi di criticità alta, dato che l'impatto per la tua organizzazione potrebbe essere importante.
Inoltre, eseguire Bearer CLI come lavoro programmato è un ottimo modo per tenere traccia della tua postura di sicurezza e assicurarsi che nuovi problemi di sicurezza vengano trovati anche in progetti con poca attività.
Assicurati di leggere la nostra guida alla strategia di integrazione per maggiori informazioni.
Supporti l'analisi interprocedurale e interfile?
Sì, Bearer Pro supporta l'analisi interprocedurale e interfile, attualmente con funzionalità complete per Java e in fase di estensione ad altri linguaggi supportati principali. Questa analisi avanzata permette a Bearer Pro di tracciare il flusso di dati e il flusso di controllo attraverso i confini di funzioni e file all'interno di un'intera codebase. Questo è cruciale per identificare accuratamente vulnerabilità complesse che dipendono dall'interazione di diversi componenti del codice, riducendo significativamente i falsi positivi rispetto ad analisi limitate a singole funzioni o file.
L'analisi interprocedurale e interfile di Bearer Pro per Java ha dimostrato risultati solidi sul benchmark OWASP Java, raggiungendo un punteggio del 76% con un tasso di falsi positivi segnalato inferiore al 2%.
✋ Contattaci
Grazie per aver utilizzato Bearer CLI. Hai ancora domande?
- Inizia con la documentazione.
- Hai una richiesta di funzionalità o hai trovato un bug? Apri una nuova issue.
- Hai trovato un problema di sicurezza? Consulta la nostra Politica di Sicurezza per i dettagli sulla segnalazione.
- Scopri di più su Bearer.com
🤝 Contribuire
Interessato a contribuire? Siamo qui per questo! Per dettagli su come contribuire, configurare il tuo ambiente di sviluppo e i nostri processi, consulta la guida al contributo.
🚨 Codice di condotta
Chiunque interagisca con questo progetto è tenuto a seguire le linee guida del nostro codice di condotta.
🛡️ Sicurezza
Per segnalare una vulnerabilità o sospetta vulnerabilità, vedi la nostra politica di sicurezza. Per qualsiasi domanda, dubbio o altra questione di sicurezza, sentiti libero di aprire una issue.
🎓 Licenza
Il codice di Bearer CLI è concesso in licenza secondo i termini della Elastic License 2.0 (ELv2), il che significa che puoi usarlo liberamente all'interno della tua organizzazione per proteggere le tue applicazioni senza requisiti commerciali.
Non è permesso fornire Bearer CLI a terze parti come servizio ospitato o gestito senza l'approvazione esplicita di Bearer Inc.