← Home

@onmars/lunar

CLI for Lunar — install globally and run 'lunar' to start your AI companion

20
Versions
MIT
License
No
Install Scripts
Missing
Provenance

Supply chain provenance

Status for the latest visible version.

No SLSA provenance npm registry signatures gitHead linked

Without SLSA provenance there is no cryptographic link between this tarball and the public source — the axios compromise (March 2026) relied on exactly this gap.

Maintainers

marcelagotta

Keywords

lunaraichatbotdiscordclibun

Accepted risks

Findings the reviewer chose to accept rather than block on.

SourceRuleReasonAccepted byWhen
semgrep semgrep:etc-passwd-access AI (semgrep): String literal in test assertion, not actual file access; stable FP for this package. ai

Versions (showing 20 of 20)

Version Deps Published
0.15.1 10 / 0
0.15.0 10 / 0
0.14.0 10 / 0
0.13.0 10 / 0
0.12.2 10 / 0
0.12.1 10 / 0
0.12.0 10 / 0
0.11.4 9 / 0
0.11.3 9 / 0
0.11.2 9 / 0
0.11.1 9 / 0
0.11.0 9 / 0
0.10.3 9 / 0
0.10.2 9 / 0
0.10.1 9 / 0
0.10.0 9 / 0
0.9.1 9 / 0
0.9.0 9 / 0
0.8.0 9 / 0
0.4.7 10 / 0

v0.15.1

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/1fea9bcdd54c089970667ec4f9acb2894d881039/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.15.0

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/fb2457812b83e655510736a12b135cb0d1da184c/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.14.0

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/267370e2de381fb7bb82d766042109e031e928e4/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.13.0

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/38f7eee243c07647bcfb89549b976ff0309ddbb5/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.12.2

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/a154fdca67388c7f49d35d20dc1354f884708e98/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.12.1

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/cee9d9f30fa06fe3500b6b8877667cea5f3732fc/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.12.0

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/b581c54280320aee0d526897abc5aa8033ddf874/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.11.4

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/6b102aafc2ce9138c80d6bb98ec8e0f3e4720564/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.11.3

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/374c1740ec5085ce1131f9802403be0fb81c4be3/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.11.2

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/abad2a52f834115f16c7fbbe0f85803b4bab6360/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.11.1

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/7c29c0915c46290e12a7995f39c3789386c71fe2/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.11.0

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/46381b1844bb250c93e7ecc73a1ede7888eb6263/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.10.3

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/3b2e96ba5747c9329640c6a31bea232a9e04d400/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.10.2

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/9ab2a3091679b4d7c4004182d2eb5fd7fa26a1f7/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.10.1

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/8cc7803eecd2b7bf98fa5eaf68ff9d888537ffb2/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.10.0

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/22a62664606a2937a0cde71ce13d030d26d430ff/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.9.1

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/b21572c25621b2d778ad9d2e017f35474858fd33/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.9.0

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/dfe9b83e22911dd262b113f9aabb2b636ac8cf1f/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.8.0

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/594a06fa4b1b2beff859cc25eefed55f25bd1c7a/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.4.7

2 findings
HIGH etc-passwd-access: src/__tests__/errors.test.ts:198 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/onmars-tech/lunar/blob/03605e375197f6c9c52f1bbf75a4830df9ee08ff/src/__tests__/errors.test.ts#L198 196 | describe('known error: permission denied', () => { 197 | it('matches EACCES', async () => { > 198 | const { errorOutput } = await runWithError('Error: EACCES: permission denied, open /etc/shadow') 199 | 200 | expect(errorOutput).toContain('Permission denied')

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.