Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
allstar — GitHub App per impostare e applicare policy di sicurezza | Kitploit
Strumenti/GitHubGitHub/ossf/allstar
Strumenti DifensiviAudit di ConfigurazioneSicurezza CloudDevSecOpsSicurezza della Supply Chain
GitHubossf/allstar

allstar

GitHub App per impostare e applicare policy di sicurezza

Vedi Repository
1.4k14722h 52m faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

OpenSSF Scorecard

Allstar

Panoramica

  • Cos'è Allstar?

Novità di Allstar

  • whats-new.md

Disattivazione dei problemi indesiderati

  • Aiuto! Allstar sta creando problemi e non li voglio!

Per iniziare

  • Contesto
  • Opzioni a livello di organizzazione
  • Opzioni di installazione
    • Utilizzo dell'app pubblica Allstar
      • Installazione rapida
      • Installazione manuale
    • Auto-hosting di Allstar
      • Esecuzione di Allstar come GitHub Action
      • Esecuzione di Allstar come demone di servizio

Politiche e azioni

  • Azioni
  • Politiche

Avanzato

  • Definizioni di configurazione
  • Esempi di configurazioni
  • Esegui un'istanza personale di Allstar

Contribuisci

  • Come contribuire


Panoramica

Cos'è Allstar?

Allstar è un'app GitHub che monitora continuamente organizzazioni o repository GitHub per l'aderenza alle migliori pratiche di sicurezza. Se Allstar rileva una violazione di una politica di sicurezza, crea un problema per avvisare il proprietario del repository o dell'organizzazione. Per alcune politiche di sicurezza, Allstar può anche cambiare automaticamente l'impostazione del progetto che ha causato la violazione, riportandola allo stato previsto.

L'obiettivo di Allstar è fornire un controllo finemente sintonizzato su file e impostazioni che influenzano la sicurezza dei tuoi progetti. Puoi scegliere quali politiche di sicurezza monitorare sia a livello di organizzazione che di repository, e come gestire le violazioni delle politiche. Puoi anche sviluppare o contribuire con nuove politiche.

Allstar è sviluppato come parte del progetto OpenSSF Scorecard.

Novità di Allstar

Disattivazione dei problemi indesiderati

Se Allstar sta creando problemi indesiderati, segui queste istruzioni per rinunciare.

Per iniziare

Contesto

Allstar è altamente configurabile. Ci sono tre livelli principali di controlli:

  • Livello organizzazione: Gli amministratori dell'organizzazione possono scegliere di abilitare Allstar su:
    • tutti i repository nell'organizzazione;
    • la maggior parte dei repository, tranne alcuni che hanno rinunciato;
    • solo pochi repository che hanno aderito.

Queste configurazioni vengono effettuate nel repository .allstar dell'organizzazione.

  • Livello repository: I manutentori di repository in un'organizzazione che utilizza Allstar possono scegliere di aderire o rinunciare alle applicazioni a livello di organizzazione. Nota: questi controlli a livello di repository sono funzionali solo quando è consentita la "sostituzione del repository" nelle impostazioni a livello di organizzazione. Queste configurazioni vengono effettuate nella directory .allstar del repository.

  • Livello di politica: Amministratori o manutentori possono scegliere quali politiche sono abilitate su specifici repo e quali azioni Allstar intraprende quando una politica viene violata. Queste configurazioni vengono effettuate in un file yaml di politica nel repository .allstar dell'organizzazione (amministratori) o nella directory .allstar del repository (manutentori).

Opzioni a livello di organizzazione

Prima di installare Allstar a livello di organizzazione, dovresti decidere approssimativamente su quanti repository vuoi che Allstar venga eseguito. Questo ti aiuterà a scegliere tra le strategie Opt-In e Opt-Out.

  • La strategia Opt In ti consente di aggiungere manualmente i repository su cui desideri che Allstar venga eseguito. Se non specifichi alcun repository, Allstar non verrà eseguito nonostante sia installato. Scegli la strategia Opt In se vuoi applicare politiche solo su un piccolo numero dei tuoi repository totali, o se vuoi provare Allstar su un singolo repository prima di abilitarlo su più repository. Dalla versione v4.3, sono supportati i glob per aggiungere facilmente più repository con un nome simile.

  • La strategia Opt Out (consigliata) abilita Allstar su tutti i repository e ti consente di selezionare manualmente i repository da escludere dalle applicazioni di Allstar. Puoi anche scegliere di escludere tutti i repo pubblici o tutti i repo privati. Scegli questa opzione se vuoi eseguire Allstar su tutti i repository di un'organizzazione, o se vuoi escludere solo un piccolo numero di repository o un tipo specifico (ad es., pubblico vs. privato) di repository. Dalla versione v4.3, sono supportati i glob per aggiungere facilmente più repository con un nome simile.

