Test Case and Defect Analysis for Security Training and Phishing Drills: Tool Calling and Plugins

The daily documents for this category fall into four types: training courseware, drill plans, phishing email templates, and drill result reports.

What data for this category looks like

The daily documents for this category fall into four types: training courseware, drill plans, phishing email templates, and drill result reports. Common data sources include employee contact lists, email gateways, internal training platforms, and user click statistics systems. Data update frequency is typically quarterly or annual. Document fields usually cover the scope of groups covered by drills, email template parameters, sending trigger conditions, and result review records. There are no fixed unified units, and fields are adjusted based on individual drill scenarios.

Constraints imposed by these characteristics on the tool calling and plugins workflow

Data sources for this category are scattered, and update frequency is low. Tool calling must adapt to multi-source data pulling logic. Cross-data source permission verification rules must be configured to prevent unauthorized access to sensitive employee data. Document fields have no unified standard, so the parameter parsing module for tool calling must support dynamic field matching, and cannot rely on fixed field structures for data processing. Drill scenarios have strong personalized requirements, so tool calling must expose configurable extension points to support custom group filtering, template generation, and review logic. This avoids generic tools that cannot adapt to specific sub-scenarios. The low update frequency also requires that the tool calling caching strategy adapts to quarterly-updated datasets, reducing performance overhead from frequent data pulling.

How to set configurations

Configuration ItemRecommended SettingRationale
toolChoiceauto or a specified custom security toolAdapts to the scenario-based tool calling logic for security training and phishing drills, avoiding calls to unrelated tools
Group filtering plugin data source bindingBind employee contact list data sourceThe data sources for this category include employee contact lists, which can accurately cover the target drill group
Email template generation reference limitTop 10 historical drill templatesDrill plan documents usually include past template references, which can quickly generate compliant email content
Result review trigger conditionTrigger based on click statistics dataDrill result data comes from the click statistics system, which can synchronize user behavior data required for review in real time
Context window configuration800–1200 charactersAdapts to the average length of documents and reports for this category, avoiding exceeding the context limit of FastGPT v4.17.0

Three common misconfigurations

  • The symptom is an error indicating the model does not exist when calling an external model API. This occurs when custom model calling parameters are not configured in toolChoice, and only the platform’s built-in model list is used.
  • The symptom is empty results from knowledge base calls. This occurs when the knowledge base ID for the corresponding drill scenario is not specified in the tool calling workflow, causing the retrieval scope to cover all irrelevant data.
  • The symptom is empty results from internet tool calls, or no detected phishing risks. This occurs when the plugin’s network permission configuration is not enabled, preventing access to external threat intelligence data sources to complete phishing risk verification.

How to verify correct configuration

  • Launch a small internal drill test, and check whether the tool automatically pulls contact list data for the specified group to complete accurate filtering.
  • Call the external model API, and verify whether the returned content matches the preset phishing email template logic and parameter requirements.
  • Trigger a streaming return request, and check whether knowledge base retrieval results and streaming conversation content are spliced and displayed synchronously.
  • View plugin running logs, and confirm that parameters for all configuration items have been correctly loaded, with no missing values or format errors.

The values provided are common starting points and should be measured against the reader's own samples.

Question material comes from public community discussions. Configuration values are common starting points and should be measured against your own samples. Verified on 2026-10-19.