Back to skill
Skillv1.0.0

ClawScan security

Duffel Flights · ClawHub's context-aware review of the artifact, metadata, and declared behavior.

Scanner verdict

SuspiciousFeb 22, 2026, 11:31 PM
Verdict
suspicious
Confidence
high
Model
gpt-5-mini
Summary
The skill implementation matches its stated Duffel API purpose, but the package metadata omits the required DUFFEL_TOKEN and there are minor metadata/install inconsistencies that you should review before trusting it with real credentials or bookings.
Guidance
This skill appears to be a legitimate Duffel API CLI, but the package metadata omits the required DUFFEL_TOKEN and the repository lists a dependency (requests) without an install step. Before installing: (1) Prefer using a Duffel test token (duffel_test_...) so you only hit the sandbox; (2) Do NOT provide a live DUFFEL_TOKEN unless you fully trust the skill source — a live token can create real bookings and incur charges; (3) Review scripts/duffel.py (it sets Authorization: Bearer <token>, writes /tmp/duffel-last-search.json, and sends passenger data to the Duffel API); (4) Ensure the environment has the requests library or install it in an isolated environment; (5) Consider limiting autonomous agent invocation or disabling model-driven actions until you've tested with a sandbox token; (6) If you proceed with a production token, rotate it afterward and monitor your Duffel account activity.

Review Dimensions

Purpose & Capability
concernThe code and SKILL.md implement searching, offers, booking, order/cancel, seat maps and places lookups against https://api.duffel.com — this is coherent with the skill name/description. However, the registry metadata claims no required environment variables while both SKILL.md and scripts/duffel.py require a DUFFEL_TOKEN. That mismatch is an incoherence in the package manifest (the skill legitimately needs the token, but the metadata does not declare it).
Instruction Scope
okRuntime instructions and the script stay within the claimed scope: they call Duffel API endpoints, save the last search to /tmp/duffel-last-search.json, and do not reference unrelated system paths or other credentials. Note: booking operations will transmit passenger personal data (names, DOB, email, phone, nationality) to Duffel — this is expected for a booking tool but is sensitive and should be handled with care.
Install Mechanism
noteThere is no install spec (instruction-only install), which is low-risk. The repository includes scripts/requirements.txt listing 'requests' but no automated install step is declared; that's an inconsistency (the code depends on requests but the package metadata does not list it). No downloads from external/untrusted URLs are present.
Credentials
concernThe only runtime credential required is DUFFEL_TOKEN, which is appropriate for this skill. However the package metadata declares no required env variables or primary credential while the code and SKILL.md require DUFFEL_TOKEN — this is an important mismatch. Because DUFFEL_TOKEN can be a production token able to create real bookings and charge the linked account/wallet, the missing declaration reduces transparency and increases risk if you supply a live token without realizing it.
Persistence & Privilege
okThe skill does not request always:true and does not modify other skills or system-wide settings. It writes a single file to /tmp/duffel-last-search.json to store last search results. Note: the skill can be invoked autonomously by the agent (default platform behavior); if given a live DUFFEL_TOKEN, an agent could perform searches and bookings on your behalf, so confirm agent invocation permissions before granting credentials.