
Uno scanner di vulnerabilità modulare con capacità di generazione automatica di report.
Artemis è uno scanner di vulnerabilità modulare. È lo strumento che alimenta le attività di scansione del CERT PL, controllando vari aspetti della sicurezza dei siti web e generando messaggi facili da leggere, pronti per essere inviati alle organizzazioni scansionate.
Se desideri utilizzare moduli aggiuntivi non inclusi qui a causa di licenze non compatibili con BSD, consulta il repository Artemis-modules-extra.
Se desideri modificare/sviluppare Artemis, leggi prima Sviluppo.
Artemis è un software sperimentale, in fase di sviluppo attivo – utilizzalo a tuo rischio.
Per parlare di Artemis, unisciti al server Discord!
Artemis è stato presentato al BlackHat USA 2024 a Las Vegas e al BlackHat Europe 2025 a Londra. Per maggiori informazioni su Artemis al BlackHat clicca qui e qui.
Il progetto è stato presentato anche al 71° TF-CSIRT Meeting a Copenaghen, al 69° TF-CSIRT Meeting a Bucarest e alla conferenza CONFidence, tra gli altri.

Lo sviluppo di Artemis è stato supportato da Google Summer of Code 2024 e 2025.
Per un elenco aggiornato delle funzionalità, consulta la documentazione.
La più importante è la possibilità di esportare facilmente report come:
I seguenti indirizzi contengono dati di sistema di controllo versione:
Rendere pubblico un repository di codice può permettere a un attaccante di conoscere il funzionamento interno di un sistema e, se contiene password o chiavi API, ottenere accesso non autorizzato. Tali dati non dovrebbero essere pubblicamente accessibili.
I seguenti indirizzi contengono vecchie versioni di Joomla:
- https://subdomain2.example.com:443 - Joomla 2.5.4
Se un sito non è più utilizzato, consigliamo di disattivarlo per eliminare il rischio di sfruttamento di vulnerabilità note nelle versioni precedenti di Joomla. In caso contrario, consigliamo aggiornamenti regolari del core di Joomla e dei plugin.
La possibilità di preparare automaticamente tali report ci ha permesso di notificare agli enti della nostra constituency centinaia di migliaia di vulnerabilità.

Per avviare una versione localmente modificata di Artemis, esegui:
./scripts/start --mode=development
Questo script copia automaticamente il file di ambiente di esempio (env.example) in .env se non esiste. Puoi quindi configurare le impostazioni nel file .env secondo le tue esigenze. Ciò include la personalizzazione dello user-agent impostando la variabile CUSTOM_USER_AGENT, oltre ad altri parametri rilevanti. Per un elenco completo delle variabili di configurazione e delle loro descrizioni, consulta la sezione Configurazione nella documentazione.
L'immagine di Artemis viene quindi creata localmente (dal codice che stai sviluppando) e non scaricata da Docker Hub.
Per web, potrai vedere i risultati delle modifiche al codice nella pagina senza ricaricare l'intero container.
Per eseguire i test, usa:
./scripts/test
[!AVVERTENZA] Evita di usare direttamente
python -m unittestcomecommand:indocker-compose.test.yaml.
Quando Python viene eseguito come PID 1, i sottoprocessi, specialmente i binari Go come Nuclei, soffrono di I/O lento o degradato poiché PID 1 gestisce segnali e stdout/stderr in modo diverso.
Usa invece unittest-parallel, poiché i suoi processi worker evitano il problema del PID 1.
Artemis utilizza pre-commit per eseguire linter e formattare il codice.
pre-commit viene eseguito sulla CI per verificare che il codice sia formattato correttamente.
Per eseguirlo localmente, usa:
pre-commit run --all-files
Per configurare pre-commit in modo che venga eseguito prima di ogni commit, usa:
pre-commit install
Usiamo pip-tools per gestire le dipendenze. Per aggiungere o aggiornare una dipendenza:
requirements.in (o docs/requirements.in per le dipendenze della documentazione),./scripts/compile-requirements per generare i file requirements.txt bloccati,.in che .txt.Per compilare la documentazione, usa:
cd docs
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
make html
Fai riferimento alla documentazione.
I contributi sono benvenuti! Apprezzeremo sia idee per nuovi moduli di Artemis (aggiunte come issue su GitHub) sia pull request con nuovi moduli o miglioramenti del codice.
Per quanto possa sembrare ovvio, ti ricordiamo gentilmente che contribuendo ad Artemis accetti che la licenza BSD 3-Clause si applichi automaticamente al tuo contributo, senza necessità di ulteriori dichiarazioni.
Prima di aprire una PR, assicurati di installare pre-commit:
pre-commit installEd eseguilo sulle tue modifiche.
Un enorme ringraziamento alle seguenti persone che hanno contribuito allo sviluppo di Artemis, in particolare al club scientifico KN Cyber del Politecnico di Varsavia che ha avviato il progetto!
![]() Bornunique911 💻 |
![]() Ridham Bhagat 💻 |
![]() Emmanuel Ferdman 💻 |