rappi-mcp@0.2.1
CAUTION· static onlyPublisher claims: "MCP server for Rappi Chile — browse stores, search products, manage cart and checkout via Claude" Observed in sandbox: static analysis only — behavior not yet observed.
Coverage
Static only; nothing was run yet.The label rests on the code, the instruction files and the publisher. The honeypot run replaces this verdict when it completes.
Before you give it your token
- It will ask for
RAPPI_ACCESS_TOKENRAPPI_REFRESH_TOKENConfiguration, not credentials: CHROME_PATH, RAPPI_DEVICE_ID, RAPPI_USER_ID- Where it talks to
- rappi.cl (its own)
- What the honeypot saw
- nothing has run yet
- What we could not test
- everything: the server has not run yet
Run it before you trust it. Nothing has run yet: the code was read, the server was not. `vet-skills try` runs this exact version in the honeypot in about a minute.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is [email protected] safe to install?
KillerSkills analysed it statically (a sandbox run is pending) on 2026-11-15 and scored it 58/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Access to sensitive file paths; Access to sensitive file paths. Summary: static analysis only — behavior not yet observed.
Behavior trace
Queued for honeypot run · static analysis onlyThis version has not been detonated yet. The score above counts behavior as unknown (50/100), so it cannot read Verified until the honeypot run completes and replaces this verdict.
Static findings
Config (via .env or environment):Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.- Credentials are stored in `.env` (git-ignored)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.rappi_auth() # launches Chrome, waits for login, writes .env automaticallyFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.load_dotenv(Path.home() / ".rappi-mcp" / ".env")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."""Reload tokens from .env and rappi_client code into the running server (no Chrome needed)."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.const c = document.cookie;Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.ENV_PATH = os.path.join(os.path.dirname(__file__), ".env")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.Extract Rappi credentials from Chrome and save them to .env.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.| `rappi_auth` | Extract tokens from Chrome via CDP and write to `.env` |Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.return subprocess.Popen([Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.| `rappi_reload` | Reload `.env` tokens into the running server without restart |Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.rappi_auth — extract tokens from running Chrome and write .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
No advisories in OSV for rappi-mcp@0.2.1 as of 55 min ago. This is the package itself, not its dependencies.
What would make this Verified
22 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Unclaimed publisher≈ +8 on the totalClaim bgirardi99: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- document.cookie access≈ +4 on the totalReplace encoded or assembled strings with plain literals and remove undeclared network calls.
- Python subprocess execution detected≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.