As stated in the article from Hamburger Abendblatt quoted below the original meaning in the 19th century came from rats being greedy.
It meant a person who read everything excessively without caring what it was.
Later all words containing rat in german language changed their meaning. They became a humorous hint to someone being passionate about something. Another example would be the word Wasserratte describing someone who really loves to be in the water / get wet, mostly used for kids.
As stated in the other replies: Leseratte has a rather positive connotation and I never heard of it being used negatively, if not in the context stated by hiergiltdiestfu in his answer.
Diese scherzhafte Bezeichnung für einen gierigen Vielleser ist in der regionalen Variante "Leseratz" seit Mitte des 19. Jahrhunderts bekannt. Die exakte Herkunft aber ist unklar, im Unterschied zum sinnverwandten "Bücherwurm", der wohl aus einem Theaterstück Lessings von 1749 stammt. Der Ausdruck Leseratte hatte noch bis ins 20. Jahrhundert durchaus kritische Untertöne, denn damit wurde das wahl- und maßlose "Verschlingen" jedweden Lesestoffs unterstellt. Während aber die bloße "Ratte" als Bezeichnung für Menschen nach wie vor verächtlich ist, haben Wortverbindungen damit einen Bedeutungswandel erfahren. So wurde auch aus der "Wasserratte", die in Shakespeares "Kaufmann von Venedig" noch einen Piraten meinte, heute jemand, der nur leidenschaftlich ins Nass vernarrt ist.
Hamburger Abendblatt: Woher stammt der Begriff Leseratte?