
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).
user-device-type
Advanced tools
**Browser, OS, and device detection based on the available user agent string. Can be used both in a browser (also as a standalone script) or in a server environment.**
Browser, OS, and device detection based on the available user agent string. Can be used both in a browser (also as a standalone script) or in a server environment.
It's very rarely a good idea to use user agent sniffing. You can almost always find a better, more broadly compatible way to solve your problem! MDN: Browser detection using the user agent
Note: user-device-type is written in Javascript and includes all the necessary typings, making it usable in both JavaScript and TypeScript projects.
In cases where some device-specific issues cannot be fixed uniformly across devices, we may need to perform device detection. For example, certain features might be disabled or enabled based on whether the user is on a mobile, tablet, desktop, wearable, or TV device.
To install the library use npm:
npm install user-device-type
const { getDeviceType } = require("user-device-type");
const userAgent = "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25";
const deviceType = getDeviceType(userAgent);
console.log('Device type:', deviceType); // Outputs: 'tablet'
import { getDeviceType } from "user-device-type";
const userAgent = navigator.userAgent;
const deviceType = getDeviceType(userAgent);
console.log('Device type:', deviceType); // Outputs: 'mobile', 'tablet', 'desktop', 'wearable', or 'tv'
getDeviceType(userAgent: string): string: Function that expects a user agent string as an argument and returns the device type ('mobile', 'tablet', 'desktop', 'wearable', or 'tv').
Some libraries provide only browser information and not the device type. user-device-type offers a simple and symmetric API, does not depend on other libraries, is tiny, fast, and easily extensible. Additionally, it can be used in both browser and server environments.
Copyright (c) 2024 mendmania
Licensed under the MIT license.
FAQs
**Browser, OS, and device detection based on the available user agent string. Can be used both in a browser (also as a standalone script) or in a server environment.**
We found that user-device-type 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
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.