Escàner de vulnerabilitats
Simula un escaneig de ports i converteix els oberts en troballes prioritzades, amb la seva severitat i la seva mitigació.
Seguretat · Python · Demo navegable
El problema
No es pot protegir el que no se sap que està exposat. La gestió de vulnerabilitats comença per l’inventari —quins ports són oberts i quin servei corre a cadascun— i segueix pel que gairebé ningú no lliura: l’ordre en què cal arreglar-ho.
Què fa
- Recorre un conjunt de ports habituals i retorna els oberts amb el seu servei.
- Associa cada port obert al seu risc conegut: credencials en clar a FTP, accés remot sense xifrar a Telnet, HTTP sense HTTPS, administració exposada.
- Exporta un informe estructurat en JSON amb les troballes i la mitigació recomanada per a cadascuna.
- L’escaneig és simulat: no genera trànsit de xarxa, així que es pot executar a qualsevol lloc sense tocar sistemes aliens.
El que es va decidir en construir-lo
- L’escaneig és una simulació, i es diu a la primera línia
- No surt ni un sol paquet de la màquina: un port es declara obert tirant d’un generador amb llavor fixa. Està declarat al codi, al manual i a la mateixa pantalla, perquè ensenyar un informe de ports oberts sense dir que és fictici seria una altra cosa molt diferent.
- Les regles són una taula, no una cadena de condicions
- Cada regla declara quins ports han d’estar oberts i quins tancats per disparar-se. Així, afegir un servei és afegir una fila i l’informe no es pot separar del catàleg. Amb una cadena de condicions, la regla nova s’oblida a l’informe i ningú no se n’assabenta.
- El resum anomena la pitjor troballa real
- El resum executiu assenyalava sempre el mateix servei com el risc principal, fins i tot en execucions on aquell port sortia tancat. Ara surt de la troballa que de debò encapçala la llista. Un informe que anomena un risc que l’escaneig no va trobar és pitjor que no tenir informe: és l’única línia que un equip d’operacions llegeix.
- Un port tancat també es publica
- L’informe llista els vuit ports del catàleg amb el seu veredicte, no només els oberts. Sense els tancats només es veu la meitat del que es va comprovar, i qui llegeix no pot distingir un port que està bé d’un port que ningú no va mirar.
Fins on arriba
- No escaneja res. El resultat de cada port se sorteja amb una llavor fixa i l’adreça objectiu és privada i fictícia: és una peça didàctica sobre com es prioritza i es comunica una troballa, no una eina d’auditoria.
- No hi ha base de dades de vulnerabilitats ni puntuació estàndard. Les quatre severitats són etiquetes escrites a mà a cada regla, ordenades entre si.
- No identifica serveis ni versions. Si el port vint-i-dos surt obert, l’informe diu que és accés remot perquè així es diu a la taula, no perquè s’hagi parlat amb res.
- El catàleg és tancat: vuit ports i sis regles. No hi ha descobriment d’equips, ni rangs, ni protocol sense connexió.
Construït amb
- Python