Ricerca su Code Repository: Code Repositories (T1593.003)

La ricerca in repository di codice pubblici è una tecnica di Reconnaissance (TA0043) con cui un avversario esamina piattaforme come GitHub, GitLab, SourceForge e BitBucket per raccogliere informazioni utili al targeting di un'organizzazione vittima. Il codice sorgente esposto pubblicamente racconta molto più di quanto gli sviluppatori immaginino: linguaggi e librerie in uso, nomi di dipendenti presenti negli autori dei commit, endpoint interni, e — nel caso peggiore — credenziali o API key trapelate per errore.

Questa attività si colloca nelle fasi iniziali della kill chain, prima di qualsiasi contatto diretto con i sistemi bersaglio. Le informazioni raccolte alimentano il Phishing for Information, la compromissione di account e infrastrutture, oppure abilitano direttamente l'Initial Access tramite l'uso di credenziali valide.

È importante distinguere questa tecnica dalla Collection su repository interni e privati: qui il focus è esclusivamente su sorgenti pubbliche e accessibili a chiunque. Il rischio è concreto e ricorrente: un singolo commit con un token hardcoded può aprire la porta a un'intera infrastruttura cloud.

Secondo i dati disponibili, la tecnica è associata a 4 gruppi APT, 1 software e 2 mitigazioni, a conferma che si tratta di un metodo maturo e ampiamente adottato, tanto da avversari opportunistici quanto da attori sofisticati orientati al furto di segreti applicativi.

Trattandosi di una tecnica pre-compromise, in un ingaggio red team l'obiettivo è simulare la scoperta di segreti senza intaccare la produzione, replicando il comportamento di un attaccante che setaccia le repository pubbliche dell'organizzazione target.

Il punto di partenza è la ricognizione OSINT delle repository riconducibili al bersaglio. Con la CLI ufficiale di GitHub gh (open source) si enumerano progetti e organizzazioni:

gh search repos --owner

gh api /orgs//members

Quest'ultima chiamata restituisce i membri pubblici, utili per costruire liste di dipendenti da riusare in fasi successive. Per l'analisi della cronologia dei commit — dove spesso restano segreti rimossi solo dall'ultima versione — è indispensabile clonare l'intero storico e scansionarlo.

Gli strumenti di riferimento per la caccia ai secret sono:

  • TruffleHog (open source): scansiona repository, commit e branch cercando pattern di chiavi e verificandone la validità live.
  • Gitleaks (open source): rilevamento rapido basato su regole regex, integrabile in pipeline.
  • git-secrets (open source, di AWS Labs): pensato per bloccare i commit contenenti credenziali.

Una catena tipica: si clona in profondità la repo con git clone, poi si lancia

trufflehog git file://./repo-clonata --results=verified

per isolare solo i segreti confermati come attivi, riducendo il rumore. Con Gitleaks l'equivalente è

gitleaks detect --source ./repo-clonata --report-format json

Oltre ai secret, il red teamer profila lo stack tecnologico leggendo file di dipendenze (package.json, requirements.txt, pom.xml) per prevedere librerie vulnerabili. I nomi degli autori estratti da git log --format='%ae' alimentano campagne di Phishing for Information o attacchi a credenziali valide.

Un dettaglio operativo emerso da minacce reali: il malware Shai-Hulud cerca nelle repository altri progetti compromessi tramite marcatori predefiniti, come la stringa "Second Coming" combinata con un identificatore alfanumerico di 18 caratteri. In laboratorio questa logica si replica con ricerche mirate via gh search code su pattern noti, per comprendere come un worm supply-chain propaga la ricognizione.

Mantieni l'ingaggio lab-safe: opera solo su repository pubbliche autorizzate nel perimetro, non tentare l'uso reale dei segreti trovati e documenta ogni finding con hash del commit e timestamp per il report di remediation.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.