The problem with using an XSS scanner are:
a) it's slow (takes a lot of time, even for multi-threaded vuln scanners to do this sort of work)
b) it's redundant (everyone ends up scanning the same thing - which is why the flash worm concept was so important to viral research)
c) it's very difficult to find persistent XSS - not impossible - just very difficult, compared to reflected XSS.
One thing we have to keep in mind is that the worm author probably has prior knowledge of the site and can release multiple versions of the same code at different times, or use a series of command and control. Someone mentioned it may get deleted, but that's a form of command. If the C&C isn't there, switch to C&C#2. People have built complex encryption into JavaScript, you could easily keep the payload intact until the C&C isn't there. Really, that's obfuscation, because it's easy for anyone like us to mimic that same behavior with a proxy and test the results of removing the C&C before it happens so we can find C&C#2 ahead of time.
- RSnake
Gotta love it.
http://ha.ckers.org