JFrog security team has recently identified hundreds of malicious packages which are most likely created to target Azure developers. The report says that precisely there are 217 packages listed in the list of malicious packages aimed to steal PII (Personal Identifiable Information) information such as user names, home directories, IP addresses, and DNS configurations of the victim systems. It is recommended to know how to protect your Azure development environment from these malicious npm packages.
JFrog team says that after manual inspection of these packages, they found that this was a targeted attack against all npm developers who use packages under @azure, @azure-rest, @azure-tests, @azure-tools, and @cadl-lang scope.
“After manually inspecting some of these packages, it became apparent that this was a targeted attack against the entire @azure npm scope, by an attacker that employed an automatic script to create accounts and upload malicious packages that cover the entirety of that scope.”
Attackers used the typosquatting attack method to perform the attack. Under this method, attackers simply create a new (malicious) package with the same name as an existing @azure scope package without the scope name. Moreover, massive downloads of this set of legitimate packages eased the attacker’s task of dropping malicious packages on victim systems.
In addition to the typosquatting infection method, extremely high version numbers have been used in the malicious packages, indicative of a dependency confusion attack. “A possible conjecture is that the attacker tried to target developers and machines running from internal Microsoft/Azure networks and the typosquatting-based targeting of regular npm users. As mentioned, we did not pursue research on this attack vector and as such this is just a conjecture.”
Example:
@azure/core-tracing is the legitimate package.
core-tracing is the malicious package.
Moreover, attacker might have used an automatic scripts to create multiple user accounts to use them uploading malicious packages to hide the proof of origin.
This list consists of a total of 217 malicious npm packages identified so far. Please visit this page for new updates.
agrifood-farming | arm-managementgroups | cadl-providerhub |
ai-anomaly-detector | arm-managementpartner | cadl-providerhub-controller |
ai-document-translator | arm-maps | cadl-providerhub-templates-contoso |
arm-advisor | arm-mariadb | cadl-samples |
arm-analysisservices | arm-marketplaceordering | codemodel |
arm-apimanagement | arm-mediaservices | communication-chat |
arm-appconfiguration | arm-migrate | communication-common |
arm-appinsights | arm-mixedreality | communication-identity |
arm-appplatform | arm-mobilenetwork | communication-network-traversal |
arm-appservice | arm-monitor | communication-phone-numbers |
arm-attestation | arm-msi | communication-short-codes |
arm-authorization | arm-mysql | communication-sms |
arm-avs | arm-netapp | confidential-ledger |
arm-azurestack | arm-network | core-amqp |
arm-azurestackhci | arm-notificationhubs | core-asynciterator-polyfill |
arm-batch | arm-oep | core-auth |
arm-billing | arm-operationalinsights | core-client-1 |
arm-botservice | arm-operations | core-http |
arm-cdn | arm-orbital | core-http-compat |
arm-changeanalysis | arm-peering | core-lro |
arm-cognitiveservices | arm-policy | core-paging |
arm-commerce | arm-portal | core-rest-pipeline |
arm-commitmentplans | arm-postgresql | core-tracing |
arm-communication | arm-postgresql-flexible | core-xml |
arm-compute | arm-powerbidedicated | deduplication |
arm-confluent | arm-powerbiembedded | digital-twins-core |
arm-consumption | arm-privatedns | dll-docs |
arm-containerinstance | arm-purview | dtdl-parser |
arm-containerregistry | arm-quota | eslint-config-cadl |
arm-containerservice | arm-recoveryservices | eslint-plugin-azure-sdk |
arm-cosmosdb | arm-recoveryservices-siterecovery | eventhubs-checkpointstore-blob |
arm-customerinsights | arm-recoveryservicesbackup | eventhubs-checkpointstore-table |
arm-databox | arm-rediscache | extension-base |
arm-databoxedge | arm-redisenterprisecache | helloworld123ccwq |
arm-databricks | arm-relay | identity-cache-persistence |
arm-datacatalog | arm-reservations | identity-vscode |
arm-datadog | arm-resourcegraph | iot-device-update |
arm-datafactory | arm-resourcehealth | iot-device-update-1 |
arm-datalake-analytics | arm-resourcemover | iot-modelsrepository |
arm-datamigration | arm-resources | keyvault-admin |
arm-deploymentmanager | arm-resources-subscriptions | mixed-reality-authentication |
arm-desktopvirtualization | arm-search | mixed-reality-remote-rendering |
arm-deviceprovisioningservices | arm-security | modelerfour |
arm-devspaces | arm-serialconsole | monitor-opentelemetry-exporter |
arm-devtestlabs | arm-servicebus | oai2-to-oai3 |
arm-digitaltwins | arm-servicefabric | openapi3 |
arm-dns | arm-servicefabricmesh | opentelemetry-instrumentation-azure-sdk |
arm-dnsresolver | arm-servicemap | pnpmfile.js |
arm-domainservices | arm-signalr | prettier-plugin-cadl |
arm-eventgrid | arm-sql | purview-administration |
arm-eventhub | arm-sqlvirtualmachine | purview-catalog |
arm-extendedlocation | arm-storage | purview-scanning |
arm-features | arm-storagecache | quantum-jobs |
arm-frontdoor | arm-storageimportexport | storage-blob-changefeed |
Arm-hanaonazure | arm-storagesync | storage-file-datalake |
arm-hdinsight | arm-storsimple1200series | storage-queue |
arm-healthbot | arm-storsimple8000series | synapse-access-control |
arm-healthcareapis | arm-streamanalytics | synapse-artifacts |
arm-hybridcompute | arm-subscriptions | synapse-managed-private-endpoints |
arm-hybridkubernetes | arm-support | synapse-monitoring |
arm-imagebuilder | arm-synapse | synapse-spark |
arm-iotcentral | arm-templatespecs | test-public-packages |
arm-iothub | arm-timeseriesinsights | test-utils-perf |
arm-keyvault | arm-trafficmanager | testing-recorder-new |
arm-kubernetesconfiguration | arm-videoanalyzer | testmodeler |
arm-labservices | arm-visualstudio | video-analyzer-edge |
arm-links | arm-vmwarecloudsimple | videojs-wistia |
arm-loadtestservice | arm-webpubsub | web-pubsub |
arm-locks | arm-webservices | web-pubsub-express |
arm-logic | arm-workspaces | |
arm-machinelearningcompute | cadl-autorest | |
arm-machinelearningexperimentation | cadl-azure-core | |
arm-machinelearningservices | cadl-azure-resource-manager | |
arm-managedapplications | cadl-playground |
Ensure all the packages installed are legitimate. Check the list of packages that starts with @azure, @azure-rest, @azure-tests, @azure-tools, and @cadl-lang scope. Packages you have installed for Azure development must contain these prefixes.
You can do this by running this command upon changing your current directory to the npm project you would like to test. npm list or npm ls is the command to list the installed packages. Pass this output of the npm list command to grep command to filter the output by the list of packages listed in packages.txt file. You should create a file named packages.txt with all the package names listed in it before you run this command.
npm list | grep -f packages.txt
It is always good to deploy intelligent supply chain security solutions like JFrog XRAY to prevent such attacks in feature.
We hope this post would help you know How to Protect your Azure Development Environment from these Malicious npm Packages. Please share this post and help to secure the digital world. Visit our social media page on Facebook, LinkedIn, Twitter, Telegram, Tumblr, & Medium and subscribe to receive updates like this.
You may also like these articles:
Arun KL is a cybersecurity professional with 15+ years of experience in IT infrastructure, cloud security, vulnerability management, Penetration Testing, security operations, and incident response. He is adept at designing and implementing robust security solutions to safeguard systems and data. Arun holds multiple industry certifications including CCNA, CCNA Security, RHCE, CEH, and AWS Security.
“Knowledge Arsenal: Empowering Your Security Journey through Continuous Learning”
"Cybersecurity All-in-One For Dummies" offers a comprehensive guide to securing personal and business digital assets from cyber threats, with actionable insights from industry experts.
BurpGPT is a cutting-edge Burp Suite extension that harnesses the power of OpenAI's language models to revolutionize web application security testing. With customizable prompts and advanced AI capabilities, BurpGPT enables security professionals to uncover bespoke vulnerabilities, streamline assessments, and stay ahead of evolving threats.
PentestGPT, developed by Gelei Deng and team, revolutionizes penetration testing by harnessing AI power. Leveraging OpenAI's GPT-4, it automates and streamlines the process, making it efficient and accessible. With advanced features and interactive guidance, PentestGPT empowers testers to identify vulnerabilities effectively, representing a significant leap in cybersecurity.
Tenable BurpGPT is a powerful Burp Suite extension that leverages OpenAI's advanced language models to analyze HTTP traffic and identify potential security risks. By automating vulnerability detection and providing AI-generated insights, BurpGPT dramatically reduces manual testing efforts for security researchers, developers, and pentesters.
Microsoft Security Copilot is a revolutionary AI-powered security solution that empowers cybersecurity professionals to identify and address potential breaches effectively. By harnessing advanced technologies like OpenAI's GPT-4 and Microsoft's extensive threat intelligence, Security Copilot streamlines threat detection and response, enabling defenders to operate at machine speed and scale.