Skip to content

Security: LucasSantana-Dev/sharekit

SECURITY.md

Security

Trust model

Installed profiles are fully trusted. When you run sharekit install <user>, the profile's files are written directly to your ~/.claude/ directory with your full permissions — no sandboxing, no policy engine.

This means:

  • A malicious or compromised profile can overwrite any ~/.claude/ file
  • Hooks in a profile's settings.json will run as you when Claude Code executes them
  • Profile authors control exactly which files are written to your config tree

Before installing a third-party profile:

  • Review the repo contents at github.com/<user>/sharekit-profile
  • Pay special attention to .claude/settings.json — hooks there run shell commands under your account
  • Prefer profiles from authors you know or can verify

What sharekit enforces:

  • Files are only written inside ~/.claude/ (or ~/.cursor/, ~/ for shared files) — path escapes are rejected
  • settings.json (hooks) is never installed by default; pass --include-hooks to opt in after reviewing
  • Executable dotfiles in shared/ (.zshrc, .zshenv, .zprofile, .zlogin, .bashrc, .bash_profile, .bash_login, .profile, .bash_logout, .xinitrc, .xprofile) are never installed by default; pass --include-dotfiles to opt in after reviewing. These files run on every shell startup and pose an RCE risk.
  • Secret scanning (sharekit scan) blocks profiles containing high-confidence secrets

applied.json trust note: The backup metadata stored in ~/.sharekit/backups/ is generated by sharekit during install and is trusted during restore/uninstall operations. Tampering with applied.json is rate-limited to the file paths within your home directory.

Symlink note: sharekit copies files as-is from the profile. If a profile contains a symlink, that symlink target is the profile author's responsibility and is not audited by sharekit.

Risk Model

Profiles are published to public GitHub repositories and installed directly into your home directory. Before pushing a profile, you are responsible for ensuring it contains no secrets.

Review Before Publishing

Run the secret scanner before git push:

npx @lucassantana/sharekit scan ./sharekit-profile

Manually review your profile's structure:

  • CLAUDE.md — check for inline secrets, API keys, or tokens in examples or hooks.
  • ~/.cursor/.cursorrules — verify no credentials in LLM instructions.
  • settings.json — review hooks and any environment variables for sensitive values.
  • Redact or remove any real secrets, then re-run scan to confirm.

Scanner Limitations

The scanner detects common patterns (private keys, AWS/GitHub/Slack tokens, bearer tokens, sensitive env-var names, home-path leaks) but is best-effort only. Obfuscated or custom secret formats may not be caught. You are fully responsible for auditing your profile.

Reporting Security Issues

If you discover a vulnerability in sharekit itself (not in a published profile), please report it privately:

  1. Do not open a public GitHub issue.
  2. Email the security concern to lucas.diassantana@gmail.com with the subject line [sharekit] Security Report.

We will acknowledge your report within 48 hours and work to address it.

There aren't any published security advisories