Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
js-encryptedfs
Advanced tools
This library provides an Encrypted File System (EFS)
Chunks consist of a an acutal data 'block' that is encrypted. It is also prepended with the salt, initialization vector and authorisation tag used to encrypt the data.
Below is a diagram showing the layout of the encrypted chunks.
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| || || || || || || Salt || Initialization Vector || Authorisation Tag || Encrypted Block ... -> || || || || || || ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This is a constant sized amount (optionally user-specified) of business data. A large file is split into several block of block_size (generall 4k). This is to to allow random access reads and writies. For example to read a small section of a file, the entire file does not need to be decrpted Only the block(s) that contain the section you want to read. This does mean however, that there needs to be an IV for each block. This is because reusing IVs, or having predictable IVs is a security threat. It can lead to the _______ attack. TODO: which attack again? Perhaps for large executables, where you need to always read the file in its entirely, We can get rid of the block and IVs. But consider if it's really worth it because you're only saving kilobytes here.
Some amount of data equal or smaller than a block.
EFS uses AES-GCM symmetric encryption, which requires the derivation of a symmetric encryption key using pbkdf
and a randomly generated salt and init vector. Sizes for these parameters follow NIST recommendations: https://csrc.nist.gov/publications/detail/sp/800-38d/final.
An authorisation tag based on chunk encryption is stored along side the salt and init vector. This provides a basic chunk level integrity gurantee that can be verified upon decryption in accordance with the AES-GCM algorithm.
TODO: Write instructions
TODO: Write instructions
TODO: Write instructions
This library uses Jest for testing.
FAQs
Encrypted filesystem written in TypeScript for Node.js
We found that js-encryptedfs demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.