0

Does npm ensure that the packages are not spying on your data, saving it somewhere or is it the responsibility of the developer to ensure it? Can I confidently use the moderately well-known packages without the data being saved and mishandled?

3 Answers 3

2

There is no authority that is verifying packages in the npm registry. Whenever you obtain a package you need to trust the publisher or verify it yourself.

This applies to both the absence of malicious code and privacy impact. The latter is especially difficult as privacy regulations differ based on local legislation.

If the publisher is a well-known entity that has a long history of properly handling their packages and adhering to relevant privacy regulation it is often 'good enough'. Whether this is enough for you depends on your threat landscape and your risk appetite, so it is always prudent to perform a risk analysis before using packages from public sources.

1
  • How do you suggest I do the risk analysis? What should be the procedure and what things do I keep in mind before doing the analysis, what signs should I be looking for? Do I have to go through the code base or is there some trusted source that does this analysis and publish it publically?
    – user290234
    Mar 7, 2023 at 10:23
0

Since you mentioned GDPR compliance, (EU) GDPR provides principles, guidance and general restrictions. It is not a methodology which can be followed step by step, and as such, its technical implementation is left to software designers, developers and compliance auditors.

Whether the libraries/dependencies you're using are secure, should be checked by you, unfortunately. However, as you can understand, this is very difficult to verify systematically. As such, in order to mitigate the risk associated with using someone else's software, you should use widely accepted libraries from well known parties.

On top of that, you should always perform a software composition analysis (SCA) using the appropriate tools, which will provide you with some level of confidence in using third party software. You may take a look at this article, which provides some guidelines for nodejs.

0

No. There is no review. Anyone can upload a package there, and it will be published immediately. Even malicious packages containing malware. This has happened, it's not just a theoretical concern.

As a developer, you are expected to verify yourself that the packages you use are fine and, if you are serious, also the dependencies (alternatively, you might choose to blindly trust certain authors and not check anything, it's your choice). Note that even if you manually verify the packages you use, it's not enough to pin to that exact version forever, as it's possible that new vulnerabilities are found in that version, so it's something to review periodically.

As for GDPR compliance, you most likely need a lawyer to weight in. Use cases range from "We don't handle any personal information at all" to "We need to categorize the types of personal information used, our legal basis for processing, correctly describe that in our terms, and gather the appropriate user permission when necessary, as well as ensuring the user is able to opt-out as easily as opt-in, it includes the portability options we are required to provide, we have a designated DPO that will timely handle all requests we might receive regarding their data, and so on".

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .