Improve PoC collection using GitHub archive data

Aperta
#2,429 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
43/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
github, github-actions, python
Ambito
backend

Direzione di ricerca

Nell’issue non sono specificati file o test particolari. Per prima cosa, individua l’attuale pipeline di raccolta dei PoC che acquisisce dati da nomi-sec/PoC-in-GitHub e il workflow CI che lo esegue. Esamina come vengono individuati, archiviati e convalidati i PoC, quindi progetta un percorso di ingestione parallelo che utilizzi i dati di giant-hourly-archive e il confidence layer proposto. Il lavoro sarà completato quando il collector utilizzerà la nuova sorgente in modo riproducibile, con un output di convalida chiaro che migliori l’affidabilità dei risultati e possa essere verificato dai controlli esistenti della pipeline.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

We are currently collecting PoCs primarily from this repository:

From my understanding, this repository is generated by an automated bot.

There is another project doing something very similar:

The general approach seems to be running a CI job that uses the GitHub API to search for repositories containing CVE IDs and then collecting the results.

However, I think we could use a cleaner and potentially more reliable approach for collecting PoCs.

Instead of repeatedly querying the GitHub API for every CVE ID, we could use the GitHub hourly archive data:

The idea would be to process the archive data locally and search for CVE IDs across newly indexed GitHub content. This could significantly reduce the number of GitHub API requests and give us a more reproducible dataset.

We could then add an extra validation layer to determine whether a discovered repository is actually a valid PoC/Exploit repository. For example, this could involve:

  • Manual review by contributors for higher-confidence results.
  • An LLM-based validation step that reads the repository metadata/content and determines whether it actually contains a PoC or exploit related to the identified CVE.
  • Potentially combining both approaches to assign a confidence level to each result.

As a proof of concept, I’ve tested this approach with:

Lingua principale
Python
Stelle
716
Fork
347
Merge medio
13h 47m
PR unite (30g)
8

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di aboutcode-org/vulnerablecode

Tutte le issue di aboutcode-org/vulnerablecode

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.