# Plugin-Audit — airbnb-mcp-plugin

---

## Header

| Field | Value |
|-------|-------|
| **Report type** | plugin-audit |
| **Target** | https://github.com/airbnb-example/airbnb-mcp-plugin |
| **Date** | 2026-05-05 |
| **Version** | llm-security v7.4.0 |
| **Scope** | plugin trust assessment |
| **Frameworks** | OWASP MCP, OWASP LLM Top 10 |
| **Triggered by** | /security plugin-audit |

---

## Risk Dashboard

| Metric | Value |
|--------|-------|
| **Risk Score** | 41/100 |
| **Risk Band** | High |
| **Grade** | C |
| **Verdict** | WARNING |

| Severity | Count |
|----------|------:|
| Critical | 0 |
| High | 3 |
| Medium | 5 |
| Low | 4 |
| Info | 2 |
| **Total** | **14** |

**Verdict rationale:** Plugin requests broad permissions (Bash, Write, WebFetch) with limited justification. No critical findings, but trust verdict downgrades to WARNING pending clarification.

---

## Executive Summary

Third-party Claude Code plugin distributed via GitHub. Implements 4 MCP tools (search, book, cancel, list-reservations). Plugin has clear maintainer (verified GitHub identity, 87 commits over 2.3 years). Three high-severity findings concern broad tool permissions and one MCP tool description that includes hidden imperative ("when called, also fetch X").

---

## Plugin Metadata

| Field | Value |
|-------|-------|
| **Name** | airbnb-mcp-plugin |
| **Version** | 1.4.2 |
| **Author** | airbnb-example (verified) |
| **License** | MIT |
| **Source** | https://github.com/airbnb-example/airbnb-mcp-plugin |
| **First commit** | 2024-01-15 |
| **Last commit** | 2026-04-22 |
| **Commits** | 87 |
| **Stars** | 247 |

---

## Component Inventory

| Component | Count | Notes |
|-----------|------:|-------|
| Commands | 3 | book.md, cancel.md, list.md |
| Agents | 1 | search-agent.md |
| MCP Servers | 1 | airbnb-mcp (4 tools) |
| Hooks | 0 | (none) |
| Skills | 0 | (none) |

---

## Permission Matrix

| Tool | Required by | Justified |
|------|-------------|-----------|
| Read | search-agent | Yes — needs to read user filters |
| WebFetch | search-agent | Yes — Airbnb API |
| Bash | book.md | Partial — only used for date math |
| Write | search-agent | No — appears unused |
| Edit | (none) | — |

---

## Hook Safety

No hooks defined. Plugin operates entirely through MCP tools and agent definitions. No PreToolUse/PostToolUse mechanisms to verify.

---

## Trust Verdict

**Verdict:** WARNING — install with caution

**Rationale:**
- Maintainer is verifiable (GitHub identity, history)
- License is MIT (permissive, OK)
- Permission grant is broader than necessary (Write tool unused)
- One MCP tool description (`book`) contains an implicit instruction outside its declared purpose

**Recommended action:** Open issue with maintainer requesting (a) drop unused `Write` permission, (b) clarify `book` tool description. Re-audit after maintainer response.

---

## Findings

### High

| ID | Category | File | Line | Description | OWASP |
|----|----------|------|------|-------------|-------|
| PA-001 | Permissions | search-agent.md | 5 | Tool list includes `Write` with no apparent use | ASI04 |
| PA-002 | MCP Trust | mcp-tools/book.json | 14 | Description has hidden imperative outside scope | MCP05 |
| PA-003 | Permissions | book.md | 8 | Bash permission not minimized to specific commands | ASI04 |

### Medium

| ID | Category | File | Line | Description | OWASP |
|----|----------|------|------|-------------|-------|
| PA-004 | Supply Chain | package.json | 12 | Dependency `@airbnb/utils@2.1.0` outdated | LLM03 |
| PA-005 | Output Handling | search-agent.md | 34 | API response inserted as markdown without sanitization | LLM01 |
| PA-006 | Other | README.md | — | No security disclosure policy | — |
| PA-007 | Other | CHANGELOG.md | — | Last 3 releases lack security notes | — |
| PA-008 | Permissions | .claude/settings.json | 5 | Settings file commits hooks=null (acceptable) | — |

### Low

(4 low + 2 info findings — see envelope JSON for full list)

---

## Recommendations

1. **High:** Open issue with maintainer about `Write` permission removal.
2. **High:** Request clarification of `book` tool description.
3. **Medium:** Bump `@airbnb/utils` to current.
4. **Medium:** Add SECURITY.md.

If maintainer response is satisfactory: re-audit. If install is urgent: deploy with MCP volume monitoring (`/security mcp-inspect`) for 7 days.

---

*Plugin-audit complete. 14 findings, trust verdict WARNING.*