Opzioni di installazione

Entrambe le opzioni Installazione rapida e Installazione manuale prevedono l'installazione dell'app Allstar nella tua organizzazione GitHub. L'app Allstar è gestita da OpenSSF ed è una buona scelta per la maggior parte dei repository open source. È possibile rivedere le autorizzazioni richieste. L'app richiede accesso in lettura alla maggior parte delle impostazioni e dei contenuti dei file per rilevare la conformità della sicurezza. Richiede accesso in scrittura a problemi e controlli in modo da poter creare problemi e consentire l'azione block.

Se non si desidera utilizzare l'app Allstar gestita da OpenSSF è possibile auto-ospitare Allstar, creando la propria app Allstar. Questo fornisce il controllo diretto dell'app con il compromesso di dover configurare, proteggere, monitorare e mantenere l'app.

Utilizzo dell'app Allstar

L'installazione rapida o manuale sono consigliate a meno che non si abbiano vincoli specifici di sicurezza o conformità che impediscono di utilizzare l'app Allstar gestita da OpenSSF.

Installazione rapida

Questa opzione di installazione abiliterà Allstar utilizzando la strategia Opt Out su tutti i repository della tua organizzazione. Tutte le politiche attuali saranno abilitate e Allstar ti avviserà delle violazioni delle politiche aprendo un problema. Questo è il modo più rapido e semplice per iniziare a utilizzare Allstar e puoi comunque modificare qualsiasi configurazione in seguito.

Impegno: molto facile

Passaggi:

  1. Installa l'app Allstar
    1. Apri la pagina di installazione e fai clic su Configura
    2. Se hai più organizzazioni, seleziona quella su cui vuoi installare Allstar
    3. Seleziona "Tutti i repository" sotto Accesso al repository, anche se prevedi di disabilitare Allstar su alcuni repository in seguito
  2. Fork del repository di esempio
    1. Apri il repository di esempio e fai clic sul pulsante "Usa questo modello"
    2. Nel campo Nome repository, digita .allstar
    3. Fai clic su "Crea repository dal modello"

Ecco fatto! Tutte le attuali politiche di Allstar sono ora abilitate su tutti i tuoi repository. Allstar creerà un problema se una politica viene violata.

Per modificare qualsiasi configurazione, consulta le istruzioni per l'installazione manuale.

Installazione manuale

Questa opzione di installazione ti guiderà nella creazione di file di configurazione secondo la strategia Opt In o Opt Out. Questa opzione fornisce un controllo più granulare sulle configurazioni fin dall'inizio.

Impegno: moderato

Passaggi:

  1. Installa l'app Allstar (scegli "Tutti i repository" sotto Accesso al repository, anche se non prevedi di utilizzare Allstar su tutti i tuoi repository)
  2. Segui le istruzioni per l'installazione manuale per creare file di configurazione di Allstar a livello di organizzazione o repository e file di politica individuali.

Auto-hosting di Allstar

Auto-ospita solo se necessario! L'app Allstar richiede configurazione, protezione e manutenzione continua. Quando viene rilasciata una nuova versione di Allstar, dovrai aggiornare la tua soluzione auto-ospitata.

Vengono descritti due approcci di auto-hosting:

  • Esecuzione di Allstar come GitHub Action - Questa opzione è relativamente leggera e sfrutta GitHub Actions per eseguire i controlli di Allstar.
  • Esecuzione di Allstar come demone di servizio - Questa opzione offre il massimo livello di controllo e presuppone che tu sia in grado di eseguire un servizio persistente su un server affidabile o un orchestratore di container.
Esecuzione di Allstar come GitHub Action

Questa opzione di installazione esegue Allstar come job programmato utilizzando GitHub Actions.

Impegno: alto

