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.

Files changed (25) hide show
  1. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/detectores/detector_dos.py +26 -6
  2. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra.egg-info/PKG-INFO +1 -1
  3. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/PKG-INFO +1 -1
  4. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/pyproject.toml +1 -1
  5. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/__init__.py +0 -0
  6. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/auditoria/registro_auditoria.py +0 -0
  7. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/criptografia/cifrado_aead.py +0 -0
  8. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/criptografia/intercambio_claves.py +0 -0
  9. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/criptografia/kdf.py +0 -0
  10. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/detectores/detector_csrf.py +0 -0
  11. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/detectores/detector_keylogger.py +0 -0
  12. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/detectores/detector_sql.py +0 -0
  13. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/detectores/detector_xss.py +0 -0
  14. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/middleware_web/middleware_web.py +0 -0
  15. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/mitigacion/limitador_peticion.py +0 -0
  16. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/mitigacion/lista_bloqueo.py +0 -0
  17. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/puntuacion/puntuacion_amenaza.py +0 -0
  18. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra/utilidades.py +0 -0
  19. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra.egg-info/SOURCES.txt +0 -0
  20. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra.egg-info/dependency_links.txt +0 -0
  21. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra.egg-info/requires.txt +0 -0
  22. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/GuardianUnivalle_Benito_Yucra.egg-info/top_level.txt +0 -0
  23. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/LICENSE +0 -0
  24. {guardianunivalle_benito_yucra-0.1.55 → guardianunivalle_benito_yucra-0.1.57}/README.md +0 -0
  25. {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
- "http://api.sitio_de_inteligencia.com/blacklist/ip_list",
30
- "http://otro_sitio.com/export_ips.txt",
31
- "https://iplists.firehol.org/files/firehol_level1.netset",
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
- ip_pattern = re.compile(r'\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(/\d{1,2})?\b')
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 = set(ip_pattern.findall(response.text))
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.55
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.55
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
@@ -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.55"
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" }