mirror of
https://github.com/aaronsb/obsidian-mcp-plugin.git
synced 2026-07-22 06:45:14 +00:00
`claude mcp add --header "Authorization: Bearer <token>"` defeats secret-at-rest protection: the CLI resolves and echoes the header value to stdout (captured by any parent process, incl. AI agents) and on macOS the spawned MCP child argv is written to the unified log. Editing the MCP config file directly avoids both vectors. - Settings UI: new shared `renderClaudeCodeConnection()` renders a ready-to-paste JSON config + a security warning for the authenticated path, and the safe plain CLI command only when auth is disabled. Used by both the initial render and the live-refresh handler so they cannot drift (the previous two copies had already diverged). - README / SECURITY.md / troubleshooting.md / issue-32 response template: drop `mcp-remote` + `NODE_TLS_REJECT_UNAUTHORIZED=0`, document native HTTP transport and proper self-signed-cert trust (macOS Keychain + NODE_EXTRA_CA_CERTS for Bun-based runtimes), add the `--header` warning. - styles.css: `.mcp-security-warning`. Reimplemented from PR #143 against current `main` (the settings UI had been restructured since the PR was opened); supersedes and closes out #143. ADR-100 left untouched — accepted ADRs are immutable records; the `--header` deprecation is recorded in ADR-104's context instead. Co-authored-by: Earl Plak <5597016+laplaque@users.noreply.github.com>
2 KiB
2 KiB
Security Policy
Reporting Security Vulnerabilities
We take security seriously. If you discover a security vulnerability, please:
- DO NOT open a public issue
- DO report it via GitHub Security Advisories: Report a vulnerability
- OR email details to the maintainer (check commit history for email)
What to Include
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
Known Security Issues
We're actively working on fixing these security vulnerabilities:
| Issue | Status | Priority |
|---|---|---|
| No authentication on MCP server | ✅ Done | CRITICAL |
| Path traversal in file operations | 📋 Planned | CRITICAL |
| Missing input validation | 📋 Planned | HIGH |
| Insecure session management | 📋 Planned | HIGH |
See our security issues for details.
Security Best Practices
Until security improvements are complete:
- Only use on trusted networks (localhost only)
- Don't expose the MCP port to the internet
- Monitor vault access for unexpected changes
- Keep backups of your vault
- Review plugin permissions in Obsidian
- Edit MCP config files directly instead of using
claude mcp add --header— the CLI echoes resolved header values to stdout, exposing your API key to parent processes and (on macOS) the unified log
Secure Configuration
{
"httpEnabled": true,
"httpPort": 3001, // Change from default
"autoDetectPortConflicts": true,
"debugLogging": false // Disable in production
}
Future Security Enhancements
- API key authentication
- Path validation framework
- Input sanitization
- Rate limiting
- Audit logging
- Encrypted sessions
Acknowledgments
Thanks to security researchers who responsibly disclose vulnerabilities.