Env credential access
- Finding
- Environment variable access combined with network send.
Security checks across static analysis, malware telemetry, and agentic risk
This appears to be a coherent Hong Kong transit-routing skill that uses a Google Maps API key and public ETA data for its stated purpose, with some normal credential, cache, and dependency considerations.
This skill is reasonable to install if you trust the package source and need Hong Kong transit routing. Provide a restricted Google Maps Directions API key, remember that route locations are sent to Google and public/operator ETA services, and be aware that it writes a small public ETA cache under ~/.cache/hk-route.
VirusTotal findings are pending for this skill version.
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Your Google Maps key may be used for route queries and may consume quota or billing; the route origin and destination are sent to Google for directions.
The skill reads a Google Maps API key from the environment and uses it for route lookup, which is disclosed and central to the stated purpose.
const apiKey = process.env.GOOGLE_MAPS_API_KEY; ... getDirections(qualifyLocation(origin), qualifyLocation(destination), apiKey, departureDate);
Use a restricted Google Maps API key limited to the Directions API where possible, and only query locations you are comfortable sending to Google.
Rebuilding from source could pull dependency versions different from the reviewed bundle.
If a user rebuilds the bundled script, caret version ranges can resolve to newer dependency versions; no lockfile is included in the manifest.
"dependencies": { "@googlemaps/google-maps-services-js": "^3.4.2", "hk-bus-eta": "^3.7.8" }, "devDependencies": { "esbuild": "^0.25.0" }Prefer the reviewed bundled script, or use a lockfile/pinned dependency versions before rebuilding in higher-assurance environments.
The cache is not user query history, but if the local cache is corrupted or tampered with, route matching or ETA results could be inaccurate until refreshed.
The skill persists the public ETA database locally and reuses it for later route lookups.
const CACHE_FILE = join(CACHE_DIR, "etaDb.json"); ... await writeFile(CACHE_FILE, JSON.stringify(db));
If results look wrong, delete ~/.cache/hk-route/etaDb.json to force a fresh public ETA database download.