T01 · Skill Instruction Hijacking
- Location
scripts/zoodata.py:910- Finding
Untrusted Amazon Review Content Is Embedded Directly into Agent Instructions
- Content
View full analysis
str: title = review.get("title") or "" body = review.get("body") or "" full = f"{title}. {body}" if title else body text = full[:500] rating = review.get("rating") or 3 verified = bool(review.get("verifiedPurchase")) return f"""IMPORTANT: Respond ONLY with a JSON object matching the schema below. Output must be in English — translate non-English text before extracting. You are an expert data extraction specialist analyzing product reviews. Extract only what is EXPLICITLY mentioned — do not infer. JSON schema: {{ "sentiment": "positive" | "neutral" | "negative", "mentioned_scenarios": [string], "mentioned_issues": [string], "mentioned_positives": [string], "mentioned_improvements": [string], "mentioned_buying_factors": [string], "mentioned_pain_points": [string], "user_profiles": [string], "mentioned_usage_times": [string], "mentioned_usage_locations": [string], "mentioned_behaviors": [string], "keywords": [string] }} Rules: - sentiment: positive (4-5 stars or praise), neutral (3 stars / mixed), negative (1-2 stars or complaint) - pain_points = problems EXPERIENCED AFTER USE. NOT problems the product solves. - issues vs pain_points: issues = product defects; pain_points = UX frustrations - user_profiles: include ONLY if the reviewer explicitly states an identity - consistent naming across reviews - use empty arrays [] for categories with no mentions, never null INPUT: Product Category: {product_category or '(unknown)'} Product Title: {product_title or '(unknown)'} Review Rating: {rating}/5 stars Verified Purchase: {'Yes' if verified else 'No'} Review Text: \"\"\ ...[truncated 2428 chars]- Remediation
View remediation
