maybe: comprueba qué hace realmente un comando antes de hacerlo

¿Cuantas veces has ejecutado algún script en Linux confiando ciegamente en que hará su "supuesto" cometido? ¿Y encima como root? No corras más riesgos innecesarios...

maybe es una utilidad que permite validar las funciones que realiza un comando antes de llevarlas a cabo. Para ello ejecuta procesos bajo el control de ptrace (con la ayuda de la biblioteca Python-ptrace). Cuando se intercepta una llamada al sistema que está a punto de realizar cambios en el sistema de archivos, registra esa llamada y luego modifica los registros de la CPU para que redireccione la llamada a un ID de syscall no válido (convirtiéndolo así en un no-op) y devuelve el valor de esa llamada no-op a uno que indica el éxito de la llamada original.

Como resultado, el proceso cree que todo lo que está tratando de hacer está sucediendo realmente, cuando en realidad no hay nada.


Por el momento es completamente funcional en Linux, tiene soporte limitado en FreeBSD y OpenBSD (los subprocesos no pueden ser interceptados) y para OS X está pendiente hasta que soporte python-trace.

Para instalarlo si tienes Python 2.7+/3.2+ y el administrador de paquetes pip todo lo que necesitas es ejecutar:

pip install maybe

ya sea como superusuario o desde un entorno virtualenv. Para desarrollo, también puedes clonar el repositorio de maybe e instalar el paquete:

pip install -e .

Luego basta con ejecutar:



Fuente: https://github.com/p-e-w/maybe

Comentarios