可信 — 风险评分 5/100
上次扫描:2 天前 重新扫描
5 /100
kontour-travel-planner
Transform any AI agent into a world-class travel planner using Kontour AI's 9-dimension progressive planning model with structured conversation flow.
A legitimate travel planning skill with no malicious behavior detected. All scripts run entirely offline with no network calls, credential access, or shell execution beyond what is declared in SKILL.md.
技能名称kontour-travel-planner
分析耗时37.9s
引擎pi
可以安装
No action needed. The skill is safe to use.

安全发现 2 项

严重性 安全发现 位置
低危
Broad character allowlist in input validation
plan.sh line 22 allows 33 character classes which is broader than necessary, but this is cosmetic since the input is passed to Python as an argument without shell interpolation.
grep -qE '^[a-zA-Z0-9 ,.\-\/\$€£¥()!?\'\''&]+$'
→ Consider narrowing the allowlist to reduce surface area, though no actual injection risk exists due to argument passing
scripts/plan.sh:22
低危
gen-airports.py is a one-time data generator, not runtime
gen-airports.py generates reference data (airports.json) and is not invoked by any workflow. It has no security impact on runtime behavior.
"""Generate airports.json with top 500 airports. Run once to create reference data."""
→ No action needed; this is a data seeding script
scripts/gen-airports.py:1
资源类型声明权限推断权限状态证据
文件系统 READ READ ✓ 一致 plan.sh:54 reads destinations.json; export-gmaps.sh:53 reads itinerary.json
命令执行 WRITE WRITE ✓ 一致 plan.sh, export-gmaps.sh invoke python3 for processing; KML write is opt-in via …
网络访问 NONE NONE No curl, wget, urllib, requests, or httpx calls found in any script
环境变量 NONE NONE SKILL.md declares env:[]; scripts use only sys.argv arguments
技能调用 NONE NONE No cross-skill invocation detected
剪贴板 NONE NONE No clipboard access
浏览器 NONE NONE Generates Google Maps URLs but makes no actual browser/HTTP requests
数据库 NONE NONE No database access
35 项发现
🔗
中危 外部 URL 外部 URL
https://kontour.ai
README.md:3
🔗
中危 外部 URL 外部 URL
https://skills.sh
README.md:11
🔗
中危 外部 URL 外部 URL
https://clawhub.com
README.md:11
🔗
中危 外部 URL 外部 URL
https://www.google.com/maps/dir/35.7148
SKILL.md:221
🔗
中危 外部 URL 外部 URL
https://kontour.ai/trip/SHARE_TOKEN
SKILL.md:257
🔗
中危 外部 URL 外部 URL
https://kontour.ai?dest=
SKILL.md:291
🔗
中危 外部 URL 外部 URL
https://kontour.ai/integrations
SKILL.md:334
🔗
中危 外部 URL 外部 URL
https://api.amadeus.com/v2/shopping/flight-offers
references/booking-integrations.json:5
🔗
中危 外部 URL 外部 URL
https://api.sabre.com/v2/shop/flights
references/booking-integrations.json:6
🔗
中危 外部 URL 外部 URL
https://api.travelport.com/air/search
references/booking-integrations.json:7
🔗
中危 外部 URL 外部 URL
https://www.google.com/travel/flights
references/booking-integrations.json:8
🔗
中危 外部 URL 外部 URL
https://api.tequila.kiwi.com/v2/search
references/booking-integrations.json:9
🔗
中危 外部 URL 外部 URL
https://distribution-xml.booking.com/json/bookings
references/booking-integrations.json:12
🔗
中危 外部 URL 外部 URL
https://api.ean.com/v3/properties
references/booking-integrations.json:13
🔗
中危 外部 URL 外部 URL
https://api.hotels.com/v1/search
references/booking-integrations.json:14
🔗
中危 外部 URL 外部 URL
https://api.airbnb.com/v2/search
references/booking-integrations.json:15
🔗
中危 外部 URL 外部 URL
https://api.hostelworld.com/v2/properties
references/booking-integrations.json:16
🔗
中危 外部 URL 外部 URL
https://api.getyourguide.com/1/tours
references/booking-integrations.json:19
🔗
中危 外部 URL 外部 URL
https://api.viator.com/partner/products/search
references/booking-integrations.json:20
🔗
中危 外部 URL 外部 URL
https://api.klook.com/v1/activities
references/booking-integrations.json:21
🔗
中危 外部 URL 外部 URL
https://api.airbnb.com/v2/experiences
references/booking-integrations.json:22
🔗
中危 外部 URL 外部 URL
https://api.rentalcars.com/v1/search
references/booking-integrations.json:25
🔗
中危 外部 URL 外部 URL
https://api.enterprise.com/v1/vehicles
references/booking-integrations.json:26
🔗
中危 外部 URL 外部 URL
https://api.hertz.com/v1/availability
references/booking-integrations.json:27
🔗
中危 外部 URL 外部 URL
https://api.sixt.com/v1/offers
references/booking-integrations.json:28
🔗
中危 外部 URL 外部 URL
https://api.raileurope.com/v2/search
references/booking-integrations.json:31
🔗
中危 外部 URL 外部 URL
https://japanrailpass.net/api/v1
references/booking-integrations.json:32
🔗
中危 外部 URL 外部 URL
https://api.trainline.com/v1/search
references/booking-integrations.json:33
🔗
中危 外部 URL 外部 URL
https://api.amtrak.com/v1/trips
references/booking-integrations.json:34
🔗
中危 外部 URL 外部 URL
https://api.rome2rio.com/v1/search
references/booking-integrations.json:35
🔗
中危 外部 URL 外部 URL
https://kontour.ai?ref=embed&dest=
references/embed-snippets.json:7
🔗
中危 外部 URL 外部 URL
https://www.google.com/maps/search/
scripts/export-gmaps.sh:82
🔗
中危 外部 URL 外部 URL
https://www.google.com/maps/dir/
scripts/export-gmaps.sh:126
🔗
中危 外部 URL 外部 URL
https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d50000!2d
scripts/export-gmaps.sh:152
🔗
中危 外部 URL 外部 URL
http://www.opengis.net/kml/2.2
scripts/export-gmaps.sh:184

