GuardianUnivalle-Benito-Yucra 0.1.31__tar.gz → 0.1.32__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.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/detectores/detector_keylogger.py +22 -22
  2. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra.egg-info/PKG-INFO +1 -1
  3. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/PKG-INFO +1 -1
  4. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/pyproject.toml +1 -1
  5. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/__init__.py +0 -0
  6. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/auditoria/registro_auditoria.py +0 -0
  7. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/criptografia/cifrado_aead.py +0 -0
  8. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/criptografia/intercambio_claves.py +0 -0
  9. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/criptografia/kdf.py +0 -0
  10. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/detectores/detector_csrf.py +0 -0
  11. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/detectores/detector_dos.py +0 -0
  12. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/detectores/detector_sql.py +0 -0
  13. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/detectores/detector_xss.py +0 -0
  14. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/middleware_web/middleware_web.py +0 -0
  15. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/mitigacion/limitador_peticion.py +0 -0
  16. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/mitigacion/lista_bloqueo.py +0 -0
  17. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/puntuacion/puntuacion_amenaza.py +0 -0
  18. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra/utilidades.py +0 -0
  19. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra.egg-info/SOURCES.txt +0 -0
  20. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra.egg-info/dependency_links.txt +0 -0
  21. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra.egg-info/requires.txt +0 -0
  22. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/GuardianUnivalle_Benito_Yucra.egg-info/top_level.txt +0 -0
  23. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/LICENSE +0 -0
  24. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/README.md +0 -0
  25. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.32}/setup.cfg +0 -0
@@ -20,6 +20,7 @@ Algoritmos:
20
20
  * Fórmula: S_keylogger = w_keylogger * (procesos + archivos + instalaciones)
21
21
  """
22
22
 
23
+ """ E:\EcuacionPotosi\GuardianUnivalle-Benito-Yucra\GuardianUnivalle_Benito_Yucra\detectores\detector_keylogger.py """
23
24
  from __future__ import annotations
24
25
  import psutil
25
26
  import os
@@ -64,13 +65,10 @@ class KEYLOGGERDefenseMiddleware(MiddlewareMixin):
64
65
  Guarda los resultados en el objeto request para uso posterior.
65
66
  """
66
67
  try:
67
- resultado = self.detector.ejecutar_escaneo()
68
+ # Detecta en modo interactivo
69
+ resultado = self.detector.ejecutar_escaneo(modo_interactivo=True)
68
70
  request.keylogger_attack_info = resultado
69
71
  except Exception as e:
70
- # Evita que un error detenga Django
71
- import logging
72
-
73
- logger = logging.getLogger("keyloggerdefense")
74
72
  logger.error("Error en KEYLOGGERDefenseMiddleware: %s", e)
75
73
 
76
74
 
@@ -165,7 +163,7 @@ class KEYLOGGERDefense:
165
163
  o software espía potencialmente malicioso.
166
164
  """
167
165
 
168
- def ejecutar_escaneo(self):
166
+ def ejecutar_escaneo(self, modo_interactivo=False):
169
167
  procesos = detectar_procesos_sospechosos()
170
168
  archivos = detectar_archivos_sospechosos()
171
169
  programas = detectar_programas_instalados()
@@ -173,34 +171,36 @@ class KEYLOGGERDefense:
173
171
  total_hallazgos = len(procesos) + len(archivos) + len(programas)
174
172
  score = calcular_score_keylogger(total_hallazgos)
175
173
 
174
+ evento = {
175
+ "tipo": "Keylogger",
176
+ "procesos": procesos,
177
+ "archivos": archivos,
178
+ "programas": programas,
179
+ "score": score,
180
+ "descripcion": [],
181
+ }
182
+
176
183
  if total_hallazgos > 0:
177
- descripcion = [
184
+ evento["descripcion"] = [
178
185
  f"Procesos sospechosos: {len(procesos)}",
179
186
  f"Archivos sospechosos: {len(archivos)}",
180
187
  f"Programas sospechosos: {len(programas)}",
181
188
  ]
189
+ if modo_interactivo:
190
+ # Retornar hallazgos para mostrar al usuario antes de bloquear
191
+ return evento
182
192
 
183
- logger.warning("Keylogger detectado: %s ; nivel: %.2f", descripcion, score)
184
-
185
- evento = {
186
- "tipo": "Keylogger",
187
- "descripcion": descripcion,
188
- "procesos": procesos,
189
- "archivos": archivos,
190
- "programas": programas,
191
- "score": score,
192
- }
193
-
193
+ # Si no es interactivo, registra y bloquea automáticamente
194
194
  registrar_evento(
195
195
  tipo="Keylogger",
196
196
  descripcion=f"Detectados {total_hallazgos} elementos sospechosos.",
197
197
  severidad="ALTA" if score >= 0.5 else "MEDIA",
198
198
  )
199
-
200
199
  return evento
201
- else:
202
- logger.info("Sin procesos, archivos o programas sospechosos detectados.")
203
- return {"tipo": "Keylogger", "descripcion": "Sin hallazgos", "score": 0.0}
200
+
201
+ # Si no hay hallazgos
202
+ evento["descripcion"] = ["Sin hallazgos"]
203
+ return evento
204
204
 
205
205
 
206
206
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GuardianUnivalle-Benito-Yucra
3
- Version: 0.1.31
3
+ Version: 0.1.32
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.31
3
+ Version: 0.1.32
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.31"
7
+ version = "0.1.32"
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" }