@opensip-tools/core
Core framework for OpenSIP Tools — check definitions, registry, recipes
Supply chain provenance
Status for the latest visible version.
Maintainers
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| typosquat | typosquat.levenshtein:cors | AI (typosquat): Scoped package @opensip-tools/core; no impersonation intent — 'core' is a generic word, not a typo of 'cors'. | ai | |
| semgrep | semgrep:etc-passwd-access | AI (semgrep): Fires inside a test file using '/etc/passwd' as a literal dependency name string to test plugin discovery; not credential harvesting. | ai |
Versions (showing 37 of 37)
| Version | Deps | Published |
|---|---|---|
| 2.8.0 | 3 / 4 | |
| 2.7.1 | 3 / 4 | |
| 2.7.0 | 3 / 4 | |
| 2.6.2 | 3 / 4 | |
| 2.6.1 | 3 / 4 | |
| 2.6.0 | 3 / 4 | |
| 2.5.2 | 3 / 4 | |
| 2.5.1 | 3 / 4 | |
| 2.4.1 | 3 / 4 | |
| 2.4.0 | 3 / 4 | |
| 2.3.3 | 3 / 4 | |
| 2.3.2 | 3 / 4 | |
| 2.3.1 | 3 / 4 | |
| 2.3.0 | 3 / 4 | |
| 2.2.1 | 3 / 4 | |
| 2.1.0 | 3 / 4 | |
| 2.0.1 | 3 / 3 | |
| 2.0.0 | 3 / 3 | |
| 1.3.1 | 3 / 2 | |
| 1.3.0 | 3 / 2 | |
| 1.2.0 | 3 / 2 | |
| 1.0.10 | 3 / 2 | |
| 1.0.9 | 3 / 2 | |
| 1.0.8 | 3 / 2 | |
| 1.0.7 | 3 / 2 | |
| 1.0.6 | 3 / 2 | |
| 1.0.5 | 3 / 2 | |
| 1.0.3 | 3 / 2 | |
| 1.0.1 | 3 / 2 | |
| 0.6.1 | 6 / 3 | |
| 0.6.0 | 6 / 3 | |
| 0.5.0 | 6 / 3 | |
| 0.4.0 | 6 / 3 | |
| 0.3.0 | 6 / 3 | |
| 0.2.5 | 6 / 3 | |
| 0.2.4 | 6 / 3 | |
| 0.1.0 | 6 / 3 |
v2.8.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.7.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.7.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.6.2
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.6.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.6.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.5.2
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.5.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.4.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.4.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.3.3
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.3.2
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.3.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.3.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.2.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.1.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.0.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.0.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v1.3.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v1.3.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v1.2.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v1.0.10
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v1.0.9
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v1.0.8
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v1.0.7
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v1.0.6
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v1.0.5
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v1.0.3
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v1.0.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.6.1
5 findingsPackage name '@opensip-tools/core' is 1 edit(s) away from popular package 'cors'.
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 226 | writeFileSync(join(fitDir, 'package.json'), JSON.stringify({ 227 | name: 'plugins-host', > 228 | dependencies: { '/etc/passwd': '*' }, 229 | })) 230 |
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 254 | 255 | // Set up a target file outside the plugin dir — this stands in for > 256 | // /etc/passwd or any other attacker-readable file. 257 | const outsideTarget = join(testDir, 'evil-target.mjs') 258 | writeFileSync(outsideTarget, 'export const checks = []')
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 338 | * `parent` or located inside it. Used as a security boundary check against 339 | * attacker-influenced paths in plugin discovery: a malicious package.json > 340 | * dependency key (`"../../etc/passwd"`) or a symlink planted in the plugin 341 | * dir would pass `existsSync` / `statSync` but fail this check. 342 | *
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.6.0
5 findingsPackage name '@opensip-tools/core' is 1 edit(s) away from popular package 'cors'.
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 226 | writeFileSync(join(fitDir, 'package.json'), JSON.stringify({ 227 | name: 'plugins-host', > 228 | dependencies: { '/etc/passwd': '*' }, 229 | })) 230 |
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 254 | 255 | // Set up a target file outside the plugin dir — this stands in for > 256 | // /etc/passwd or any other attacker-readable file. 257 | const outsideTarget = join(testDir, 'evil-target.mjs') 258 | writeFileSync(outsideTarget, 'export const checks = []')
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 338 | * `parent` or located inside it. Used as a security boundary check against 339 | * attacker-influenced paths in plugin discovery: a malicious package.json > 340 | * dependency key (`"../../etc/passwd"`) or a symlink planted in the plugin 341 | * dir would pass `existsSync` / `statSync` but fail this check. 342 | *
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.5.0
5 findingsPackage name '@opensip-tools/core' is 1 edit(s) away from popular package 'cors'.
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 226 | writeFileSync(join(fitDir, 'package.json'), JSON.stringify({ 227 | name: 'plugins-host', > 228 | dependencies: { '/etc/passwd': '*' }, 229 | })) 230 |
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 254 | 255 | // Set up a target file outside the plugin dir — this stands in for > 256 | // /etc/passwd or any other attacker-readable file. 257 | const outsideTarget = join(testDir, 'evil-target.mjs') 258 | writeFileSync(outsideTarget, 'export const checks = []')
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 338 | * `parent` or located inside it. Used as a security boundary check against 339 | * attacker-influenced paths in plugin discovery: a malicious package.json > 340 | * dependency key (`"../../etc/passwd"`) or a symlink planted in the plugin 341 | * dir would pass `existsSync` / `statSync` but fail this check. 342 | *
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.4.0
5 findingsPackage name '@opensip-tools/core' is 1 edit(s) away from popular package 'cors'.
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 226 | writeFileSync(join(fitDir, 'package.json'), JSON.stringify({ 227 | name: 'plugins-host', > 228 | dependencies: { '/etc/passwd': '*' }, 229 | })) 230 |
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 254 | 255 | // Set up a target file outside the plugin dir — this stands in for > 256 | // /etc/passwd or any other attacker-readable file. 257 | const outsideTarget = join(testDir, 'evil-target.mjs') 258 | writeFileSync(outsideTarget, 'export const checks = []')
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 338 | * `parent` or located inside it. Used as a security boundary check against 339 | * attacker-influenced paths in plugin discovery: a malicious package.json > 340 | * dependency key (`"../../etc/passwd"`) or a symlink planted in the plugin 341 | * dir would pass `existsSync` / `statSync` but fail this check. 342 | *
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.0
5 findingsPackage name '@opensip-tools/core' is 1 edit(s) away from popular package 'cors'.
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 226 | writeFileSync(join(fitDir, 'package.json'), JSON.stringify({ 227 | name: 'plugins-host', > 228 | dependencies: { '/etc/passwd': '*' }, 229 | })) 230 |
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 254 | 255 | // Set up a target file outside the plugin dir — this stands in for > 256 | // /etc/passwd or any other attacker-readable file. 257 | const outsideTarget = join(testDir, 'evil-target.mjs') 258 | writeFileSync(outsideTarget, 'export const checks = []')
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 338 | * `parent` or located inside it. Used as a security boundary check against 339 | * attacker-influenced paths in plugin discovery: a malicious package.json > 340 | * dependency key (`"../../etc/passwd"`) or a symlink planted in the plugin 341 | * dir would pass `existsSync` / `statSync` but fail this check. 342 | *
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.2.5
5 findingsPackage name '@opensip-tools/core' is 1 edit(s) away from popular package 'cors'.
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 226 | writeFileSync(join(fitDir, 'package.json'), JSON.stringify({ 227 | name: 'plugins-host', > 228 | dependencies: { '/etc/passwd': '*' }, 229 | })) 230 |
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 254 | 255 | // Set up a target file outside the plugin dir — this stands in for > 256 | // /etc/passwd or any other attacker-readable file. 257 | const outsideTarget = join(testDir, 'evil-target.mjs') 258 | writeFileSync(outsideTarget, 'export const checks = []')
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux 338 | * `parent` or located inside it. Used as a security boundary check against 339 | * attacker-influenced paths in plugin discovery: a malicious package.json > 340 | * dependency key (`"../../etc/passwd"`) or a symlink planted in the plugin 341 | * dir would pass `existsSync` / `statSync` but fail this check. 342 | *
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.2.4
2 findingsPackage name '@opensip-tools/core' is 1 edit(s) away from popular package 'cors'.
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.0
2 findingsPackage name '@opensip-tools/core' is 1 edit(s) away from popular package 'cors'.
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.