Is there a rule regarding "infested with" and "infested by"? Which is more appropriate?
Both are correct, infested with has a more idiomatic usage. Insects, vermin or other nuisances may infest something. The object of the infestation (e.g., a place, a person, an animal) is infested with (or occasionally by) that nuisance. As a modifier, infested is always hyphenated with the preceding word (e.g., a rat-infested cabin).
Ngram: infested with vs infested by.
Infested with something:
- to be contaminated with a swarm or throng of some pest. (*Typically: be ~; get ~.) All the campers are infested with lice. The dog is infested with ticks.
(McGraw-Hill Dictionary of American Idioms and Phrasal Verbs)
One of them is a passive and the other is an adjectival construction, since "infest" has both a derivationally related adjective in "-ed" and a syntactically related passivized verb in "-ed". Thus, "invested" is ambiguous between being an adjective derived from the verb "invest" or being an inflectional passive form of the verb "invest". The adverb "very" cannot be used with verbs,
*Termites very infest our house. *Our house is very infested by termites. Our house is very infested with termites.
So whether "by" or "with" is appropriate depends on what is meant. Charles Fillmore once compared
The house was destroyed by fire. The house was destroyed with fire.
and proposed that the first makes "fire" an Instrument and does not imply the presence of any Agent for the event described, while the second does imply there was some personal Agent who could be accused of the destruction, though that Agent is not specified. Applying that to your example, I'll suggest that it would be "infested by" if the infestation is not an event you could blame a person for.