Threat Signal Report

Another NPM Library Hijacked Again - COA

description-logo Description

FortiGuard Labs is aware of another Node Package Manager (NPM) library hijack affecting the coa library. Coa is a parser that is command line based and has not seen any updates to it since 2018. The compromise was discovered today by React developers. They noticed breakages in React packages when new updates were observed and pushed to the NPM library.

Earlier last month, another NPM library ua-parser-js was hacked also, which ultimately delivered the cryptocurrency miner XMRIG. Please see our October 22nd Threat Signal for more information (linked in the Appendix).

What Are the Technical Details of this Attack?

Malicious code exists in the form of an obfuscated JavaScript file that launches a batch file. The batch file will then connect to a predefined site to download a malicious DLL file.

What Malware was Delivered in This Latest Attack?

Preliminary reports have identified DanaBot as the malware. DanaBot is an infostealer.

Is this Related to the Attacks that Occurred in October to NPM (ua-parser-js) As well?

While preliminary evidence suggests they are related, researchers have observed some code reuse in the malicious JavaScript. This suggests that it's possible the same threat actors are behind this attack.

Which Versions of COA Served Malware?

Non legitimate versions 2.0.3, 2.0.4, 2.1.1, 2.1.3, and 3.1.3

Which Version is Deemed Legitimate?

Version 2.02 from 2018 is the only identified official version of this file

What is the Status of Coverage?

FortiGuard Labs provides the following AV coverage against the available files used in the attack:


All Network IOC's related to this threat are blocked by the FortiGuard WebFiltering Client.

What Other Mitigation is Suggested?

Due to the potential impact of the issue, users of the coa library are strongly advised to check if affected machines have been updated to the malicious versions documented above.

Windows systems with compromised versions of coa will receive an infostealer payload. As such, affected Windows users are strongly recommended to change their passwords, keys, and refresh tokens, and perform an anti-virus scan. It is suggested to remove the machine from the network until the identified malware has been removed completely.

As an added precaution, package maintainers should enable Two-Factor Authentication (2FA) to ensure increased security. A link to the instructions on enabling 2FA on npm.js can be found in the APPENDIX.


Traffic Light Protocol

Color When Should it Be used? How may it be shared?


Not for disclosure, restricted to participants only.
Sources may use TLP:RED when information cannot be effectively acted upon by additional parties, and could lead to impacts on a party's privacy, reputation, or operations if misused. Recipients may not share TLP:RED information with any parties outside of the specific exchange, meeting, or conversation in which it was originally disclosed. In the context of a meeting, for example, TLP:RED information is limited to those present at the meeting. In most circumstances, TLP:RED should be exchanged verbally or in person.


Limited disclosure, restricted to participants’ organizations.
Sources may use TLP:AMBER when information requires support to be effectively acted upon, yet carries risks to privacy, reputation, or operations if shared outside of the organizations involved. Recipients may only share TLP:AMBER information with members of their own organization, and with clients or customers who need to know the information to protect themselves or prevent further harm. Sources are at liberty to specify additional intended limits of the sharing: these must be adhered to.


Limited disclosure, restricted to the community.
Sources may use TLP:GREEN when information is useful for the awareness of all participating organizations as well as with peers within the broader community or sector. Recipients may share TLP:GREEN information with peers and partner organizations within their sector or community, but not via publicly accessible channels. Information in this category can be circulated widely within a particular community. TLP:GREEN information may not be released outside of the community.


Disclosure is not limited.
Sources may use TLP:WHITE when information carries minimal or no foreseeable risk of misuse, in accordance with applicable rules and procedures for public release. Subject to standard copyright rules, TLP:WHITE information may be distributed without restriction.