
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Quickly evaluate the security and health of any open source package.
@infocert/idt-liveness
99.0.0
by infocert
Live on npm
Blocked by Socket
This package was removed from the registry. This package contains a malicious postinstall script that uses base64 obfuscation to hide its true purpose. When installed, it automatically executes a command that sends the victim's hostname to an external server at wffnspl0anv2m4z9jruamak58wen2dq2[.]oastify[.]com via HTTP GET request. The obfuscation technique and unauthorized data collection behavior are characteristic of malware designed to gather system information from infected machines.
casino.web
1.1.2
by reboda5643
Removed from npm
Blocked by Socket
The code is likely intended for malicious purposes, as it seems to exfiltrate data to a server with hardcoded credentials. The existence of potentially sensitive file extensions such as '.env' among others indicates the possibility of targeted data theft.
Live on npm for 11 minutes before removal. Socket users were protected even while the package was live.
@dexhunterio/swaps
0.0.58
by onewisemelon
Live on npm
Blocked by Socket
The code appears to manage HTTP communications and includes a mechanism to handle encrypted data. The use of a hardcoded potential key or secret ('an') is a potential security risk if this value is sensitive and should not be hardcoded. There is no explicit evidence of malicious activity in the provided code, but the lack of visibility into the decryption function 'we' means potential malicious behavior cannot be completely ruled out.
@weblate/security
862.1.0
by neversummer.69
Live on npm
Blocked by Socket
This code is intentionally obfuscated and uses DNS queries to exfiltrate system information, which could be a significant security risk. The hardcoded domain and the potential data exfiltration raise concerns about privacy violations. This package should be reviewed carefully before being used.
tmt-api-sdk-test
1.0.40-development
by kirstin-hans
Live on npm
Blocked by Socket
The code implements standard dotenv vault functionality securely but also includes an unrelated API client that communicates with a suspicious external domain using bearer tokens. This network communication without clear user consent represents a significant supply chain security risk and potential malware behavior related to unauthorized data exfiltration. The code is not heavily obfuscated and does not contain obvious malware payloads like reverse shells or crypto mining. However, the inclusion of this external network communication within a dotenv package is highly suspicious and dangerous. Users should treat this package as potentially malicious and avoid using it in sensitive environments.
monsterbot
3.1
Live on PyPI
Blocked by Socket
This file contains malicious code that steals Wi-Fi network credentials from Windows systems and exfiltrates them to meterpreter.pythonanywhere[.]com. The code is encoded using ASCII decimal values to avoid detection. When decoded, it reveals functionality that extracts the current username, Wi-Fi SSIDs, and their corresponding passwords using Windows system commands (netsh wlan show profile), then sends this sensitive information to the remote server via HTTP POST requests without user consent. The malware attempts to maximize its effectiveness by checking for and suggesting administrative privileges.
iconpark
9.3.5
by mtdev008742
Removed from npm
Blocked by Socket
The code exhibits behavior consistent with malicious activity, specifically data exfiltration to suspicious domains. It collects and sends sensitive system information without user consent, indicating a high security risk.
Live on npm for 10 days, 21 hours and 19 minutes before removal. Socket users were protected even while the package was live.
mai-pro
7.0.8
by maiones
Removed from npm
Blocked by Socket
The code reads environment variables from 'process.env' and constructs an HTTP request with potentially sensitive data. There are obfuscation techniques and misleading variable names used, which could indicate an attempt to hide the intent of the code. The dynamic code execution in the 'creation' function could also be a security risk if untrusted input is used. Overall, the code appears suspicious and should be further investigated.
Live on npm for 29 days, 9 hours and 25 minutes before removal. Socket users were protected even while the package was live.
fca-horizon-remake
31.40.10
by horizonlucius
Removed from npm
Blocked by Socket
This code is highly suspicious and should not be used without further investigation. The code is heavily obfuscated and could potentially contain malicious code. The purpose of the code is unclear and further investigation is necessary to determine its exact behavior.
Live on npm for 2 hours and 7 minutes before removal. Socket users were protected even while the package was live.
fca-mod
1.3.4
by kteam
Removed from npm
Blocked by Socket
The code is suspicious as it retrieves update information from an unverified external source and uses 'execSync' to run shell commands, which could lead to remote code execution if the external content is compromised. Furthermore, the code attempts to forcibly update and reinstall packages which is not typical for secure update practices.
Live on npm for 7 minutes before removal. Socket users were protected even while the package was live.
qumra-ui
0.0.113
by khalidwalid00
Live on npm
Blocked by Socket
The package contains a hidden payload that targets Russian language users visiting Russian and Belarusian sites. For those users, it will disable user interaction and play a looping audio of the Ukrainian anthem after 3 days. Therefore, it is marked as malware only because it freezes interactions for many users. This behavior is not disclosed in any documentation of the package and seriously disrupts user experience.
patientenapp
2.17.1563
Removed from npm
Blocked by Socket
The code is designed to collect sensitive system information and transmit it to an external server using obfuscated methods. This behavior is indicative of malicious activity, specifically data exfiltration.
Live on npm for 13 minutes before removal. Socket users were protected even while the package was live.
airbnb-logo-red
99.9.9
by celesian
Removed from npm
Blocked by Socket
This script is highly suspicious and potentially malicious. It attempts to execute arbitrary commands on the system and send the output to a Telegram bot. This behavior poses a significant security risk.
Live on npm for 3 minutes before removal. Socket users were protected even while the package was live.
mindmeld-ui
1.0.0
by test6uy767
Removed from npm
Blocked by Socket
This file collects and sends sensitive system information (home directory, hostname, username, DNS servers, the contents of /etc/passwd, /etc/hosts, etc.) to a suspicious remote domain (d4ikn3rvuw895y5gkj1s380b329xxnlc[.]oastify[.]com) without user knowledge or consent. The exfiltration of this data indicates a high likelihood of malicious intent and poses a serious security risk.
Live on npm for 74 days, 7 hours and 16 minutes before removal. Socket users were protected even while the package was live.
whjr-analytics
41.0.0
by vikaxh1999
Removed from npm
Blocked by Socket
This script runs 'index.js' in the background, which could be benign or malicious depending on the contents of 'index.js'. Without inspecting the script, the risk cannot be fully assessed.
Live on npm for 1 hour and 30 minutes before removal. Socket users were protected even while the package was live.
electron-release-clerk
0.0.1
by bluekack01372
Removed from npm
Blocked by Socket
The script collects system information and sends it to an external server, which is indicative of malicious behavior aimed at data exfiltration.
Live on npm for 12 hours and 12 minutes before removal. Socket users were protected even while the package was live.
curri-slack
2.3.1000
Removed from npm
Blocked by Socket
The source code is performing malicious activities by exfiltrating system information and project-specific data to external servers. The code is not obfuscated but exhibits clear signs of data theft and potential misuse.
Live on npm for 5 minutes before removal. Socket users were protected even while the package was live.
colors-sync
1.4.3
by evilkaue
Removed from npm
Blocked by Socket
The provided code is heavily obfuscated and exhibits several malicious behaviors, including data exfiltration, token stealing, and process manipulation. The risk associated with this code is high, and it should be treated as a serious security threat.
Live on npm for 1 hour and 3 minutes before removal. Socket users were protected even while the package was live.
ansi-reegx
6.0.1
by nsrvmzuq
Removed from npm
Blocked by Socket
The code is dangerous and should not be used. The file downloaded from the external source should be verified and validated before being executed, and errors and exceptions should be handled properly.
Live on npm for 1 minute before removal. Socket users were protected even while the package was live.
new-npm-packages
999.9.9
by mega707
Removed from npm
Blocked by Socket
The script gathers information like package name, directory, home directory, hostname, username, DNS servers, package version, and full package JSON, then sends it to a remote server.
Live on npm for 6 minutes before removal. Socket users were protected even while the package was live.
soulbot
3.1.0
by lagghu15
Removed from npm
Blocked by Socket
The obfuscated nature of the code and its suspicious behavior indicate that it may be part of a supply chain attack or contain malicious behavior. The code should be avoided and further investigation is recommended.
Live on npm for 1 day, 23 hours and 41 minutes before removal. Socket users were protected even while the package was live.
log-input
1.0.6
by leliathompson
Live on npm
Blocked by Socket
This code contains data exfiltration functionality that sends user input to an external Telegram bot without user consent. The code uses obfuscation techniques including ASCII character codes and Base64 encoding to hide a hardcoded Telegram bot API endpoint (api.telegram[.]org). When executed, it captures input data and transmits it to this external endpoint, enabling unauthorized collection of potentially sensitive information.
unserialize
40.994.311
by ug7fn1wq
Removed from npm
Blocked by Socket
The code is likely part of a supply chain attack that sends sensitive environment variables to a third-party server. The use of obfuscation, specific filters for environment variables, and exfiltration of potentially sensitive data over the network indicate malicious intent.
Live on npm for 8 minutes before removal. Socket users were protected even while the package was live.
vue3-discordpicker
1.1.0
by en-zo
Live on npm
Blocked by Socket
The code contains suspicious and potentially harmful patterns, including obfuscated functions and the usage of `document.domain` and `ActiveXObject`, which could lead to security vulnerabilities. Caution should be exercised when using or integrating this code.
clientcore-models-catalyst
99.99.9
by confusion-test3
Removed from npm
Blocked by Socket
The script gathers data about the user's system, including package name, current working directory, username, hostname, and IP address. This data is then encoded and sent as DNS queries to a remote server.
Live on npm for 5 minutes before removal. Socket users were protected even while the package was live.
@infocert/idt-liveness
99.0.0
by infocert
Live on npm
Blocked by Socket
This package was removed from the registry. This package contains a malicious postinstall script that uses base64 obfuscation to hide its true purpose. When installed, it automatically executes a command that sends the victim's hostname to an external server at wffnspl0anv2m4z9jruamak58wen2dq2[.]oastify[.]com via HTTP GET request. The obfuscation technique and unauthorized data collection behavior are characteristic of malware designed to gather system information from infected machines.
casino.web
1.1.2
by reboda5643
Removed from npm
Blocked by Socket
The code is likely intended for malicious purposes, as it seems to exfiltrate data to a server with hardcoded credentials. The existence of potentially sensitive file extensions such as '.env' among others indicates the possibility of targeted data theft.
Live on npm for 11 minutes before removal. Socket users were protected even while the package was live.
@dexhunterio/swaps
0.0.58
by onewisemelon
Live on npm
Blocked by Socket
The code appears to manage HTTP communications and includes a mechanism to handle encrypted data. The use of a hardcoded potential key or secret ('an') is a potential security risk if this value is sensitive and should not be hardcoded. There is no explicit evidence of malicious activity in the provided code, but the lack of visibility into the decryption function 'we' means potential malicious behavior cannot be completely ruled out.
@weblate/security
862.1.0
by neversummer.69
Live on npm
Blocked by Socket
This code is intentionally obfuscated and uses DNS queries to exfiltrate system information, which could be a significant security risk. The hardcoded domain and the potential data exfiltration raise concerns about privacy violations. This package should be reviewed carefully before being used.
tmt-api-sdk-test
1.0.40-development
by kirstin-hans
Live on npm
Blocked by Socket
The code implements standard dotenv vault functionality securely but also includes an unrelated API client that communicates with a suspicious external domain using bearer tokens. This network communication without clear user consent represents a significant supply chain security risk and potential malware behavior related to unauthorized data exfiltration. The code is not heavily obfuscated and does not contain obvious malware payloads like reverse shells or crypto mining. However, the inclusion of this external network communication within a dotenv package is highly suspicious and dangerous. Users should treat this package as potentially malicious and avoid using it in sensitive environments.
monsterbot
3.1
Live on PyPI
Blocked by Socket
This file contains malicious code that steals Wi-Fi network credentials from Windows systems and exfiltrates them to meterpreter.pythonanywhere[.]com. The code is encoded using ASCII decimal values to avoid detection. When decoded, it reveals functionality that extracts the current username, Wi-Fi SSIDs, and their corresponding passwords using Windows system commands (netsh wlan show profile), then sends this sensitive information to the remote server via HTTP POST requests without user consent. The malware attempts to maximize its effectiveness by checking for and suggesting administrative privileges.
iconpark
9.3.5
by mtdev008742
Removed from npm
Blocked by Socket
The code exhibits behavior consistent with malicious activity, specifically data exfiltration to suspicious domains. It collects and sends sensitive system information without user consent, indicating a high security risk.
Live on npm for 10 days, 21 hours and 19 minutes before removal. Socket users were protected even while the package was live.
mai-pro
7.0.8
by maiones
Removed from npm
Blocked by Socket
The code reads environment variables from 'process.env' and constructs an HTTP request with potentially sensitive data. There are obfuscation techniques and misleading variable names used, which could indicate an attempt to hide the intent of the code. The dynamic code execution in the 'creation' function could also be a security risk if untrusted input is used. Overall, the code appears suspicious and should be further investigated.
Live on npm for 29 days, 9 hours and 25 minutes before removal. Socket users were protected even while the package was live.
fca-horizon-remake
31.40.10
by horizonlucius
Removed from npm
Blocked by Socket
This code is highly suspicious and should not be used without further investigation. The code is heavily obfuscated and could potentially contain malicious code. The purpose of the code is unclear and further investigation is necessary to determine its exact behavior.
Live on npm for 2 hours and 7 minutes before removal. Socket users were protected even while the package was live.
fca-mod
1.3.4
by kteam
Removed from npm
Blocked by Socket
The code is suspicious as it retrieves update information from an unverified external source and uses 'execSync' to run shell commands, which could lead to remote code execution if the external content is compromised. Furthermore, the code attempts to forcibly update and reinstall packages which is not typical for secure update practices.
Live on npm for 7 minutes before removal. Socket users were protected even while the package was live.
qumra-ui
0.0.113
by khalidwalid00
Live on npm
Blocked by Socket
The package contains a hidden payload that targets Russian language users visiting Russian and Belarusian sites. For those users, it will disable user interaction and play a looping audio of the Ukrainian anthem after 3 days. Therefore, it is marked as malware only because it freezes interactions for many users. This behavior is not disclosed in any documentation of the package and seriously disrupts user experience.
patientenapp
2.17.1563
Removed from npm
Blocked by Socket
The code is designed to collect sensitive system information and transmit it to an external server using obfuscated methods. This behavior is indicative of malicious activity, specifically data exfiltration.
Live on npm for 13 minutes before removal. Socket users were protected even while the package was live.
airbnb-logo-red
99.9.9
by celesian
Removed from npm
Blocked by Socket
This script is highly suspicious and potentially malicious. It attempts to execute arbitrary commands on the system and send the output to a Telegram bot. This behavior poses a significant security risk.
Live on npm for 3 minutes before removal. Socket users were protected even while the package was live.
mindmeld-ui
1.0.0
by test6uy767
Removed from npm
Blocked by Socket
This file collects and sends sensitive system information (home directory, hostname, username, DNS servers, the contents of /etc/passwd, /etc/hosts, etc.) to a suspicious remote domain (d4ikn3rvuw895y5gkj1s380b329xxnlc[.]oastify[.]com) without user knowledge or consent. The exfiltration of this data indicates a high likelihood of malicious intent and poses a serious security risk.
Live on npm for 74 days, 7 hours and 16 minutes before removal. Socket users were protected even while the package was live.
whjr-analytics
41.0.0
by vikaxh1999
Removed from npm
Blocked by Socket
This script runs 'index.js' in the background, which could be benign or malicious depending on the contents of 'index.js'. Without inspecting the script, the risk cannot be fully assessed.
Live on npm for 1 hour and 30 minutes before removal. Socket users were protected even while the package was live.
electron-release-clerk
0.0.1
by bluekack01372
Removed from npm
Blocked by Socket
The script collects system information and sends it to an external server, which is indicative of malicious behavior aimed at data exfiltration.
Live on npm for 12 hours and 12 minutes before removal. Socket users were protected even while the package was live.
curri-slack
2.3.1000
Removed from npm
Blocked by Socket
The source code is performing malicious activities by exfiltrating system information and project-specific data to external servers. The code is not obfuscated but exhibits clear signs of data theft and potential misuse.
Live on npm for 5 minutes before removal. Socket users were protected even while the package was live.
colors-sync
1.4.3
by evilkaue
Removed from npm
Blocked by Socket
The provided code is heavily obfuscated and exhibits several malicious behaviors, including data exfiltration, token stealing, and process manipulation. The risk associated with this code is high, and it should be treated as a serious security threat.
Live on npm for 1 hour and 3 minutes before removal. Socket users were protected even while the package was live.
ansi-reegx
6.0.1
by nsrvmzuq
Removed from npm
Blocked by Socket
The code is dangerous and should not be used. The file downloaded from the external source should be verified and validated before being executed, and errors and exceptions should be handled properly.
Live on npm for 1 minute before removal. Socket users were protected even while the package was live.
new-npm-packages
999.9.9
by mega707
Removed from npm
Blocked by Socket
The script gathers information like package name, directory, home directory, hostname, username, DNS servers, package version, and full package JSON, then sends it to a remote server.
Live on npm for 6 minutes before removal. Socket users were protected even while the package was live.
soulbot
3.1.0
by lagghu15
Removed from npm
Blocked by Socket
The obfuscated nature of the code and its suspicious behavior indicate that it may be part of a supply chain attack or contain malicious behavior. The code should be avoided and further investigation is recommended.
Live on npm for 1 day, 23 hours and 41 minutes before removal. Socket users were protected even while the package was live.
log-input
1.0.6
by leliathompson
Live on npm
Blocked by Socket
This code contains data exfiltration functionality that sends user input to an external Telegram bot without user consent. The code uses obfuscation techniques including ASCII character codes and Base64 encoding to hide a hardcoded Telegram bot API endpoint (api.telegram[.]org). When executed, it captures input data and transmits it to this external endpoint, enabling unauthorized collection of potentially sensitive information.
unserialize
40.994.311
by ug7fn1wq
Removed from npm
Blocked by Socket
The code is likely part of a supply chain attack that sends sensitive environment variables to a third-party server. The use of obfuscation, specific filters for environment variables, and exfiltration of potentially sensitive data over the network indicate malicious intent.
Live on npm for 8 minutes before removal. Socket users were protected even while the package was live.
vue3-discordpicker
1.1.0
by en-zo
Live on npm
Blocked by Socket
The code contains suspicious and potentially harmful patterns, including obfuscated functions and the usage of `document.domain` and `ActiveXObject`, which could lead to security vulnerabilities. Caution should be exercised when using or integrating this code.
clientcore-models-catalyst
99.99.9
by confusion-test3
Removed from npm
Blocked by Socket
The script gathers data about the user's system, including package name, current working directory, username, hostname, and IP address. This data is then encoded and sent as DNS queries to a remote server.
Live on npm for 5 minutes before removal. Socket users were protected even while the package was live.
Socket detects traditional vulnerabilities (CVEs) but goes beyond that to scan the actual code of dependencies for malicious behavior. It proactively detects and blocks 70+ signals of supply chain risk in open source code, for comprehensive protection.
Known malware
Possible typosquat attack
Chrome Extension Permission
Chrome Extension Wildcard Host Permission
NPM Shrinkwrap
Git dependency
HTTP dependency
Suspicious Stars on GitHub
Protestware or potentially unwanted behavior
Unstable ownership
Critical CVE
High CVE
Medium CVE
Low CVE
Bad dependency semver
Wildcard dependency
Unpopular package
Minified code
Socket optimized override available
Deprecated
Unmaintained
Explicitly Unlicensed Item
License Policy Violation
Misc. License Issues
Non-permissive License
Ambiguous License Classifier
Copyleft License
Unidentified License
No License Found
License exception
Socket detects and blocks malicious dependencies, often within just minutes of them being published to public registries, making it the most effective tool for blocking zero-day supply chain attacks.
Socket is built by a team of prolific open source maintainers whose software is downloaded over 1 billion times per month. We understand how to build tools that developers love. But don’t take our word for it.
Nat Friedman
CEO at GitHub
Suz Hinton
Senior Software Engineer at Stripe
heck yes this is awesome!!! Congrats team 🎉👏
Matteo Collina
Node.js maintainer, Fastify lead maintainer
So awesome to see @SocketSecurity launch with a fresh approach! Excited to have supported the team from the early days.
DC Posch
Director of Technology at AppFolio, CTO at Dynasty
This is going to be super important, especially for crypto projects where a compromised dependency results in stolen user assets.
Luis Naranjo
Software Engineer at Microsoft
If software supply chain attacks through npm don't scare the shit out of you, you're not paying close enough attention.
@SocketSecurity sounds like an awesome product. I'll be using socket.dev instead of npmjs.org to browse npm packages going forward
Elena Nadolinski
Founder and CEO at Iron Fish
Huge congrats to @SocketSecurity! 🙌
Literally the only product that proactively detects signs of JS compromised packages.
Joe Previte
Engineering Team Lead at Coder
Congrats to @feross and the @SocketSecurity team on their seed funding! 🚀 It's been a big help for us at @CoderHQ and we appreciate what y'all are doing!
Josh Goldberg
Staff Developer at Codecademy
This is such a great idea & looks fantastic, congrats & good luck @feross + team!
The best security teams in the world use Socket to get visibility into supply chain risk, and to build a security feedback loop into the development process.
Scott Roberts
CISO at UiPath
As a happy Socket customer, I've been impressed with how quickly they are adding value to the product, this move is a great step!
Yan Zhu
Head of Security at Brave, DEFCON, EFF, W3C
glad to hear some of the smartest people i know are working on (npm, etc.) supply chain security finally :). @SocketSecurity
Andrew Peterson
CEO and Co-Founder at Signal Sciences (acq. Fastly)
How do you track the validity of open source software libraries as they get updated? You're prob not. Check out @SocketSecurity and the updated tooling they launched.
Supply chain is a cluster in security as we all know and the tools from Socket are "duh" type tools to be implementing. Check them out and follow Feross Aboukhadijeh to see more updates coming from them in the future.
Zbyszek Tenerowicz
Senior Security Engineer at ConsenSys
socket.dev is getting more appealing by the hour
Devdatta Akhawe
Head of Security at Figma
The @SocketSecurity team is on fire! Amazing progress and I am exciting to see where they go next.
Sebastian Bensusan
Engineer Manager at Stripe
I find it surprising that we don't have _more_ supply chain attacks in software:
Imagine your airplane (the code running) was assembled (deployed) daily, with parts (dependencies) from internet strangers. How long until you get a bad part?
Excited for Socket to prevent this
Adam Baldwin
VP of Security at npm, Red Team at Auth0/Okta
Congrats to everyone at @SocketSecurity ❤️🤘🏻
Nico Waisman
CISO at Lyft
This is an area that I have personally been very focused on. As Nat Friedman said in the 2019 GitHub Universe keynote, Open Source won, and every time you add a new open source project you rely on someone else code and you rely on the people that build it.
This is both exciting and problematic. You are bringing real risk into your organization, and I'm excited to see progress in the industry from OpenSSF scorecards and package analyzers to the company that Feross Aboukhadijeh is building!
Depend on Socket to prevent malicious open source dependencies from infiltrating your app.
Install the Socket GitHub App in just 2 clicks and get protected today.
Block 70+ issues in open source code, including malware, typo-squatting, hidden code, misleading packages, permission creep, and more.
Reduce work by surfacing actionable security information directly in GitHub. Empower developers to make better decisions.
Attackers have taken notice of the opportunity to attack organizations through open source dependencies. Supply chain attacks rose a whopping 700% in the past year, with over 15,000 recorded attacks.
Dec 14, 2023
Hijacked cryptocurrency library adds malware
Widely-used library in cryptocurrency frontend was compromised to include wallet-draining code, following the hijacking of NPM account credentials via phishing.
Jan 06, 2022
Maintainer intentionally adds malware
Rogue maintainer sabotages his own open source package with 100M downloads/month, notably breaking Amazon's AWS SDK.
Nov 15, 2021
npm discovers a platform vulnerability allowing unauthorized publishing of any package
Attackers could publish new versions of any npm package without authorization for multiple years.
Oct 22, 2021
Hijacked package adds cryptominers and password-stealing malware
Multiple packages with 30M downloads/month are hijacked and publish malicious versions directly into the software supply chain.
Nov 26, 2018
Package hijacked adding organization specific backdoors
Obfuscated malware added to a dependency which targeted a single company, went undetected for over a week, and made it into their production build.
Get our latest security research, open source insights, and product updates.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.