
Research
PyPI Package Disguised as Instagram Growth Tool Harvests User Credentials
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
safevalues
Advanced tools
Safevalues is a library to help you prevent Cross-Site Scripting vulnerabilities in TypeScript (and JavaScript). It is meant to be used together with safety-web to provide strong security guarantees and help you deploy TrustedTypes and other CSP restrictions in your applications. Google has used these components together to reduce DOM XSS (paper), and we hope it will be useful in your codebase.
Trusted Types is a browser API that enables developers to control the values that can be assigned to XSS sinks. Developers need to define a Trusted Types policy to build these values, and then the Trusted Types API constraints these policies.
The Trusted Types API is not opinionated on what should be considered safe. It only acts as a tool for developers to mark values they can trust.
safevalues
in contrast, defines functions that make security decisions on what
is safe (by construction, via escaping or sanitization), so that developers who
are not security experts don't need to.
safevalues
produces Trusted Types (through its own policy) when available.
Some DOM APIs are not covered by Trusted Types, but can also be abused; leading
to XSS or other security issues. Alternative security mechanisms such as the
unsafe-inline
CSP protection can help to secure these APIs, but not all
browsers or apps support them.
safevalues
defines additional types, builders, and setters to help protect
these sinks.
To build a Trusted Types-compatible app and surface potential violations at
compile time, we recommend that you lint your code with
safety-web. safety-web bans certain DOM
APIs. safevalues
defines wrappers around these APIs which lets you assign
Trusted Types with them.
Some wrappers don't require a particular type, but sanitize the argument they
get before they assign it to the DOM sink (e.g. setLocationHref
from
safevalues/dom
).
Whenever possible, safevalues
uses Trusted Types to build its values, in order
to benefit from the runtime protection of Trusted Types. When Trusted Types is
not available, safevalues
transparently defines its own types and your app
will continue to work.
When using a bundler that performs dead-code elimination, you must ensure that
process.env.NODE_ENV
is declared globally with either a value of development
or production
. This is done in Webpack by
specifying a mode,
in Terser using the
--define flag and
in Rollup using the
rollup-plugin-define plugin.
See (#212).
Read on for more information on our APIs.
[1.2.0][1.2.0] - 2025-02-13
application/octet-stream
as a MIME type in objectUrlFromSafeSourceFAQs
Safe builders for Trusted Types values
The npm package safevalues receives a total of 362,155 weekly downloads. As such, safevalues popularity was classified as popular.
We found that safevalues demonstrated a healthy version release cadence and project activity because the last version was released less than 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
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
Product
Socket now supports pylock.toml, enabling secure, reproducible Python builds with advanced scanning and full alignment with PEP 751's new standard.
Security News
Research
Socket uncovered two npm packages that register hidden HTTP endpoints to delete all files on command.