| Version | Supported |
|---|---|
| 0.x.x | ✅ |
The --exec flag in lnpm watch allows executing arbitrary shell commands. This is intentional and similar to npm scripts. Users should:
- Only use
--execwith trusted commands - Be aware that commands run with the same permissions as the user
lnpm operates within these directories:
- Store:
~/.lnpm/(configurable viaLNPM_STOREor config) - Project: Current working directory and its
.lnpm/subdirectory - node_modules: Symlinks created in project's
node_modules/
Path traversal attacks are mitigated by:
- Using
filepath.Join()for all path construction - Validating package names don't contain path separators
lnpm uses bbolt, an embedded key-value database:
- Database file:
~/.lnpm/lnpm.db - File permissions:
0600(owner read/write only) - No network access or SQL injection vectors
Hard links share the same inode as the source file:
- Changes to linked files affect all links
- This is intentional for the sync functionality
- Hard links cannot cross filesystem boundaries (lnpm falls back to copy)
Please report security vulnerabilities by:
- DO NOT open a public issue
- Email security concerns to the maintainers
- Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
We will respond within 48 hours and work with you to understand and address the issue.
- Review before publish: Run
lnpm retreatbefore publishing to npm - Trusted sources only: Only
lnpm addpackages you've published yourself - Watch mode: Be cautious with
--execcommands in shared environments - Permissions: Keep
~/.lnpm/permissions restricted