{"id":1247158,"name":"ip","ecosystem":"npm","description":"[![](https://badge.fury.io/js/ip.svg)](https://www.npmjs.com/package/ip)","homepage":"https://github.com/indutny/node-ip","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/indutny/node-ip","keywords_array":[],"namespace":null,"versions_count":26,"first_release_published_at":"2012-08-15T09:10:05.826Z","latest_release_published_at":"2024-02-19T05:13:16.771Z","latest_release_number":"2.0.1","last_synced_at":"2026-06-18T14:00:42.188Z","created_at":"2022-04-08T14:49:27.307Z","updated_at":"2026-06-18T14:00:42.188Z","registry_url":"https://www.npmjs.com/package/ip","install_command":"npm install ip","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"2.0.1","stable":"0.1.0"}},"repo_metadata":{"id":4293473,"uuid":"5424019","full_name":"indutny/node-ip","owner":"indutny","description":"IP address tools for node.js","archived":false,"fork":false,"pushed_at":"2024-08-20T06:56:14.000Z","size":113,"stargazers_count":1542,"open_issues_count":88,"forks_count":227,"subscribers_count":34,"default_branch":"main","last_synced_at":"2026-06-03T03:29:33.999Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/indutny.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-08-15T09:04:36.000Z","updated_at":"2026-05-11T13:05:03.000Z","dependencies_parsed_at":"2023-07-05T20:17:04.963Z","dependency_job_id":"14afaff3-d251-4c59-8b57-c7d91958ec8e","html_url":"https://github.com/indutny/node-ip","commit_stats":{"total_commits":72,"total_committers":24,"mean_commits":3.0,"dds":0.7083333333333333,"last_synced_commit":"3b0994a74eca51df01f08c40d6a65ba0e1845d04"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/indutny/node-ip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/indutny","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/sbom","scorecard":{"id":487654,"data":{"date":"2025-08-11","repo":{"name":"github.com/indutny/node-ip","commit":"3b0994a74eca51df01f08c40d6a65ba0e1845d04"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.7,"checks":[{"name":"Code-Review","score":0,"reason":"Found 2/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":3,"reason":"dependency not pinned by hash detected -- score normalized to 3","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/indutny/node-ip/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/indutny/node-ip/test.yml/main?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 3 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":3,"reason":"7 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-76p7-773f-r4q5","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: CVE-2024-29415"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T18:12:48.498Z","repository_id":4293473,"created_at":"2025-08-19T18:12:48.498Z","updated_at":"2025-08-19T18:12:48.498Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34121010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"},"owner_record":{"login":"indutny","name":"Fedor Indutny","uuid":"238531","kind":"user","description":"While being kept on ice in a Cryostasis Chamber, Fedor Indutny was held in the HYDRA Siberian Facility alongside other Winter Soldiers...","email":"","website":"https://mean.engineer/@indutny","location":"USA","twitter":null,"company":"@signalapp","icon_url":"https://avatars.githubusercontent.com/u/238531?u=e65bd9591c92183effb7df9bf06b5d88418dce1c\u0026v=4","repositories_count":397,"last_synced_at":"2025-11-21T07:03:08.291Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/indutny","funding_links":["https://github.com/sponsors/indutny"],"total_stars":12320,"followers":3575,"following":9,"created_at":"2022-11-02T16:18:54.854Z","updated_at":"2025-11-21T07:03:08.291Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/indutny","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/indutny/repositories"},"tags":[{"name":"v2.0.1","sha":"3b0994a74eca51df01f08c40d6a65ba0e1845d04","kind":"tag","published_at":"2024-02-19T05:12:56.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v2.0.1","html_url":"https://github.com/indutny/node-ip/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v2.0.1/manifests"},{"name":"v1.1.9","sha":"1ecbf2fd8c0cc85e44c3b587d2de641f50dc0217","kind":"tag","published_at":"2024-02-19T04:29:08.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v1.1.9","html_url":"https://github.com/indutny/node-ip/releases/tag/v1.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v1.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.9/manifests"},{"name":"v1.1.8","sha":"5dc3b2f3f4b4690fa9a918fa5085b6fca9979fca","kind":"tag","published_at":"2022-05-11T03:08:32.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v1.1.8","html_url":"https://github.com/indutny/node-ip/releases/tag/v1.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v1.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.8/manifests"},{"name":"v1.1.7","sha":"088c9e5664e43cda2a43c1e5b4acf921bb6613a9","kind":"tag","published_at":"2022-05-10T16:27:03.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v1.1.7","html_url":"https://github.com/indutny/node-ip/releases/tag/v1.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v1.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.7/manifests"},{"name":"v2.0.0","sha":"4b2f4e7cb52a723fd286611385487afe85f01579","kind":"tag","published_at":"2022-05-10T04:50:36.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v2.0.0","html_url":"https://github.com/indutny/node-ip/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v2.0.0/manifests"},{"name":"v1.1.6","sha":"af82ef42adc513b20f7d1213421ca4b901d10f3d","kind":"tag","published_at":"2022-05-10T03:53:19.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v1.1.6","html_url":"https://github.com/indutny/node-ip/releases/tag/v1.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v1.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.6/manifests"},{"name":"v1.1.5","sha":"43e442366bf5a93493c8c4c36736f87d675b0c3d","kind":"tag","published_at":"2017-03-04T01:38:14.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v1.1.5","html_url":"https://github.com/indutny/node-ip/releases/tag/v1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v1.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.5/manifests"},{"name":"v1.1.4","sha":"d413771ed7497ce61ddc5071a44549e2804482bf","kind":"tag","published_at":"2016-10-31T18:38:36.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v1.1.4","html_url":"https://github.com/indutny/node-ip/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.4/manifests"},{"name":"v1.1.2","sha":"ed9b6cada5ae340229dbd428401a7caaa7082f73","kind":"tag","published_at":"2016-03-04T19:29:35.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v1.1.2","html_url":"https://github.com/indutny/node-ip/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"580938b8ae94f689eb15b274ff11f57e2d84bff5","kind":"tag","published_at":"2016-03-02T14:30:35.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v1.1.1","html_url":"https://github.com/indutny/node-ip/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"52f4ad3102669633f4d5585ac9c3e4da4e8379c6","kind":"tag","published_at":"2015-11-18T16:27:42.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v1.1.0","html_url":"https://github.com/indutny/node-ip/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.1.0/manifests"},{"name":"v1.0.2","sha":"f4d0ea6ea9eee10914f9d70c5be4d0997043b9d3","kind":"tag","published_at":"2015-10-29T01:43:44.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v1.0.2","html_url":"https://github.com/indutny/node-ip/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"5fa3ae74c70f2af2f3bc1b8784685c5bc004d468","kind":"tag","published_at":"2015-09-10T01:42:27.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v1.0.1","html_url":"https://github.com/indutny/node-ip/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"2c5b85dc46076551d051ea9010088d9ecb593a78","kind":"tag","published_at":"2015-09-05T03:22:43.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v1.0.0","html_url":"https://github.com/indutny/node-ip/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v1.0.0/manifests"},{"name":"v0.3.4","sha":"6e947cbe56f8828f213156d883d641d30e55cc6d","kind":"tag","published_at":"2015-09-05T03:22:39.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v0.3.4","html_url":"https://github.com/indutny/node-ip/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7798e2d222718087863d8a5a99e3c02f3a30e2b9","kind":"tag","published_at":"2015-06-01T16:27:54.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v0.3.3","html_url":"https://github.com/indutny/node-ip/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"978e13d19531c9d9172044654df9dfb7ed116e45","kind":"tag","published_at":"2014-09-23T10:17:27.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v0.3.2","html_url":"https://github.com/indutny/node-ip/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"c26e654347aaad70906aa1f03a58578d5b9f294c","kind":"tag","published_at":"2014-07-31T18:50:58.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v0.3.1","html_url":"https://github.com/indutny/node-ip/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"3e1be7c2fef235f6570d8d1466ddd919b4fd7279","kind":"tag","published_at":"2014-02-02T20:08:10.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v0.3.0","html_url":"https://github.com/indutny/node-ip/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"1e818c512d6dbcfc1b3cee9da6ea7ee158a62f8c","kind":"tag","published_at":"2014-01-18T23:06:00.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v0.2.0","html_url":"https://github.com/indutny/node-ip/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"01420bbd601bf2a08a138d8795954797c74e939c","kind":"tag","published_at":"2013-05-29T09:37:22.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v0.1.0","html_url":"https://github.com/indutny/node-ip/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.1.0/manifests"},{"name":"v0.0.5","sha":"8bfdd22d218b3c265414e2430f2e15473a816a44","kind":"tag","published_at":"2013-02-20T11:14:51.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v0.0.5","html_url":"https://github.com/indutny/node-ip/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"3b7b66b444bcd5637722a42d82bf68083f6c578b","kind":"tag","published_at":"2013-02-11T09:23:17.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v0.0.4","html_url":"https://github.com/indutny/node-ip/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"48ee3b97a17814bd002503442a90adbbedc6cd92","kind":"tag","published_at":"2013-02-09T10:52:34.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v0.0.3","html_url":"https://github.com/indutny/node-ip/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"20515e684f78958c4ff97b63d4184ccb7ffed925","kind":"tag","published_at":"2013-02-03T12:28:35.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v0.0.2","html_url":"https://github.com/indutny/node-ip/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"875722587443f8bce8b958c7e8de506d27966371","kind":"tag","published_at":"2012-08-15T09:09:18.000Z","download_url":"https://codeload.github.com/indutny/node-ip/tar.gz/v0.0.1","html_url":"https://github.com/indutny/node-ip/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/indutny/node-ip@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-06-17T14:59:42.774Z","dependent_packages_count":4157,"downloads":38533555,"downloads_period":"last-month","dependent_repos_count":2948597,"rankings":{"downloads":0.011663809580916036,"dependent_repos_count":0.0060509434680339055,"dependent_packages_count":0.020836054204406346,"stargazers_count":2.12779647364157,"forks_count":2.278330804805599,"docker_downloads_count":0.002299906114546824,"average":0.7411629986358453},"purl":"pkg:npm/ip","advisories":[{"uuid":"GSA_kwCzR0hTQS0ycDU3LXJtOXctZ3ZmcM4AA8mQ","url":"https://github.com/advisories/GHSA-2p57-rm9w-gvfp","title":"ip SSRF improper categorization in isPublic","description":"The ip package through 2.0.1 for Node.js might allow SSRF because some IP addresses (such as 127.1, 01200034567, 012.1.2.3, 000:0:0000::01, and ::fFFf:127.0.0.1) are improperly categorized as globally routable via isPublic. NOTE: this issue exists because of an incomplete fix for CVE-2023-42282.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2024-06-02T22:29:29.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.1,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","references":["https://nvd.nist.gov/vuln/detail/CVE-2024-29415","https://github.com/indutny/node-ip/issues/150","https://github.com/indutny/node-ip/pull/143","https://github.com/indutny/node-ip/pull/144","https://security.netapp.com/advisory/ntap-20250117-0010","https://github.com/advisories/GHSA-2p57-rm9w-gvfp"],"source_kind":"github","identifiers":["GHSA-2p57-rm9w-gvfp","CVE-2024-29415"],"repository_url":"https://github.com/indutny/node-ip","blast_radius":0.0,"created_at":"2024-06-02T23:05:13.975Z","updated_at":"2026-05-19T03:05:48.750Z","epss_percentage":0.8434,"epss_percentile":0.99333,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS0ycDU3LXJtOXctZ3ZmcM4AA8mQ","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS0ycDU3LXJtOXctZ3ZmcM4AA8mQ","packages":[{"ecosystem":"npm","package_name":"ip","versions":[{"first_patched_version":null,"vulnerable_version_range":"\u003c= 2.0.1"}],"purl":"pkg:npm/ip"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS0ycDU3LXJtOXctZ3ZmcM4AA8mQ/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS03OHhqLWNnaDUtMmgyMs4AA5Ki","url":"https://github.com/advisories/GHSA-78xj-cgh5-2h22","title":"NPM IP package incorrectly identifies some private IP addresses as public","description":"The `isPublic()` function in the NPM package `ip` doesn't correctly identify certain private IP addresses in uncommon formats such as `0x7F.1` as private. Instead, it reports them as public by returning `true`. This can lead to security issues such as Server-Side Request Forgery (SSRF) if `isPublic()` is used to protect sensitive code paths when passed user input. Versions 1.1.9 and 2.0.1 fix the issue.","origin":"UNSPECIFIED","severity":"LOW","published_at":"2024-02-08T18:30:39.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-42282","https://cosmosofcyberspace.github.io/npm_ip_cve/npm_ip_cve.html","https://github.com/JoshGlazebrook/socks/issues/93#issue-2128357447","https://github.com/github/advisory-database/pull/3504#issuecomment-1937179999","https://github.com/indutny/node-ip/pull/138","https://github.com/indutny/node-ip/commit/32f468f1245574785ec080705737a579be1223aa","https://github.com/indutny/node-ip/commit/6a3ada9b471b09d5f0f5be264911ab564bf67894","https://github.com/advisories/GHSA-78xj-cgh5-2h22"],"source_kind":"github","identifiers":["GHSA-78xj-cgh5-2h22","CVE-2023-42282"],"repository_url":"https://github.com/JoshGlazebrook/socks","blast_radius":0.0,"created_at":"2024-02-09T16:06:01.031Z","updated_at":"2026-06-14T01:06:03.803Z","epss_percentage":0.00652,"epss_percentile":0.71325,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS03OHhqLWNnaDUtMmgyMs4AA5Ki","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS03OHhqLWNnaDUtMmgyMs4AA5Ki","packages":[{"ecosystem":"npm","package_name":"ip","versions":[{"first_patched_version":"1.1.9","vulnerable_version_range":"\u003c 1.1.9"},{"first_patched_version":"2.0.1","vulnerable_version_range":"= 2.0.0"}],"purl":"pkg:npm/ip"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS03OHhqLWNnaDUtMmgyMs4AA5Ki/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/ip","docker_dependents_count":64240,"docker_downloads_count":15105918426,"usage_url":"https://repos.ecosyste.ms/usage/npm/ip","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/ip/dependencies","status":null,"funding_links":["https://github.com/sponsors/indutny"],"critical":true,"issue_metadata":{"last_synced_at":"2026-05-27T13:21:01.968Z","issues_count":74,"pull_requests_count":71,"avg_time_to_close_issue":13024103.0,"avg_time_to_close_pull_request":38234094.972222224,"issues_closed_count":20,"pull_requests_closed_count":36,"pull_request_authors_count":54,"issue_authors_count":68,"avg_comments_per_issue":1.8783783783783785,"avg_comments_per_pull_request":2.267605633802817,"merged_pull_requests_count":6,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":4,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":1557471.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":0.6666666666666666,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/indutny%2Fnode-ip/issues","maintainers":[{"login":"bcbailey","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bcbailey"},{"login":"bryanwayb","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bryanwayb"},{"login":"thurmda","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/thurmda"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/ip/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/ip/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/ip/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/ip/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/ip/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/ip/codemeta","maintainers":[{"uuid":"mmalecki","login":"mmalecki","name":null,"email":"me@mmalecki.com","url":null,"packages_count":165,"html_url":"https://www.npmjs.com/~mmalecki","role":null,"created_at":"2022-11-10T12:03:57.299Z","updated_at":"2022-11-10T12:03:57.299Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/mmalecki/packages"},{"uuid":"indutny","login":"indutny","name":null,"email":"blackhole@livebox.sh","url":null,"packages_count":255,"html_url":"https://www.npmjs.com/~indutny","role":null,"created_at":"2022-11-10T12:03:57.302Z","updated_at":"2022-11-10T12:03:57.302Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/indutny/packages"},{"uuid":"fedor.indutny","login":"fedor.indutny","name":null,"email":"fedor.indutny@gmail.com","url":null,"packages_count":54,"html_url":"https://www.npmjs.com/~fedor.indutny","role":null,"created_at":"2022-11-10T12:03:57.296Z","updated_at":"2022-11-10T12:03:57.296Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/fedor.indutny/packages"},{"uuid":"indexzero","login":"indexzero","name":null,"email":"charlie.robbins@gmail.com","url":null,"packages_count":281,"html_url":"https://www.npmjs.com/~indexzero","role":null,"created_at":"2022-11-10T12:03:57.308Z","updated_at":"2022-11-10T12:03:57.308Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/indexzero/packages"},{"uuid":"bcbailey","login":"bcbailey","name":null,"email":"brad@memoryleak.org","url":null,"packages_count":4,"html_url":"https://www.npmjs.com/~bcbailey","role":null,"created_at":"2022-11-10T12:03:57.293Z","updated_at":"2022-11-10T12:03:57.293Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/bcbailey/packages"}]}