{"id":25530877,"url":"https://github.com/nodesecure/scanner","last_synced_at":"2026-04-02T18:31:57.561Z","repository":{"id":37497777,"uuid":"373790646","full_name":"NodeSecure/scanner","owner":"NodeSecure","description":"⚡️ A package API to run a static analysis of your module's dependencies. This is the CLI engine!","archived":false,"fork":false,"pushed_at":"2025-04-01T09:54:26.000Z","size":1574,"stargazers_count":32,"open_issues_count":11,"forks_count":14,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T23:12:21.874Z","etag":null,"topics":["audit","nodejs","nodesecure","sast","scanner","security"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NodeSecure.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-04T09:31:03.000Z","updated_at":"2025-03-29T05:02:15.000Z","dependencies_parsed_at":"2024-03-16T14:48:09.698Z","dependency_job_id":"c1d72317-4eb1-4148-84cf-322fb05a4c2f","html_url":"https://github.com/NodeSecure/scanner","commit_stats":{"total_commits":213,"total_committers":18,"mean_commits":"11.833333333333334","dds":0.2582159624413145,"last_synced_commit":"3f60b347ec51fc6480f16c852c18c99d2453a5f1"},"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NodeSecure%2Fscanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NodeSecure%2Fscanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NodeSecure%2Fscanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NodeSecure%2Fscanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NodeSecure","download_url":"https://codeload.github.com/NodeSecure/scanner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247411239,"owners_count":20934653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audit","nodejs","nodesecure","sast","scanner","security"],"created_at":"2025-02-20T00:22:37.566Z","updated_at":"2026-04-02T18:31:57.540Z","avatar_url":"https://github.com/NodeSecure.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"# Nodesecure Scanner\" src=\"https://user-images.githubusercontent.com/4438263/226018084-113c49e6-6c69-4baa-8f84-87e6d695be6d.jpg\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/NodeSecure/scanner\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/dynamic/json.svg?style=for-the-badge\u0026url=https://raw.githubusercontent.com/NodeSecure/scanner/master/workspaces/scanner/package.json\u0026query=$.version\u0026label=Version\" alt=\"version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/NodeSecure/scanner/graphs/commit-activity\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Maintained%3F-yes-green.svg?style=for-the-badge\" alt=\"maintained\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://api.securityscorecards.dev/projects/github.com/NodeSecure/scanner\"\u003e\n    \u003cimg src=\"https://api.securityscorecards.dev/projects/github.com/NodeSecure/scanner/badge?style=for-the-badge\" alt=\"OpenSSF Scorecard\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/NodeSecure/scanner/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/NodeSecure/scanner.svg?style=for-the-badge\" alt=\"mit\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/NodeSecure/scanner/actions/workflows/node.js.yml\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/NodeSecure/scanner/node.js.yml?style=for-the-badge\" alt=\"build\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n⚡️ Run a static analysis of your module's dependencies.\n\n## 💡 Features\n\nScanner builds on [JS-X-Ray](https://github.com/NodeSecure/js-x-ray) (SAST) and [Vulnera](https://github.com/NodeSecure/vulnera) (CVE detection), and adds additional detections such as:\n\n- Detects:\n  - [Manifest confusion](https://blog.vlt.sh/blog/the-massive-hole-in-the-npm-ecosystem)\n  - [Dependency confusion](https://www.landh.tech/blog/20250610-netflix-vulnerability-dependency-confusion/)\n  - Typosquatting of popular package names\n  - Install scripts (e.g. `install`, `preinstall`, `postinstall`, `preuninstall`, `postuninstall`)\n- Highlights packages by name, version(s), or maintainer\n- Highlights infrastructure components such as ip, hostname, email, url\n- Supports NPM and Yarn lockfiles\n\n## 💃 Getting Started\n\n```bash\n$ npm i @nodesecure/scanner\n# or\n$ yarn add @nodesecure/scanner\n```\n\nFor full API documentation, options, and usage examples, see the [@nodesecure/scanner package README](./workspaces/scanner/README.md).\n\n## Workspaces\n\n- [@nodesecure/scanner](./workspaces/scanner)\n- [@nodesecure/tarball](./workspaces/tarball)\n- [@nodesecure/tree-walker](./workspaces/tree-walker)\n- [@nodesecure/flags](./workspaces/flags)\n- [@nodesecure/mama](./workspaces/mama)\n- [@nodesecure/contact](./workspaces/contact)\n- [@nodesecure/conformance](./workspaces/conformance)\n- [@nodesecure/npm-types](./workspaces/npm-types)\n- [@nodesecure/i18n](./workspaces/i18n)\n- [@nodesecure/rc](./workspaces/rc)\n- [@nodesecure/utils](./workspaces/utils)\n- [@nodesecure/fs-walk](./workspaces/fs-walk)\n- [@nodesecure/github](./workspaces/github)\n- [@nodesecure/gitlab](./workspaces/gitlab)\n\n## 🐥 Contributors guide\n\nIf you are a developer **looking to contribute** to the project, you must first read the [CONTRIBUTING](./CONTRIBUTING.md) guide.\n\nOnce you have finished your development, check that the tests (and linter) are still good by running the following script:\n\n```bash\n$ npm run check\n```\n\n\u003e [!CAUTION]\n\u003e In case you introduce a new feature or fix a bug, make sure to include tests for it as well.\n\n## Contributors ✨\n\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-31-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.linkedin.com/in/thomas-gentilhomme/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/4438263?v=4?s=100\" width=\"100px;\" alt=\"Gentilhomme\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGentilhomme\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=fraxken\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=fraxken\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/pulls?q=is%3Apr+reviewed-by%3Afraxken\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"#security-fraxken\" title=\"Security\"\u003e🛡️\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/issues?q=author%3Afraxken\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://tonygo.dev\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22824417?v=4?s=100\" width=\"100px;\" alt=\"Tony Gorez\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTony Gorez\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=tony-go\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=tony-go\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/pulls?q=is%3Apr+reviewed-by%3Atony-go\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/issues?q=author%3Atony-go\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://mickaelcroquet.fr\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/23740372?v=4?s=100\" width=\"100px;\" alt=\"Haze\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eHaze\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=CroquetMickael\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/mbalabash\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/16868922?v=4?s=100\" width=\"100px;\" alt=\"Maksim Balabash\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMaksim Balabash\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=mbalabash\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/issues?q=author%3Ambalabash\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://dev.to/antoinecoulon\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/43391199?v=4?s=100\" width=\"100px;\" alt=\"Antoine Coulon\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAntoine Coulon\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=antoine-coulon\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/issues?q=author%3Aantoine-coulon\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/pulls?q=is%3Apr+reviewed-by%3Aantoine-coulon\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"#maintenance-antoine-coulon\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#security-antoine-coulon\" title=\"Security\"\u003e🛡️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.linkedin.com/in/nicolas-hallaert/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/39910164?v=4?s=100\" width=\"100px;\" alt=\"Nicolas Hallaert\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNicolas Hallaert\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=Rossb0b\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://sofiand.github.io/portfolio-client/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/39944043?v=4?s=100\" width=\"100px;\" alt=\"Yefis\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eYefis\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=SofianD\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.linkedin.com/in/franck-hallaert/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/110826655?v=4?s=100\" width=\"100px;\" alt=\"Franck Hallaert\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFranck Hallaert\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=Aekk0\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.linkedin.com/in/ange-tekeu-a155811b4/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/35274201?v=4?s=100\" width=\"100px;\" alt=\"Ange TEKEU\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAnge TEKEU\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=tekeuange23\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Kawacrepe\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/40260517?v=4?s=100\" width=\"100px;\" alt=\"Vincent Dhennin\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVincent Dhennin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=Kawacrepe\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=Kawacrepe\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/pulls?q=is%3Apr+reviewed-by%3AKawacrepe\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/issues?q=author%3AKawacrepe\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/fabnguess\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/72697416?v=4?s=100\" width=\"100px;\" alt=\"Kouadio Fabrice Nguessan\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKouadio Fabrice Nguessan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#maintenance-fabnguess\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/PierreDemailly\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/39910767?v=4?s=100\" width=\"100px;\" alt=\"PierreDemailly\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePierreDemailly\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=PierreDemailly\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/pulls?q=is%3Apr+reviewed-by%3APierreDemailly\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/issues?q=author%3APierreDemailly\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=PierreDemailly\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/kishore881\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/49707819?v=4?s=100\" width=\"100px;\" alt=\"Kishore\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKishore\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=kishore881\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=kishore881\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://clementgombauld.netlify.app/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/91478082?v=4?s=100\" width=\"100px;\" alt=\"Clement Gombauld\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eClement Gombauld\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=clemgbld\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/intincrab\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/93028153?v=4?s=100\" width=\"100px;\" alt=\"Ajāy \"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAjāy \u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=intincrab\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=intincrab\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Rossb0b\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/39910164?v=4?s=100\" width=\"100px;\" alt=\"Nicolas Hallaert\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNicolas Hallaert\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=Rossb0b\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/MaximeMRF\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/57860498?v=4?s=100\" width=\"100px;\" alt=\"Maxime\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMaxime\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=MaximeMRF\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.linkedin.com/in/ange-tekeu-a155811b4/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/35274201?v=4?s=100\" width=\"100px;\" alt=\"Ange TEKEU\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAnge TEKEU\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=tekeuange23\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/AlexandreMalaj\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/32218832?v=4?s=100\" width=\"100px;\" alt=\"Alexandre Malaj\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAlexandre Malaj\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=AlexandreMalaj\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=AlexandreMalaj\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#translation-AlexandreMalaj\" title=\"Translation\"\u003e🌍\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/FredGuiou\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/99122562?v=4?s=100\" width=\"100px;\" alt=\"FredGuiou\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFredGuiou\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#maintenance-FredGuiou\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/jochri3\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/23065918?v=4?s=100\" width=\"100px;\" alt=\"Christian Lisangola\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChristian Lisangola\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=jochri3\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/QuentinLpy\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/31780359?v=4?s=100\" width=\"100px;\" alt=\"Quentin Lepateley\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eQuentin Lepateley\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=QuentinLpy\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://antoineneff.me\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/9216777?v=4?s=100\" width=\"100px;\" alt=\"Antoine Neff\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAntoine Neff\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#translation-antoineneff\" title=\"Translation\"\u003e🌍\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://www.linkedin.com/in/kvoyer\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/33313541?v=4?s=100\" width=\"100px;\" alt=\"Kévin VOYER\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKévin VOYER\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#translation-kecsou\" title=\"Translation\"\u003e🌍\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Mathieuka\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/34446722?v=4?s=100\" width=\"100px;\" alt=\"Mathieu\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMathieu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=Mathieuka\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#translation-Mathieuka\" title=\"Translation\"\u003e🌍\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://codebreaker.fr/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/53506859?v=4?s=100\" width=\"100px;\" alt=\"im_codebreaker\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eim_codebreaker\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=im-codebreaker\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=im-codebreaker\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#design-im-codebreaker\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ayushmaanshrotriya\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/65903307?v=4?s=100\" width=\"100px;\" alt=\"Ayushmaan Shrotriya\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAyushmaan Shrotriya\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=ayushmaanshrotriya\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Ineslujan\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/65076833?v=4?s=100\" width=\"100px;\" alt=\"Inès \u0026 Mélu\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eInès \u0026 Mélu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=Ineslujan\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/zwOk9\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/18079239?v=4?s=100\" width=\"100px;\" alt=\"zwOk9\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ezwOk9\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=zwOk9\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/pmartin-dev\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/45450501?v=4?s=100\" width=\"100px;\" alt=\"Pierre Martin\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePierre Martin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=pmartin-dev\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/7amed3li\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/190534558?v=4?s=100\" width=\"100px;\" alt=\"Hamed Mohamed\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eHamed Mohamed\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/NodeSecure/scanner/commits?author=7amed3li\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\n## License\n\nMIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodesecure%2Fscanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnodesecure%2Fscanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodesecure%2Fscanner/lists"}