Verwechslung von Abhängigkeiten. Wie ich Apple, Microsoft und Dutzende anderer Unternehmen gehackt habe

Seit ich das Programmieren gelernt habe, bewundere ich das Maß an Vertrauen, das wir in einen einfachen Befehl wie diesen setzen:





pip install package_name
      
      



, Python, , . , .





, , — Node npm



npm, pip



Python PyPI (Python Package Index), gems



Ruby … RubyGems.





, , , , . ?






, .





, , , . , typosquatting —  — .





, .





PayPal 2020 , Node.js, GitHub.





PayPal, package.json, -,  — npm, , , PayPal. npm.





, , , :





  • npm ? , PayPal ?





  • ?





  • , ?





  • ?





, .





«» Node npm , « » , . - , PayPal, , .





, , , , . , .





« DNS»

, npm , Node, , , preinstall.





, , . IP- , , , .





: ?





, , , DNS — .





DNS , . DNS-, . , , , .





,

, , .





. Python, Ruby, PyPI (Python Package Index) RubyGems .





, , .





, , , GitHub,  — , , — -.





, , ... JavaScript.





, package.json JavaScript, , . require() . Apple, Yelp Tesla — , .





2020 , @streaak , , , JavaScript, npm. .





.





, , , , : , , , , .





, , 35 , . 1000 , , , .





JavaScript , 75 % npm, , Python Ruby . , gem Ruby, , RubyGems.





 — Giant Shopify, gem Ruby shopify-cloud , , . Shopify , 30 000 .





30 000 Apple , Node, npm 2020 , . Apple, Apple ID.





, , , Apple ID, Apple , , :





, , .





Apple Apple npm. , , .





npm, , , , .





, PayPal, ? , 30 000 . , , « ».





Netflix, Yelp Uber.





« , »

« »,  —  — : ? ?





, .





, Python, — , -,  « » --extra-index-url. , pip install library, , , , , pip , :





  • library () ;





  • library (PyPI);





  • . , .





library 9000.0.0



PyPI .





, GitHub --extra-index-url , , , , Microsoft .NET Core. , , , .NET Core, , .NET.





Ruby gem install --source



, , - .





, --extra-index-url



--index-url



, « » .





JFrog Artifactory, , , «» , . , Artifactory , , . .





JFrog, , , « » , , .





Microsoft Azure Artifacts. , « ». , Azure Artifacts, , , Microsoft Office 365, Azure 40 000 .





Microsoft 3 Ways to Mitigate Risk When Using Private Package Feeds.





?

, , , -, .





, , , , .





, , , , .





. « » . - — , «», .





, :





  • Data Scientist





  • Data Analyst





  • Data Engineering









  • Fullstack- Python





  • Java-





  • QA- JAVA





  • Frontend-









  • C++





  • Unity





  • -





  • iOS-





  • Android-









  • Machine Learning





  • "Machine Learning Deep Learning"





  • " Data Science"





  • " Machine Learning Data Science" 





  • "Python -"





  • " "









  • DevOps








All Articles