Claude Code, Plugin
Rappi Plugin Claude Openclaw
Rappi food delivery plugin for Claude.
Compatibility: Not stated.
Grade C
One Medium finding. Read the findings before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
INSTALL_REMOTE_SCRIPT
Why this grade
- INSTALL_REMOTE_SCRIPT Medium
Fetches a script from the network and runs it (a pipe to a shell, or an install hook with a URL).
install-openclaw.sh, line 32
curl -LsSf https://astral.sh/uv/install.sh | sh
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Note
requests shell access. The manifest names this permission.
PERMISSION_SHELL_DECLARED
src/rappi/cli/auth.py, line 241
result = subprocess.run(argv, shell=False, capture_output=True, cwd=REPO_DIR, check=False)
.parallel-plans/2026-09-28-1132-token-auto-refresh.md, line 99
through `subprocess.run([...], shell=False, capture_output=True)` in the repo dir. Print only success or failure, **never
.parallel-plans/2026-09-28-1132-token-auto-refresh.md, line 146
11. **No-leak test:** across a refresh, a failed refresh, `auth status`, and `push-railway`, with `subprocess.run` mocked,
Show more
.parallel-plans/2026-09-28-1132-token-auto-refresh.md, line 148
12. `push-railway` calls `subprocess.run` with a list argv, `shell=False`, and all three `--set` pairs, and refuses when
.parallel-plans/done-batch-1.md, line 20
- [✓] 11 no-leak: `TestNoTokenLeaks::test_no_token_material_in_output_or_logs` covers refresh ok, refresh failed, client 401 plus failed refresh, `auth status`, and `push-railway`
Install and update
Serious
install fetches a script from the network.
INSTALL_REMOTE_SCRIPT
install-openclaw.sh, line 32
curl -LsSf https://astral.sh/uv/install.sh | sh
Network
Pass
No network call found.
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_DOTENV
src/rappi/config.py, line 82
env_token = os.environ.get("RAPPI_TOKEN") or None
src/rappi/config.py, line 83
env_refresh = os.environ.get("RAPPI_REFRESH_TOKEN") or None
src/rappi/mcp/server.py, line 1787
if os.environ.get("RAPPI_REFRESH_TOKEN") and not os.environ.get("RAPPI_CONFIG_DIR"):
Show more
.env.example, line 2
# Copy this to .env and fill in your values (or set in Railway dashboard)
.gitignore, line 12
# Environment variables (contains secrets)
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Pass
No encoded or minified payload found.
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 4725d631cbdc. requests shell access. The manifest names this permission. install fetches a script from the network. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: 4725d631cbdc0290e7de5f22a8de9506481a7ebc
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.