
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
@nexustech/fingerprint
Advanced tools
A passive browser fingerprinting library for creating browser and device IDs
This is a passive browser fingerprinting library for creating persistent, unique and long-lasting digital fingerprints without depending on time dependent variables such as the user agent string. As such, the fingerprint should not change most of the time when a user upgrades their browser to the current version.
This version is a heavily modified fork of the OPFS source DEMO with numerous code enhancements and quality improvements. It will generate a different unique ID and browser ID from the original, but uses all of the same markers to build the profile.
install from NPM
npm i @nexustech/fingerprint
import { fingerprint } from "@nexustech/fingerprint";
Create the fingerprint
const { uniqueId, browserId, profile } = await fingerprint();
console.log({ uniqueId, browserId });
// { uniqueId: 2984961870, browserId: 582672678 }
The package can also be called in as a module and used directly in a browser. See the example.html
file in the /test
directory for direct browser use.
The library is able to detect and mitigate the effects of most but not all browser-based anti-fingerprinting technologies introduced to certain browsers in the past few years with the release of Brave Browser and Safari 13. The script will not use randomized fingerprints in such browsers and instead settle on a fingerprint that should be persistent as long as possible at the expense of uniqueness.
This mainly only applies to Safari 13 and up on both macOS and iOS, with Safari for iOS being the most difficult to create a unique identifier for due to the anti-fingerprinting methods used and the homogeneity of the hardware & software. This applies to Safari for macOS as well, but to a lesser extent for much the same reasons.
This script cannot detect if certain browser extensions are present in the browser that may be blocking or jamming fingerprinting methods, such as CanvasAPI having added noise to its output, which will still result in a non-persistent fingerprint.
The script contains a list of 40+ individual fingerprinting methods to create an optimally unique fingerprint. While it does not contain all fingerprinting methods in use today, it does probably the most complete job of all open source libraries.
Fingerprint contains these notable fingerprinting methods:
the script returns two fingerprint hashes (integer), as well as the device profile object used to create each hash.
uniqueId
uses all available fingerprints and is most useful when you value uniqueness over persistence. While this fingerprint is unlikely to change often, it will still change eventually as browsers are updated.browserId
is useful if you value persistence over uniqueness. It will not be as unique but should rarely, if ever, change, for the given device and browser in user.FAQs
A passive browser fingerprinting library for creating browser and device IDs
The npm package @nexustech/fingerprint receives a total of 108 weekly downloads. As such, @nexustech/fingerprint popularity was classified as not popular.
We found that @nexustech/fingerprint 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
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.