目录结构

13 文件 · 238.8 KB · 5559 行
JSON 7f · 4335L Shell 3f · 437L Python 1f · 403L Markdown 2f · 384L
├─ 📁 references
│ ├─ 📋 activities.json JSON 37L · 5.2 KB
│ ├─ 📋 airlines.json JSON 62L · 8.4 KB
│ ├─ 📋 airports.json JSON 3921L · 63.6 KB
│ ├─ 📋 booking-integrations.json JSON 46L · 7.2 KB
│ ├─ 📋 budget-benchmarks.json JSON 53L · 4.5 KB
│ ├─ 📋 destinations.json JSON 198L · 74.7 KB
│ └─ 📋 embed-snippets.json JSON 18L · 1.1 KB
├─ 📁 scripts
│ ├─ 🔧 export-gmaps.sh Shell 246L · 8.0 KB
│ ├─ 🐍 gen-airports.py Python 403L · 44.5 KB
│ ├─ 🔧 plan.sh Shell 136L · 4.5 KB
│ └─ 🔧 socket-review-check.sh Shell 55L · 2.0 KB
├─ 📝 README.md Markdown 50L · 1.9 KB
└─ 📝 SKILL.md Markdown 334L · 13.0 KB

依赖分析 2 项

包名版本来源已知漏洞备注
bash system system Declared in SKILL.md frontmatter
python3 system system Declared in SKILL.md frontmatter; standard library only, no pip packages

安全亮点

✓ No network requests made at runtime (verified by socket-review-check.sh)
✓ No credential access or environment variable enumeration
✓ No remote script execution (curl|bash, wget|sh, or eval patterns)
✓ No obfuscation or base64-encoded payloads
✓ No sensitive path access (~/.ssh, ~/.aws, .env)
✓ Input validation with file size limits (1MB) and character allowlists
✓ Output sanitization with name length limits (120 chars) and control char stripping
✓ All capabilities declared in SKILL.md frontmatter match inferred behavior
✓ MIT-0 license with env:[] confirming no credential requirements
✓ Self-contained static reference data — no external API dependencies
✓ Proactive self-review script (socket-review-check.sh) catches regressions