GuardianUnivalle-Benito-Yucra 0.1.55__tar.gz → 0.1.57__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of GuardianUnivalle-Benito-Yucra might be problematic. Click here for more details.
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/detectores/detector_dos.py +26 -6
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra.egg-info/PKG-INFO +1 -1
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/PKG-INFO +1 -1
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/pyproject.toml +1 -1
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/__init__.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/auditoria/registro_auditoria.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/criptografia/cifrado_aead.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/criptografia/intercambio_claves.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/criptografia/kdf.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/detectores/detector_csrf.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/detectores/detector_keylogger.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/detectores/detector_sql.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/detectores/detector_xss.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/middleware_web/middleware_web.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/mitigacion/limitador_peticion.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/mitigacion/lista_bloqueo.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/puntuacion/puntuacion_amenaza.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/utilidades.py +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra.egg-info/SOURCES.txt +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra.egg-info/dependency_links.txt +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra.egg-info/requires.txt +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra.egg-info/top_level.txt +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/LICENSE +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/README.md +0 -0
- {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/setup.cfg +0 -0
|
@@ -26,9 +26,26 @@ if not logger.handlers:
|
|
|
26
26
|
# =====================================================
|
|
27
27
|
# URLs CONCEPTUALES de donde EXTRAERÍAS IPs/CIDR
|
|
28
28
|
IP_BLACKLIST_SOURCES = [
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
|
|
29
|
+
# 1. FireHOL (Agregador General de Nivel 1) - Ya funciona
|
|
30
|
+
"https://iplists.firehol.org/files/firehol_level1.netset",
|
|
31
|
+
|
|
32
|
+
# 2. Blocklist.de (Ataques Web) - Bruteforce contra Webservers
|
|
33
|
+
"http://lists.blocklist.de/lists/web.txt",
|
|
34
|
+
|
|
35
|
+
# 3. SANS DShield (Escaneo y Ataque de Alto Riesgo) - IPs más activas en las últimas 24h
|
|
36
|
+
"https://feeds.dshield.org/top20.txt",
|
|
37
|
+
|
|
38
|
+
# 4. Abuse.ch Feodo Tracker (Botnets C&C) - Hosts de C&C activos de troyanos
|
|
39
|
+
"https://feodotracker.abuse.ch/downloads/ipblocklist.txt",
|
|
40
|
+
|
|
41
|
+
# 5. Abuse.ch URLhaus (Hosts de Malware) - IPs que distribuyen malware
|
|
42
|
+
"https://urlhaus.abuse.ch/downloads/hostblocklist/",
|
|
43
|
+
|
|
44
|
+
# 6. Emerging Threats (Open) - IPs conocidas por actividad de ataque general
|
|
45
|
+
"https://rules.emergingthreats.net/fwrules/emerging-tor.txt",
|
|
46
|
+
|
|
47
|
+
# 7. Tor Project (Nodos de Salida) - Bloquea usuarios que se conectan vía Tor Exit Nodes
|
|
48
|
+
"https://check.torproject.org/torbulkexitlist?ip=1.1.1.1"
|
|
32
49
|
]
|
|
33
50
|
|
|
34
51
|
# Cabeceras para simular un navegador
|
|
@@ -46,17 +63,20 @@ def fetch_and_parse_blacklists() -> Set[str]:
|
|
|
46
63
|
"""
|
|
47
64
|
global_blacklist: Set[str] = set()
|
|
48
65
|
# Patrón Regex para IPs (admite también rangos CIDR)
|
|
49
|
-
|
|
66
|
+
|
|
67
|
+
ip_pattern = re.compile(r'\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?:/\d{1,2})?\b')
|
|
50
68
|
|
|
51
69
|
for url in IP_BLACKLIST_SOURCES:
|
|
52
70
|
try:
|
|
53
71
|
response = requests.get(url, headers=SCRAPING_HEADERS, timeout=15)
|
|
54
72
|
response.raise_for_status()
|
|
55
73
|
|
|
56
|
-
found_ips =
|
|
74
|
+
found_ips = ip_pattern.findall(response.text)
|
|
57
75
|
|
|
58
76
|
# Limpieza
|
|
59
|
-
cleaned_ips = {ip[0] for ip in found_ips if ip[0] not in ('0.0.0.0', '255.255.255.255')}
|
|
77
|
+
#cleaned_ips = {ip[0] for ip in found_ips if ip[0] not in ('0.0.0.0', '255.255.255.255')}
|
|
78
|
+
cleaned_ips = {ip for ip in found_ips if ip not in ('0.0.0.0', '255.255.255.255')}
|
|
79
|
+
|
|
60
80
|
|
|
61
81
|
global_blacklist.update(cleaned_ips)
|
|
62
82
|
logger.info(f"[Threat Intel] Éxito al obtener {len(cleaned_ips)} IPs/CIDR de {url}")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GuardianUnivalle-Benito-Yucra
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.57
|
|
4
4
|
Summary: Middleware y detectores de seguridad (SQLi, XSS, CSRF, DoS, Keylogger) para Django/Flask
|
|
5
5
|
Author-email: Andres Benito Calle Yucra <benitoandrescalle035@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GuardianUnivalle-Benito-Yucra
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.57
|
|
4
4
|
Summary: Middleware y detectores de seguridad (SQLi, XSS, CSRF, DoS, Keylogger) para Django/Flask
|
|
5
5
|
Author-email: Andres Benito Calle Yucra <benitoandrescalle035@gmail.com>
|
|
6
6
|
License: MIT
|
{guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/pyproject.toml
RENAMED
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "GuardianUnivalle-Benito-Yucra" # usar mayúsculas consistente
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.57"
|
|
8
8
|
description = "Middleware y detectores de seguridad (SQLi, XSS, CSRF, DoS, Keylogger) para Django/Flask"
|
|
9
9
|
authors = [
|
|
10
10
|
{ name = "Andres Benito Calle Yucra", email = "benitoandrescalle035@gmail.com" }
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|