One of the big problems with scanning web apps (including APIs) is how to explore them.
If you cant explore an app efferctively then you cannot attack it effectively.
If you have a web app designed for humans to use then the best option is to use a human to explore it, manually.
Obviously thats not good for automation, so we provide the 2 spiders:
- The traditional spider is fast but doesnt not understand JavaScript so is not so good for 'modern' web apps
- The AJAX spider launches browsers which handle JavaScript but is slower than the traditional spider.
However if you have a web app which is designed for other services (ie APIs) rather than humans then the spiders are typically not so useful.
APIs do not typically provide a UI that humans or the spiders can use to explore them.
Instead APIs are typically defined using definitions like:
If you have these definitions then you can import them into ZAP as a much more effective way of exploring your API.
Does that make sense?
Cheers,
Simon