¿Cuáles son las implicaciones de seguridad de ejecutar procesos externos utilizando Java ProcessBuilder / Process? Por ejemplo:
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("processExecutable");
InputStream is = proc.getInputStream();
int c;
while ((c = is.read()) != -1) {
System.out.print((char) c);
}
int exitVal = proc.waitFor();
Por lo que entendí, la comunicación entre Java y los procesos externos se realiza a través de canalizaciones, por lo que me interesa lo difícil que es para alguien escuchar y obtener datos enviados de un proceso a Java en Unix. ¿Solo los usuarios registrados en la misma máquina tendrán la posibilidad de escuchar a escondidas? ¿Algún usuario registrado tendrá los administradores o usuarios potenciales o únicos en el mismo grupo, etc. que el usuario que ejecuta la aplicación Java que ejecutó el proceso externo?