La gran duda que tengo es si sería detectable, en peticiones curl entiendo que puedo falsificar el user agent, ¿pero sería la mejor manera?
La mejor forma es user agent valido, headers validos concordes con el user agent (No envía los mismos headers firefox que safari), ip valida y sobretodo factor humano, es decir, no siempre aciertes en poner el password, nunca hagas las cosas tan rápido con un bot, esperate unos segundos como si estuvieras mirando lo que te muestra la petición. Y así todo, simeplemente haz que se comporte como un humano.
Con casperjs puedes ejecutar el javascript de la página, pero si puedes hacerlo a base de php mejor, ya que casperjs es muy pesado y si lo haces en casperjs intenta bajar un nivel y hacerlo con phantomjs que es ma liviano que casperjs ya que es el motor que usa casperjs.
si se os ocurre alguna herramienta o framewrok.
No conozco ningún framework para crear bots. Antes trabajaba con esto, cuando me cambiaron de tareas me quede con ganas de seguir con los bots, así que hace tiempo que estoy creando unas clases para el manejo de enviar y recibir info de las páginas, pero es un poco... feo, no uso frameworks ni nada por el estilo y siempre quiero arreglarlo, pero siempre acabo ampliando el bot.
Si te interesa te puedo mostrar la lógica que uso y los scripts.
saludos.