Nowadays, organizations are moving key assets to the cloud and using web-based services (thin clients) instead of desktop software. Cloud and commodity software can improve patch compliance and reduce complexity, but can also increase an organization's attack surface by making important assets directly accessible from the public internet. This extends beyond websites to the codebase and code deployment tools, which may be far less secure compared to the production platform, and can be used to inject malicious code into it. Organizations are also adopting cloud-based email and productivity tools (e.g. Office365) which can expose sensitive internal data through phishing attacks. APIs are also another point of exposure if they are designed with weak security controls.