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.jsonwill 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-hooksto 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-dotfilesto 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.
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.
Run the secret scanner before git push:
npx @lucassantana/sharekit scan ./sharekit-profileManually 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
scanto confirm.
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.
If you discover a vulnerability in sharekit itself (not in a published profile), please report it privately:
- Do not open a public GitHub issue.
- 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.