What is typosquatting and how typosquatting attacks are responsible for malicious modules in npm