All Projects → lirantal → Lockfile Lint

lirantal / Lockfile Lint

Licence: apache-2.0
Lint an npm or yarn lockfile to analyze and detect security issues

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Lockfile Lint

Node Developer Boilerplate
🍭 Boilerplate for ES6+ Node.js and npm Developer
Stars: ✭ 82 (-80.05%)
Mutual labels:  lint, npm, yarn
Reviewdog
🐶 Automated code review tool integrated with any code analysis tools regardless of programming language
Stars: ✭ 4,541 (+1004.87%)
Mutual labels:  linter, lint
Awesome Npm
Awesome npm resources and tips
Stars: ✭ 3,894 (+847.45%)
Mutual labels:  npm, yarn
Fish Nvm
nvm wrapper for fish-shell
Stars: ✭ 336 (-18.25%)
Mutual labels:  npm, yarn
Ngx Smart Modal
Modal/Dialog component crafted for Angular
Stars: ✭ 256 (-37.71%)
Mutual labels:  npm, yarn
Yvm
🧶 Manage multiple versions of Yarn
Stars: ✭ 265 (-35.52%)
Mutual labels:  npm, yarn
Awesome Lint
Linter for Awesome lists
Stars: ✭ 385 (-6.33%)
Mutual labels:  linter, lint
Format.cmake
💅 Stylize your code! Automatic clang-format and cmake-format targets for CMake.
Stars: ✭ 94 (-77.13%)
Mutual labels:  lint, linter
Detekt
Static code analysis for Kotlin
Stars: ✭ 4,169 (+914.36%)
Mutual labels:  linter, lint
Syncpack
Manage multiple package.json files, such as in Lerna Monorepos and Yarn/Pnpm Workspaces
Stars: ✭ 356 (-13.38%)
Mutual labels:  npm, yarn
Website
Yarn package manager website
Stars: ✭ 374 (-9%)
Mutual labels:  npm, yarn
gandalf-lint
Bad Code Shall Not Pass
Stars: ✭ 29 (-92.94%)
Mutual labels:  lint, linter
elint
A easy way to lint your code
Stars: ✭ 38 (-90.75%)
Mutual labels:  lint, linter
Gitlint
Linting for your git commit messages
Stars: ✭ 404 (-1.7%)
Mutual labels:  linter, lint
selective
Statically find HTML anti patterns using CSS Selectors
Stars: ✭ 15 (-96.35%)
Mutual labels:  lint, linter
Webpack Cdn Plugin
A webpack plugin that use externals of CDN urls for production and local node_modules for development
Stars: ✭ 306 (-25.55%)
Mutual labels:  npm, yarn
Benchmarks Of Javascript Package Managers
Benchmarks of JavaScript Package Managers
Stars: ✭ 388 (-5.6%)
Mutual labels:  npm, yarn
eslint-config
An ESLint shareable config that I used in my projects
Stars: ✭ 15 (-96.35%)
Mutual labels:  lint, linter
JSONCustomLintr
Library to allow creation, running, and reporting of custom lint rules for JSON files
Stars: ✭ 19 (-95.38%)
Mutual labels:  lint, linter
Exakat
The Exakat Engine : smart static analysis for PHP
Stars: ✭ 346 (-15.82%)
Mutual labels:  linter, lint

lockfile linting 🌈

lint lockfiles for improved security and trust policies

build codecov license Security Responsible Disclosure npx lockfile-lint

About

Lockfiles are used as trusted whitelist of resources manifest to fetch packages from. However, keeping track of the changes introduced to lockfiles is not an easy task as they are designed to be consumed by machines 🤖.

What happens when someone creates a Pull Request and sneaks a malicious resource package that replaces a real library? 😱

Exactly! Lint your lockfiles to ensure they adhere to pre-defined security policies and mitigate this vector of attack.

Why is this important? read: Why npm lockfiles can be a security blindspot for injecting malicious modules

Usage

Easily invoked with npx on any project and lint it:

npx lockfile-lint --path yarn.lock --allowed-hosts npm yarn --validate-https

To lint the npm-shrinkwrap.json file, add the --type npm flag:

npx lockfile-lint --path npm-shrinkwrap.json --type npm --allowed-hosts npm yarn --validate-https

If you get no results, congratulations, the file passes!

If lockfile-lint detects exceptions to the policies it will report them:

carbon

Refer to lockfile-lint for more details on the CLI usage.

You can use lockfile-lint as a standalone CLI tool, or as an API library using the following npm packages:

  • lockfile-lint - a CLI tool that can be easily integrated as a pre-commit hook or part of a CI/build
  • lockfile-lint-api - a library providing a programmatic API

Security Disclaimer

Please be advised of the following security disclaimers that are outside of the control of a lockfile linter:

When you whitelist all hosts from npmjs, yarnpkg, github or other registries you implicitly convey that you trust all the packages originating from these sources. As such, a malicious package can exist in a registry source that you whitelist. Direct dependencies that you should add to a project should be well vetted before adding such as using a tool like npq.

Author

lockfile-lint © Liran Tal, Released under the Apache-2.0 License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].