GuardianUnivalle-Benito-Yucra 0.1.33__tar.gz → 0.1.34__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.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/detectores/detector_keylogger.py +24 -4
  2. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra.egg-info/PKG-INFO +1 -1
  3. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/PKG-INFO +1 -1
  4. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/pyproject.toml +1 -1
  5. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/__init__.py +0 -0
  6. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/auditoria/registro_auditoria.py +0 -0
  7. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/criptografia/cifrado_aead.py +0 -0
  8. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/criptografia/intercambio_claves.py +0 -0
  9. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/criptografia/kdf.py +0 -0
  10. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/detectores/detector_csrf.py +0 -0
  11. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/detectores/detector_dos.py +0 -0
  12. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/detectores/detector_sql.py +0 -0
  13. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/detectores/detector_xss.py +0 -0
  14. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/middleware_web/middleware_web.py +0 -0
  15. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/mitigacion/limitador_peticion.py +0 -0
  16. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/mitigacion/lista_bloqueo.py +0 -0
  17. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/puntuacion/puntuacion_amenaza.py +0 -0
  18. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra/utilidades.py +0 -0
  19. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra.egg-info/SOURCES.txt +0 -0
  20. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra.egg-info/dependency_links.txt +0 -0
  21. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra.egg-info/requires.txt +0 -0
  22. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/GuardianUnivalle_Benito_Yucra.egg-info/top_level.txt +0 -0
  23. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/LICENSE +0 -0
  24. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/README.md +0 -0
  25. {guardianunivalle_benito_yucra-0.1.33 → guardianunivalle_benito_yucra-0.1.34}/setup.cfg +0 -0
@@ -106,18 +106,35 @@ def detectar_archivos_sospechosos() -> List[str]:
106
106
  return hallazgos
107
107
 
108
108
 
109
- def detectar_programas_instalados() -> List[str]:
109
+ def detectar_programas_instalados() -> list[str]:
110
110
  """
111
- Analiza programas instalados en el sistema (solo Windows)
112
- para encontrar software potencialmente malicioso.
111
+ Analiza programas instalados en Windows para detectar software potencialmente malicioso.
112
+ Funciona incluso si WMIC está en otra ruta o no está disponible.
113
113
  """
114
114
  hallazgos = []
115
115
  if platform.system() != "Windows":
116
116
  return hallazgos
117
117
 
118
+ # Rutas posibles de WMIC
119
+ posibles_rutas = [
120
+ "C:\\Windows\\System32\\wbem\\WMIC.exe",
121
+ "C:\\Windows\\SysWOW64\\wbem\\WMIC.exe",
122
+ "C:\\Windows\\System32\\WMIC.exe",
123
+ ]
124
+
125
+ wmic_path = None
126
+ for ruta in posibles_rutas:
127
+ if os.path.exists(ruta):
128
+ wmic_path = ruta
129
+ break
130
+
131
+ # Si no se encontró ruta, intenta usarlo directamente (PATH)
132
+ if wmic_path is None:
133
+ wmic_path = "wmic"
134
+
118
135
  try:
119
136
  salida = subprocess.check_output(
120
- ["wmic", "product", "get", "name"], stderr=subprocess.DEVNULL
137
+ [wmic_path, "product", "get", "name"], stderr=subprocess.DEVNULL, shell=True
121
138
  ).decode("utf-8", errors="ignore")
122
139
 
123
140
  for linea in salida.splitlines():
@@ -125,6 +142,9 @@ def detectar_programas_instalados() -> List[str]:
125
142
  if any(pat in nombre for pat in PATRONES_NOMBRES):
126
143
  hallazgos.append(nombre)
127
144
  registrar_evento("Keylogger", f"Software sospechoso: {nombre}")
145
+
146
+ except FileNotFoundError:
147
+ logger.warning("WMIC no encontrado. No se puede listar programas instalados.")
128
148
  except Exception as e:
129
149
  logger.error("Error al listar programas instalados: %s", e)
130
150
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GuardianUnivalle-Benito-Yucra
3
- Version: 0.1.33
3
+ Version: 0.1.34
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.33
3
+ Version: 0.1.34
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.33"
7
+ version = "0.1.34"
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" }