Segui le istruzioni per l'installazione di GitHub Actions per:

  1. Creare una nuova app GitHub per l'uso di Allstar.
  2. Creare un repo di controllo .allstar a livello di organizzazione come descritto in installazione rapida o installazione manuale. (Ignora i passaggi per installare l'app Allstar gestita da OpenSSF nella tua organizzazione.)
  3. Configurare un'azione GitHub ricorrente in .allstar per eseguire Allstar in modalità batch.
  4. Monitorare l'attività del job e i risultati.
Esecuzione di Allstar come demone di servizio

Questa opzione di installazione esegue Allstar come processo persistente.

Impegno: molto alto

Consulta le istruzioni per l'operatore per ulteriori informazioni, inclusa la creazione di un'app Allstar, la gestione dei segreti e le variabili d'ambiente disponibili.

Politiche e azioni

Azioni

Ogni politica può essere configurata con un'azione che Allstar intraprenderà quando rileva che un repository non è conforme.

  • log: Questa è l'azione predefinita e in realtà avviene per tutte le azioni. Tutti i risultati e i dettagli dell'esecuzione delle politiche vengono registrati. I log sono attualmente visibili solo all'operatore dell'app, i piani per renderli accessibili sono in discussione.
  • issue: Questa azione crea un problema su GitHub. Viene creato un solo problema per politica e il testo descrive i dettagli della violazione della politica. Se il problema è già aperto, viene sollecitato con un commento ogni 24 ore senza aggiornamenti (attualmente non configurabile dall'utente). Se il risultato della politica cambia, viene lasciato un nuovo commento sul problema e collegato nel corpo del problema. Una volta risolta la violazione, il problema verrà chiuso automaticamente da Allstar entro 5-10 minuti.
  • fix: Questa azione è specifica per la politica. La politica apporterà le modifiche alle impostazioni di GitHub per correggere la violazione della politica. Non tutte le politiche possono supportarlo (vedi sotto).

Azioni proposte, ma non ancora implementate. Le definizioni saranno aggiunte in futuro.

  • block: Allstar può impostare un controllo dello stato di GitHub e bloccare qualsiasi PR nel repository dall'essere unito se il controllo fallisce.
  • email: Allstar invierebbe un'email agli amministratori del repository.
  • rpc: Allstar invierebbe una rpc a un sistema specifico dell'organizzazione.

Configurazione delle azioni

Due impostazioni sono disponibili per configurare l'azione issue:

  • issueLabel è disponibile a livello di organizzazione e repository. Impostandola si sovrascriverà l'etichetta predefinita allstar utilizzata da Allstar per identificare i suoi problemi.

  • issueRepo è disponibile a livello di organizzazione. Impostandola forzerà la creazione di tutti i problemi creati nell'organizzazione nel repository specificato.

Politiche

Analogamente alla configurazione di abilitazione dell'app Allstar, tutte le politiche sono abilitate e configurate con un file yaml nel repository .allstar dell'organizzazione o nella directory .allstar del repository. Come per l'app, le politiche sono opt-in per impostazione predefinita, anche l'azione predefinita log non produce risultati visibili. Un modo semplice per abilitare tutte le politiche è creare un file yaml per ogni politica con il contenuto:```yaml optConfig: optOutStrategy: true action: issue

root@kitploit:~
I dettagli di come funziona l'azione `fix` per ogni policy sono descritti di seguito. Se omesso di seguito, l'azione `fix` non è applicabile.

### Protezione del ramo

Il file di configurazione di questa policy è denominato `branch_protection.yaml`, e le [definizioni di configurazione sono qui](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/branch#OrgConfig).

La policy di protezione del ramo verifica che le [impostazioni di protezione del ramo](https://docs.github.com/en/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches) di GitHub siano configurate correttamente secondo la configurazione specificata. Il testo dell'issue descriverà quale impostazione è errata. Consulta la [documentazione di GitHub](https://docs.github.com/en/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches) per correggere le impostazioni.

L'azione `fix` modificherà le impostazioni di protezione del ramo per renderle conformi alla configurazione policy specificata.

### Manufatti binari

Il file di configurazione di questa policy è denominato `binary_artifacts.yaml`, e le [definizioni di configurazione sono qui](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/binary#OrgConfig).

Questa policy incorpora il [controllo di scorecard](https://github.com/ossf/scorecard/#scorecard-checks). Rimuovi il manufatto binario dal repository per raggiungere la conformità. Poiché i risultati di scorecard possono essere verbosi, potrebbe essere necessario eseguire [scorecard stesso](https://github.com/ossf/scorecard) per visualizzare tutte le informazioni dettagliate.

### CODEOWNERS

Il file di configurazione di questa policy è denominato `codeowners.yaml`, e le [definizioni di configurazione sono qui](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/codeowners#OrgConfig).

Questa policy verifica la presenza di un file [`CODEOWNERS`](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) nei tuoi repository.

### Collaboratori esterni

Il file di configurazione di questa policy è denominato `outside.yaml`, e le [definizioni di configurazione sono qui](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/outside#OrgConfig).

Questa policy verifica se qualche [Collaboratore esterno](https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization) ha accesso come amministratore (predefinito) o push (opzionale) al repository. Solo i membri dell'organizzazione dovrebbero avere questo accesso, altrimenti utenti non fidati possono modificare le impostazioni a livello di amministratore e committare codice malevolo.

### SECURITY.md

Il file di configurazione di questa policy è denominato `security.yaml`, e le [definizioni di configurazione sono qui](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/security#OrgConfig).

Questa policy verifica che il repository abbia un file di policy di sicurezza in `SECURITY.md` e che non sia vuoto. L'issue creato avrà un collegamento alla [scheda di GitHub](https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository) che ti aiuta a committare una policy di sicurezza nel tuo repository.

### Workflow pericoloso

Il file di configurazione di questa policy è denominato `dangerous_workflow.yaml`, e le [definizioni di configurazione sono qui](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/workflow#OrgConfig).

Questa policy verrà eseguita su **tutti** i rami, vedi la logica [qui](https://github.com/ossf/allstar/issues/569).

Questa policy controlla i file di configurazione del workflow di GitHub Actions (`.github/workflows`) per rilevare pattern che corrispondono a comportamenti pericolosi noti. Consulta la [documentazione di OpenSSF Scorecard](https://github.com/ossf/scorecard/blob/main/docs/checks.md#dangerous-workflow) per maggiori informazioni su questo controllo.

### Verifica Scorecard generica

Il file di configurazione di questa policy è denominato `scorecard.yaml`, e le [definizioni di configurazione sono qui](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/scorecard#OrgConfig).

Questa policy esegue qualsiasi controllo di scorecard elencato nella configurazione `checks`. Tutti i controlli eseguiti devono avere un punteggio uguale o superiore all'impostazione `threshold`. Consulta la [documentazione di OpenSSF Scorecard](https://github.com/ossf/scorecard/blob/main/docs/checks.md) per maggiori informazioni su ciascun controllo.

#### Caricamento SARIF

La policy di Scorecard può opzionalmente caricare i risultati come [SARIF](https://sarifweb.azurewebsites.net/) nella scheda **Security > Code Scanning** di ciascun repository. Questo offre agli amministratori dell'organizzazione visibilità sui risultati di Scorecard insieme ad altri strumenti di sicurezza (CodeQL, Dependabot, ecc.) senza richiedere la configurazione del workflow per repository.

Per abilitare il caricamento SARIF, aggiungi il campo `upload` al tuo `scorecard.yaml`:```yaml
optConfig:
  optOutStrategy: true
action: issue
checks:
  - Binary-Artifacts
  - Signed-Releases
threshold: 8
upload:
  sarif: true

Requisiti:

  • L'App GitHub Allstar deve avere il permesso Code scanning alerts per il repository impostato su Read & write (ambito API: security_events). Gli operatori self-hosted devono aggiungere questo permesso alla loro App GitHub. L'App pubblica Allstar gestita da OpenSSF non include ancora questo permesso.
  • Il caricamento SARIF è non bloccante: se il caricamento fallisce (ad esempio a causa di permessi mancanti), il controllo delle policy procede normalmente.
  • Il rilevamento delle modifiche confronta l'ultimo commit HEAD del repository e salta la scansione e il caricamento quando il repository non è stato aggiornato dall'ultimo caricamento.

Il caricamento SARIF funziona con entrambe le modalità di distribuzione self-hosted: in esecuzione come demone di servizio o come GitHub Action.

GitHub Actions

Il file di configurazione di questa policy è actions.yaml e le definizioni di configurazione sono qui.

Questa policy controlla i file di configurazione dei workflow di GitHub Actions (.github/workflows) (e in alcuni casi le esecuzioni dei workflow) in ogni repository per assicurarsi che siano conformi alle regole (ad esempio, require, deny) definite nella configurazione a livello di organizzazione per la policy.

Repository Administrators

Il file di configurazione di questa policy è admin.yaml e le definizioni di configurazione sono qui.

Questa policy controlla che per impostazione predefinita tutti i repository debbano avere un utente o un gruppo assegnato come Amministratore. Consente di configurare facoltativamente se agli utenti è consentito essere amministratori (in contrapposizione ai team).

Future Policies

  • Assicurarsi che dependabot sia abilitato.
  • Verificare che le dipendenze siano bloccate/congelate.

Esempio di Repository di Configurazione

Vedi questo repository come esempio di configurazione di Allstar in uso. Come amministratore dell'organizzazione, considera un README.md con alcune informazioni su come Allstar viene utilizzato nella tua organizzazione.

Avanzate

Definizioni di Configurazione

  • Configurazione di abilitazione a livello di organizzazione
  • Configurazione di abilitazione per override del repository

Posizione secondaria della configurazione a livello di organizzazione

Per impostazione predefinita, i file di configurazione a livello di organizzazione, come il file allstar.yaml sopra, sono previsti in un repository .allstar. Se questo repository non esiste, viene utilizzata come posizione secondaria la directory allstar del repository .github. Per chiarire, per allstar.yaml:

PrecedenzaRepositoryPercorso
Primaria.allstarallstar.yaml
Secondaria.githuballstar/allstar.yaml

Questo vale anche per i file di configurazione a livello di organizzazione per le singole policy, come descritto di seguito.

Configurazioni delle policy del repository nel repository dell'organizzazione

Allstar cercherà anche le configurazioni delle policy a livello di repository nel repository .allstar dell'organizzazione, nella directory con lo stesso nome del repository. Questa configurazione viene utilizzata indipendentemente dal fatto che "repo override" sia disabilitato.

Ad esempio, Allstar cercherà la configurazione della policy per un dato repository myapp nel seguente ordine:

Posizione della configurazione di base e unione a livello di organizzazione

Per i file di configurazione di Allstar e delle policy a livello di organizzazione, è possibile specificare il campo baseConfig per indicare un altro repository che contiene la configurazione di base di Allstar. Questo è meglio spiegato con un esempio.

Supponiamo di avere più organizzazioni GitHub, ma di voler mantenere una singola configurazione di Allstar. La tua organizzazione principale è "acme" e il repository acme/.allstar contiene allstar.yaml:```yaml optConfig: optOutStrategy: true issueLabel: allstar-acme issueFooter: Issue created by Acme security team.

root@kitploit:~
Hai anche un'organizzazione GitHub satellite denominata "acme-sat". Vuoi
riutilizzare la configurazione principale, ma applicare alcune modifiche sopra disabilitando Allstar su
alcuni repository. Il repository `acme-sat/.allstar` contiene
`allstar.yaml`:```yaml
baseConfig: acme/.allstar
optConfig:
  optOutRepos:
  - acmesat-one
  - acmesat-two

Questo utilizzerà tutta la configurazione da acme/.allstar come configurazione base, ma poi applicherà eventuali modifiche nel file corrente sopra la configurazione base. Il metodo con cui viene applicato è descritto come JSON Merge Patch. Il baseConfig deve essere un repository GitHub <org>/<repository>.

Contribuire

Vedi CONTRIBUTING.md

Scarica lo strumento
Opt Out (Consigliato)
optOutStrategy = true
Opt In
optOutStrategy = false
Comportamento predefinito Tutti i repo sono abilitatiNessun repo è abilitato
Aggiunta manuale di repositoryL'aggiunta manuale di repo disabilita Allstar su quei repoL'aggiunta manuale di repo abilita Allstar su quei repo
Configurazioni aggiuntiveoptOutRepos: Allstar verrà disabilitato sui repo elencati

optOutPrivateRepos: se true, Allstar verrà disabilitato su tutti i repo privati

optOutPublicRepos: se true, Allstar verrà disabilitato su tutti i repo pubblici

(optInRepos: questa impostazione verrà ignorata)
optInRepos: Allstar verrà abilitato sui repo elencati

(optOutRepos: questa impostazione verrà ignorata)
Override del repository Se true: i repo possono rinunciare alle applicazioni di Allstar della propria organizzazione utilizzando le impostazioni nel proprio file repo. Le impostazioni di opt-in a livello di organizzazione che si applicano a quel repository vengono ignorate.

Se false: i repo non possono rinunciare alle applicazioni di Allstar come configurate a livello di organizzazione.
Se true: i repo possono aderire alle applicazioni di Allstar della propria organizzazione anche se non sono configurati per il repo a livello di organizzazione. Le impostazioni di opt-out a livello di organizzazione che si applicano a quel repository vengono ignorate.

Se false: i repo non possono aderire alle applicazioni di Allstar se non sono configurati a livello di organizzazione.
RepositoryPercorsoCondizione
myapp.allstar/branch_protection.yamlQuando "repo override" è consentito.
.allstarmyapp/branch_protection.yamlSempre.
.allstarbranch_protection.yamlSempre.
.githuballstar/myapp/branch_protection.yamlSe il repository .allstar non esiste.
.githuballstar/branch_protection.yamlSe il repository .allstar non esiste.