Bootstraps the repository with: - docs/DESIGN.md — full design and requirements document (canonical source of truth; implementation flows from here) - README.md — project overview and roadmap - LICENSE — GPL-3.0 - CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md — community files - CLAUDE.md — project memory for AI assistants - .editorconfig, .gitignore — editor/VCS config - .github/ — CI workflow stub, issue templates, PR template No source code yet; the design doc describes the v1 target. Next: add go.mod and the internal/ package skeleton matching DESIGN.md §6.3. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Security Policy
Supported versions
limen is in pre-1.0 development. Until a tagged 1.0 release, only the tip of the develop branch receives security fixes. Once 1.0 ships, the latest minor release receives fixes.
Reporting a vulnerability
Please do not open a public GitHub issue for security vulnerabilities.
Instead, report privately by either of:
- GitHub Security Advisory: open a private advisory at https://github.com/KofTwentyTwo/limen/security/advisories/new.
- Email: james@koftwentytwo.com.
Please include:
- A description of the issue and its impact.
- Steps to reproduce, or a proof-of-concept if you have one.
- The version of
limen(or commit SHA) where you observed the issue. - Your environment: OS, terminal emulator, Go version if relevant.
You can expect:
- An acknowledgement within 72 hours.
- A status update within 7 days, including a planned fix timeline or a rationale for closing the report.
- Credit in the release notes when the fix ships, if you'd like.
Scope
limen is a CLI tool that reads JSON from local disk and shells out to ssh and tmux. The primary attack surface to consider:
hosts.jsonparsing. Malformed input must fail safely, not exec unexpected commands.- SSH command construction. Values from
hosts.jsonend up as arguments tossh. Verify nothing in the construction path allows argument injection (e.g. a hostname like--option=...). - The
tmux lsoutput parser. Output is treated as data; nothing should be evaluated as a command.
Out of scope:
- Vulnerabilities in
ssh,tmux, the user's~/.ssh/config, or the bubbletea / lipgloss libraries themselves. Report those upstream. - Bugs that require an attacker to already have write access to the user's
~/.config/limen/directory — at that point they own the user account.