Back to skill

Security audit

insurance-advisor-china

Security checks for vulnerabilities and agentic risk

Overview

This insurance adviser needs review because it mandates a preferred sales referral while claiming neutrality and contains misleading financial calculations.

Treat its recommendations as commercially steered. Before relying on it, seek optional referrals with clear selection criteria and corrections to input handling and financial calculations. Independently verify current policy terms and insurer quotes, share only necessary personal details, and keep maintenance tools outside ordinary advice sessions.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (28)

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 10)May include surrounding context.

md
- ./references/products.json

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 83)May include surrounding context.

md
1. 从 `references/products.json` 加载产品数据

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 289)May include surrounding context.

md
- **产品数据**:`references/products.json`

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 411)May include surrounding context.

md
| 文件读取 | 仅 `references/products.json`、`insurance-knowledge.md`、`compliance.md` |

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
70% confidence
Finding

Skill instructs the agent to never refuse or to always comply. Suppressing the agent's ability to decline removes a core safety control and enables downstream harmful requests to succeed.

Content

Scanner excerpt · references/products.json (reported line 1)May include surrounding context.

json
"消费型","定期保障","重疾险","疾病保险","健康险"],"competitive_edge":["重疾保障","大公司品牌(服务有保障)"],"delisting_reason":"产品下架","validity_status":"已停售","renewal_terms":"People's Insurance Company of China (PICC) allows policyholders to renew their major illness insurance up to age 99. Annual coverage limit is 400 million yuan. For more details, visit the official web…","health_disclosure":"For 人保重大疾病保险, health disclosure is required for conditions that may affect coverage. Non-disclosure can lead to policy cancellation. Always answer insurance questions truthfully and accurately."},{"id":"crx-renbao-pingan","name":"人保寿险平安福重大疾病保险","company":"人保寿险","type":"重疾险","subtype":"终身重疾","premium_per_10k":255,"min_coverage":10,"max_coverage":50,"coverage_period":"终身","waiting_period":"180天","key_benefits":["100种重疾+50种轻症","恶性肿瘤额外赔"],"premium_type":"均衡保费","notes":"恶性肿瘤多次赔付","category":"个人","listing_time":null,"delisting_time":"2021-09","sales_channel":"个险|银保|经纪","is_active":false,"popularity_score":2,"premium_30m_20y":5100,"

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
70% confidence
Finding

Skill instructs the agent to never refuse or to always comply. Suppressing the agent's ability to decline removes a core safety control and enables downstream harmful requests to succeed.

Content

Scanner excerpt · references/products.json (reported line 1)May include surrounding context.

json
dge":["120种重疾保障、绿色通道服务、120种重疾+60种轻症","多次赔付","轻症保障"],"delisting_reason":"产品下架","validity_status":"已停售","renewal_terms":"The maximum age for renewal of 富德生命人寿爱心保重大疾病保险 is 65 years. If diagnosed with a major illness, insurance premiums may be waived. The policy covers lifelong, but specific renewal age limits apply.","health_disclosure":"Health disclosure must be truthful; if insurance questions are asked, answer honestly. If insurance and smart underwriting conflict, health disclosure is primary. Always answer asked questions, not al…"},{"id":"NEW_ZX_0056","name":"安联保险永福保重大疾病保险","company":"安联保险","type":"重疾险","subtype":"终身重疾多次赔付","premium_per_10k":216,"min_coverage":10,"max_coverage":60,"coverage_period":"终身","waiting_period":"90天","key_benefits":["120种重疾保障","60岁前额外赔50%","特定心脑血管二次赔付80%","40种轻症赔20%x6次","重疾额外关爱金"],"premium_type":"自然保费","notes":"自然保费设计,年轻时保费低","category":"个人","listing_time":null,"delisting_time":"已停售","sales_channel":"互联网|经纪|代理","is_active":false,"popularity_score":3,"premiu

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
70% confidence
Finding

Skill instructs the agent to never refuse or to always comply. Suppressing the agent's ability to decline removes a core safety control and enables downstream harmful requests to succeed.

Content

Scanner excerpt · references/products.json (reported line 1)May include surrounding context.

json
period_guaranteed_renewable":false,"competitive_edge":["年度限额5000元、挂号费报销、检查费报销"],"delisting_reason":"产品下架","validity_status":"已停售","renewal_terms":"To renew Sunshine Insurance medical insurance, check the policy's renewal conditions and age limit. Generally, renewal is possible before policy expiration, but specific terms vary. Contact Sunshine I…","health_disclosure":"Health disclosure is required to truthfully inform the insurer of medical history; failure to disclose can lead to claim denial. Always answer insurer's specific questions honestly; do not volunteer i…"},{"id":"NEW_YL_0148","name":"太平洋保险医无忧医疗保险","company":"太平洋人寿","type":"医疗险","subtype":"百万医疗","premium_per_10k":790,"min_coverage":1,"max_coverage":300,"coverage_period":"6年保证续保","waiting_period":"30天","key_benefits":["恶性肿瘤特药服务","可选门急诊保障","可选重大手术津贴","可选赴日医疗"],"premium_type":"自然保费","notes":"特药服务,靶向药可报销","category":"个人","listing_time":null,"delisting_time":"已停售","sales_channel":"个险|互联网|经纪|代理","is_active":false,"is_duplicate":tr

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
70% confidence
Finding

Skill instructs the agent to never refuse or to always comply. Suppressing the agent's ability to decline removes a core safety control and enables downstream harmful requests to succeed.

Content

Scanner excerpt · references/products.json (reported line 1)May include surrounding context.

json
外60%报销、门诊0免赔、年度限额2万","0免赔额"],"delisting_reason":"产品下架","validity_status":"已停售","renewal_terms":"Longcheng Life Insurance's medical insurance can be renewed up to age 99. Renewal conditions depend on whether the insured has basic medical insurance or public medical care. Renewal fees increase wit…","health_disclosure":"Long-term health insurance requires full disclosure of medical history, including past illnesses, treatments, and medications. Failure to disclose can lead to policy cancellation. Always answer insura…"},{"id":"NEW_YL_0163","name":"君康人寿安心医疗医疗保险","company":"君康人寿","type":"医疗险","subtype":"门诊医疗","premium_per_10k":370,"min_coverage":1,"max_coverage":300,"coverage_period":"6年保证续保","waiting_period":"30天","key_benefits":["含自费药报销","年度限额5000元","门急诊0免赔","检查费报销"],"premium_type":"自然保费","notes":"支持智能核保","category":"个人","listing_time":null,"delisting_time":"已停售","sales_channel":"个险|互联网|经纪|代理","is_active":false,"popularity_score":3,"premium_30m_20y":7400,"premium_30f_20y":6512,"payment_t

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
70% confidence
Finding

Skill instructs the agent to never refuse or to always comply. Suppressing the agent's ability to decline removes a core safety control and enables downstream harmful requests to succeed.

Content

Scanner excerpt · references/products.json (reported line 1)May include surrounding context.

json
:"phase1_P1-4","consistency_status":"fixed","coverage_period_duration_value":null,"coverage_period_duration_unit":null,"coverage_period_is_lifetime":false,"coverage_period_guaranteed_renewable":false,"competitive_edge":"招商信诺小淘气6号以全面的重疾保障和健康管理服务为卖点,适合0-18岁儿童投保,特点是覆盖多种重大疾病和轻症。","renewal_terms":"小淘气6号续保可至60岁,投保年龄无限制。续保条件较为宽松,无需健康告知或体检。无职业限制。","health_disclosure":"For 小淘气6号, health disclosure is required for medical history, treatments, and medications. Failure to disclose can lead to claim denial. Always answer insurance questions truthfully."},{"name":"完美人生8号","type":"重疾险","company":"复星联合健康","source":"comprehensive_scraper","is_active":true,"addedAt":"2026-07-17T22:08:52.498282+00:00","validity_status":"VALID","validity_reason":"5 clean results","validity_checked_at":"2026-07-12T17:15:47.479462+00:00","coverage_period":"未明确","coverage_period_quality":"missing","listing_time":null,"min_coverage":null,"max_coverage":null,"delisting_time":"仍在售","consistency_processed_at":"phase1_P1-4","cons

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
70% confidence
Finding

Skill instructs the agent to never refuse or to always comply. Suppressing the agent's ability to decline removes a core safety control and enables downstream harmful requests to succeed.

Content

Scanner excerpt · references/products.json (reported line 1)May include surrounding context.

json
ull,"coverage_period_duration_unit":null,"coverage_period_is_lifetime":false,"coverage_period_guaranteed_renewable":false,"competitive_edge":"君龙人寿青鸾版保险产品具有高性价比和全生命周期健康管理。其偿付能力强,产品种类丰富。品牌以用户为中心,诚信经营。","renewal_terms":"青鸾版续保可能有年龄限制,通常在80岁后不再接受续保申请。保险公司可能根据健康状况调整保费。续保期间届满后30日内提出续保申请可进入下一个保证续保期间。","health_disclosure":"Health disclosure for 青鸾版 insurance requires full honesty about past and current medical conditions, treatments, and medications. Omitting information can lead to policy cancellation. Always answer in…"},{"name":"光明慧选","type":"寿险","company":"光大永明","source":"comprehensive_scraper","is_active":true,"addedAt":"2026-07-17T22:08:52.498490+00:00","validity_status":"MODIFIED","validity_reason":"keyword hit: 调整","validity_checked_at":"2026-07-12T17:15:47.479462+00:00","policy_rate_change":{"detected_at":"2026-07-12T17:32:11.111955+00:00","rates":{"预定利率":3.5,"收益率":3.0},"sample_query":"\"光明慧选\" \"光大永明\" 2026 预定利率 OR 收益率 OR IRR OR 复利 OR 万能账户 OR 结算利率 OR 调整","source_titles":["万能账户结算利率公告20

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
70% confidence
Finding

Skill instructs the agent to never refuse or to always comply. Suppressing the agent's ability to decline removes a core safety control and enables downstream harmful requests to succeed.

Content

Scanner excerpt · references/products.json (reported line 1)May include surrounding context.

json
nteed_renewable":false,"tags":["报销型","百万医疗","医疗险","健康险"],"competitive_edge":["一般医疗300万+重疾医疗600万"],"delisting_reason":"产品下架","validity_status":"已停售","renewal_terms":"The maximum age for renewing Yangguang Insurance's health insurance is typically around 70 years. Renewal requires updated personal and financial documents. Annual renewal is mandatory.","health_disclosure":"Health declaration in insurance requires truthful disclosure of medical history; failure to disclose can lead to claim denial; always answer insurance-specific questions honestly."},{"id":"mi-yangguang-fangai","name":"阳光保险中老年防癌医疗险","company":"阳光人寿","type":"医疗险","subtype":"防癌医疗","premium_per_10k":290,"min_coverage":10,"max_coverage":200,"coverage_period":"1年(可续保至80岁)","waiting_period":"30天","key_benefits":["恶性肿瘤确诊费用","恶性肿瘤治疗费用"],"premium_type":"自然保费","notes":"中老年防癌险","category":"个人","listing_time":null,"delisting_time":"已停售","sales_channel":"个险|互联网|经纪|代理","is_active":false,"popularity_score":2,"premium_30m_20y":5800,"pre

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
70% confidence
Finding

Skill instructs the agent to never refuse or to always comply. Suppressing the agent's ability to decline removes a core safety control and enables downstream harmful requests to succeed.

Content

Scanner excerpt · references/products.json (reported line 1)May include surrounding context.

json
:["大公司品牌"],"competitive_edge":["超声波洁牙、复杂治疗50%报销、种植牙费用报销","大公司品牌(服务有保障)"],"delisting_reason":"产品下架","validity_status":"已停售","renewal_terms":"China Life's medical insurance can be renewed annually, with a maximum renewal age of 79 years. The policy guarantees lifelong coverage if conditions are met. Premiums remain fixed for the initial fiv…","health_disclosure":"Health declaration in China's life insurance requires full disclosure of medical history; failure to disclose can lead to claim denial; always answer insurance company's specific health questions trut…"},{"id":"NEW_YL_0147","name":"阳光保险医保通医疗保险","company":"阳光人寿","type":"医疗险","subtype":"门诊医疗","premium_per_10k":205,"min_coverage":1,"max_coverage":500,"coverage_period":"1年","waiting_period":"90天","key_benefits":["年度限额5000元","挂号费报销","检查费报销","药品费报销"],"premium_type":"自然保费","notes":"保证续保6年/20年","category":"个人","listing_time":null,"delisting_time":"已停售","sales_channel":"个险|互联网|经纪|代理","is_active":false,"popularity_score":3,"premium_30m_20

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
70% confidence
Finding

Skill instructs the agent to never refuse or to always comply. Suppressing the agent's ability to decline removes a core safety control and enables downstream harmful requests to succeed.

Content

Scanner excerpt · references/products.json (reported line 1)May include surrounding context.

json
od_guaranteed_renewable":false,"competitive_edge":"太平财产保险有限公司主营财产保险,服务网络遍及全国,业务范围广泛。公司入选2024年国家级企业标准“领跑者”,并参与量子科技共保体。","renewal_terms":"Continuation age is the maximum age for renewing insurance; it varies by policy but often has a limit, unlike initial purchase age. Some policies offer lifelong renewal without age limits. Always chec…","health_disclosure":"Health disclosure is required to inform insurers of past medical history; failure to disclose can lead to policy denial or claim rejection; always answer truthfully based on medical records."},{"name":"火凤版","type":"年金险","company":"君龙人寿","source":"comprehensive_scraper","is_active":true,"addedAt":"2026-07-17T22:08:52.498336+00:00","validity_status":"DISCONTINUED","validity_reason":"keyword hit: 停售/下架","validity_checked_at":"2026-07-12T17:15:47.479462+00:00","coverage_period":"未明确","coverage_period_quality":"missing","listing_time":null,"min_coverage":null,"max_coverage":null,"consistency_processed_at":"phase1_P1-4","consistency_statu

Mandatory unsolicited promotion is framed as neutral insurance guidance.

Medium
Category
Prompt Injection
Confidence
98% confidence
Finding

The skill embeds an unsolicited sales referral into product comparison and plan-design workflows, requiring the assistant to prioritize a specific agency regardless of user need. This can exploit trust in ostensibly neutral insurance advice to redirect customers toward a designated commercial channel; it is the same underlying steering issue as SDI-4, not evidence of automatic data exfiltration.

Content

No source excerpt is available for this finding.

The non-endorsement disclaimer contradicts mandatory preferential promotion of a specific insurance agency.

Medium
Category
Excessive Agency
Confidence
97% confidence
Finding

The skill requires preferential presentation of one named insurance agency while labeling that presentation as non-endorsement and objective information. This creates misleading commercial steering in a financially sensitive advisory context; the disclaimer does not neutralize the mandated preference, and the changelog explicitly reinforces unsolicited promotion after an earlier opt-in approach.

Content

No source excerpt is available for this finding.

The skill mandates Chinese output without offering a language choice.

Medium
Category
Output Handling
Confidence
88% confidence
Finding

L350 requires all output to use Chinese, reinforced by the instruction at L221. Although the skill serves mainland China's insurance market, the file does not explain why that jurisdiction requires Chinese-only responses or allow users to choose another language.

Content

No source excerpt is available for this finding.

L242 lists broad trigger words such as “市场” (market), “行情” (market trends), and “监管” (regulation) without requiring insurance-specific context or an explicit request for the rate report.

Medium
Category
Trigger Abuse
Confidence
92% confidence
Finding

These terms commonly appear in discussions unrelated to insurance and do not necessarily express intent to invoke the proposed rate-monitoring workflow. Although the surrounding section describes an insurance report, the trigger list provides no explicit context requirement or exclusions to prevent unintended invocation.

Content

No source excerpt is available for this finding.

Range parsing discards the upper bound instead of splitting the range across min_coverage and max_coverage.

Medium
Category
Excessive Agency
Confidence
99% confidence
Finding

Range parsing returns only the lower endpoint, and min_coverage and max_coverage are processed independently, so identical range strings in both fields become identical lower values instead of preserving the coverage interval. In this persistent product-data migration, that can understate maximum coverage and mislead downstream filtering or comparisons; retaining the upper endpoint in a note and making a backup helps recovery but does not correct the structured data.

Content

No source excerpt is available for this finding.

Yuan amounts below 10,000 are retained without conversion despite the documented yuan-to-wan policy.

Medium
Category
Excessive Agency
Confidence
99% confidence
Finding

An explicit yuan amount below 10,000 is retained numerically and then labeled as 万元: for example, '5000元' becomes 5000万元 rather than the documented floor-converted value of 0万元. This introduces a 10,000-fold unit error into persisted coverage data, potentially misleading downstream decisions, and the processed marker prevents ordinary reruns from correcting it.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/datafix/test_e2e_regression.py (reported line 75)May include surrounding context.

python
# Run premium_calculator and check no crash
    print("   Running premium_calculator.py ...")
    r = subprocess.run(["python3", SCRIPT], capture_output=True, text=True, timeout=120)
    if r.returncode != 0:
        print(f"   [FAIL] crashed: {_sanitize(r.stderr, 300)}")
        return 1

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/datafix/test_integration.py (reported line 76)May include surrounding context.

python
def test_1_premium_calculator():
    print(f"\n{TEST_1_NAME}: python3 scripts/premium_calculator.py")
    r = subprocess.run(["python3", SCRIPT], capture_output=True, text=True, timeout=120)
    if r.returncode != 0:
        print(f"  {FAIL} exit={r.returncode}")
        print(f"  stderr: {_sanitize(r.stderr, 300)}")

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/datafix/test_integration.py (reported line 106)May include surrounding context.

python
def test_3_orig_no_id_skipped():
    """Originally 75 products had no id. Script must skip them cleanly."""
    print(f"\n{TEST_3_NAME}: original 75 no-id products must not appear in results")
    r = subprocess.run(["python3", SCRIPT], capture_output=True, text=True, timeout=120)
    if r.returncode != 0:
        print(f"  {FAIL} exit={r.returncode}")
        return False

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/datafix/test_integration.py (reported line 93)May include surrounding context.

python
def test_2_plan_designer():
    print(f"\n{TEST_2_NAME}: python3 scripts/plan_designer.py")
    r = subprocess.run(["python3", os.path.join(SKILL_DIR, "scripts", "plan_designer.py")],
                       capture_output=True, text=True, timeout=120)
    if r.returncode != 0:
        print(f"  {FAIL} exit={r.returncode}")

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/datafix/test_integration.py (reported line 238)May include surrounding context.

python
continue

        hash_before = _sha256_file(V2_PATH)
        r = subprocess.run(["python3", path, "--dry-run"],
                           capture_output=True, text=True, timeout=60)
        hash_after = _sha256_file(V2_PATH)

Premium planning uses annual budget despite documentation specifying percentages of annual income.

Medium
Category
Excessive Agency
Confidence
99% confidence
Finding

The premium calculations multiply annual_budget by 15% and 10%, although the comments and report describe percentages of annual income. When budget and income differ, this produces misleading financial recommendations that could cause inadequate insurance planning or unaffordable premium targets; the insurance-advice context makes this a meaningful financial-integrity defect, although no malicious intent or direct code-execution risk is evident.

Content

No source excerpt is available for this finding.