
تحلیل خودکار ایمیلهای مشکوک با n8n و ChatGPT Vision
8 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۹
دانلود workflow
فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.
- فایل JSON را دانلود کنید.
- در n8n: Workflows → Import from File.
- Credentialهای هر node را متصل کنید.
- workflow را فعال کنید.
شناسه workflow: 2665 · منبع: کاتالوگ Pixori
اتوماسیون تحلیل ایمیلهای مشکوک با هوش مصنوعی و ادغام با Jira
این Workflow با استفاده از n8n، ایمیلهای مشکوک را به طور خودکار شناسایی، تحلیل و گزارش میکند. این سیستم با سرویسهای ایمیل مانند Gmail و Microsoft Outlook ادغام میشود تا پیامهای دریافتی را دریافت کند، محتوا و متادیتای مرتبط را استخراج کند، نمایشی بصری از ایمیل ایجاد کند، از ChatGPT Vision برای تشخیص فیشینگ استفاده کند و در نهایت تیکتهای دقیقی را برای تیمهای امنیتی در Jira ایجاد نماید.
نمای کلی Workflow
این Workflow در مراحل مجزا سازماندهی شده است که هر کدام بخشی از فرآیند تحلیل و گزارشدهی را بر عهده دارند:
1. دریافت ورودی ایمیل: با دریافت ایمیلهای جدید از حسابهای ایمیل پیکربندی شده (Gmail، Microsoft Outlook) Workflow را فعال میکند.
2. استخراج محتوا و هدر ایمیل: دادههای ضروری از ایمیلهای دریافتی، شامل بدنه، هدرها و موضوع را تجزیه و ساختاربندی میکند.
3. مصورسازی ایمیل: محتوای HTML ایمیل را به یک تصویر ثابت (اسکرینشات) برای بازرسی بصری آسانتر تبدیل میکند.
4. تشخیص فیشینگ با هوش مصنوعی: از ChatGPT Vision برای تحلیل اسکرینشات ایمیل و متادیتای آن استفاده کرده و نشانگرهای بالقوه فیشینگ را شناسایی میکند.
5. گزارشدهی خودکار حوادث: یک تیکت Jira حاوی نتایج تحلیل و اسکرینشات ایمیل ایجاد میکند و فرآیند پاسخ به حوادث را سادهسازی مینماید.
---
تشریح جزئیات Node ها
۱. دریافت ورودی ایمیل
این بخش بر دریافت و راهاندازی Workflow بر اساس ایمیلهای جدید تمرکز دارد.
- Gmail Trigger
* Type: n8n-nodes-base.gmailTrigger
* Function: از طریق OAuth2 به حساب Gmail شما متصل میشود تا ایمیلهای ورودی جدید را شناسایی کند.
* Configuration: برای بررسی دورهای ایمیلهای جدید و بازیابی کامل دادههای ایمیل پیکربندی شده است.
* Output: Payload کامل JSON ایمیل ورودی را ارائه میدهد.
* Considerations: احراز هویت صحیح OAuth2 را تضمین کنید. محدودیتهای نرخ API Gmail را رصد کنید.
- Microsoft Outlook Trigger (به طور پیشفرض غیرفعال است)
* Type: n8n-nodes-base.microsoftOutlookTrigger
* Function: از طریق OAuth2 به حساب Microsoft Outlook شما متصل میشود تا ایمیلهای جدید را شناسایی کند.
* Configuration: میتواند برای بررسی دورهای ایمیلهای جدید و بازیابی فیلدهای انتخاب شده فعال شود.
* Output: فیلدهای انتخاب شده از ایمیل ورودی را ارائه میدهد.
* Considerations: به طور پیشفرض غیرفعال است تا از پردازش تکراری در صورت فعال بودن Gmail جلوگیری شود. نیاز به احراز هویت OAuth2 دارد. محدودیتهای API Microsoft Graph را رصد کنید.
---
۲. استخراج محتوا و هدر ایمیل
این مرحله مسئول استخراج و آمادهسازی محتوای ایمیل برای پردازش بیشتر است.
- Set Gmail Variables
* Type: n8n-nodes-base.set
* Function: فیلدهای کلیدی مانند htmlBody، headers، subject، recipient و textBody را از خروجی Gmail Trigger استخراج کرده و به متغیرهای Workflow اختصاص میدهد.
* Input: خروجی از Gmail Trigger.
* Output: متغیرهای ساختاریافته ایمیل.
- Retrieve Headers of Email (Outlook)
* Type: n8n-nodes-base.httpRequest
* Function: برای ایمیلهای Outlook، این Node با API Microsoft Graph تماس میگیرد تا internetMessageHeaders و body ایمیل را به طور کامل بازیابی کند.
* Configuration: از اعتبارنامههای OAuth2 Outlook استفاده میکند. internetMessageHeaders و body را با اولویت محتوای "text" درخواست میکند.
* Input: خروجی از Microsoft Outlook Trigger.
* Output: JSON حاوی هدرهای دقیق و محتوای بدنه.
- Format Headers
* Type: n8n-nodes-base.code
* Function: آرایه خام internetMessageHeaders را از پاسخ API Microsoft Graph به یک فرمت دیکشنری قابل استفادهتر تجزیه میکند.
* Input: خروجی از Retrieve Headers of Email (Outlook).
* Output: یک شیء ساختاریافته از هدرهای ایمیل.
- Set Outlook Variables
* Type: n8n-nodes-base.set
* Function: فیلدهای کلیدی (htmlBody، headers، subject، recipient، textBody) را از دادههای ایمیل Outlook و هدرهای فرمت شده استخراج و اختصاص میدهد.
* Input: خروجی از Format Headers.
* Output: متغیرهای ساختاریافته ایمیل سازگار با دادههای Gmail.
- Set Email Variables
* Type: n8n-nodes-base.set
* Function: تمام دادههای مرتبط ایمیل (هدرها، بدنه، موضوع، گیرنده) را از مسیر پردازش Gmail یا Outlook جمعآوری و یکپارچه میکند تا در متغیرهای واحدی برای استفاده یکنواخت در مراحل بعدی قرار گیرند.
* Input: خروجی از Set Gmail Variables یا Set Outlook Variables.
* Output: دادههای یکپارچه ایمیل.
---
۳. مصورسازی ایمیل
این بخش بر ایجاد یک نمایش بصری از ایمیل تمرکز دارد.
- Screenshot HTML
* Type: n8n-nodes-base.httpRequest
* Function: بدنه HTML ایمیل را به API hcti.io ارسال میکند تا یک اسکرینشات تصویری ایجاد کند.
* Configuration: از احراز هویت پایه HTTP با اعتبارنامههای hcti.io شما استفاده میکند.
* Input: خروجی از Set Email Variables.
* Output: پاسخ JSON حاوی URL اسکرینشات ایجاد شده.
* Considerations: پیامدهای حریم خصوصی هنگام ارسال محتوای ایمیل به یک سرویس شخص ثالث را در نظر بگیرید. اطمینان حاصل کنید که محتوای HTML بیش از حد بزرگ نباشد.
- Retrieve Screenshot
* Type: n8n-nodes-base.httpRequest
* Function: دادههای تصویری باینری واقعی اسکرینشات را از URL ارائه شده توسط Node قبلی دریافت میکند.
* Input: خروجی از Screenshot HTML.
* Output: دادههای تصویری باینری اسکرینشات ایمیل.
---
۴. تشخیص فیشینگ با هوش مصنوعی
این مرحله از هوش مصنوعی برای تحلیل ایمیل از نظر قصد مخرب استفاده میکند.
- ChatGPT Analysis
* Type: @n8n/n8n-nodes-langchain.openAi
* Function: API ChatGPT (به طور خاص gpt-4o-latest) را برای تحلیل ایمیل فراخوانی میکند.
* Configuration:
* Model: gpt-4o-latest
* Input: تصویر اسکرینشات رمزگذاری شده با Base64 (دادههای باینری از Retrieve Screenshot) و یک پرامپت که شامل هدرهای ایمیل است را دریافت میکند.
* Prompt: ChatGPT را برای توصیف تصویر و ارزیابی احتمال تلاش برای فیشینگ بودن ایمیل، راهنمایی میکند. پرامپت به گونهای طراحی شده است که پاسخی را که برای رندر کننده ویکی Jira قالببندی شده است، ارائه دهد و از بلوکهای کد Markdown استاندارد اجتناب کند.
* Max Tokens: روی ۱۵۰۰ تنظیم شده است تا پاسخهای دقیق امکانپذیر باشد.
* Input: تصویر اسکرینشات باینری از Retrieve Screenshot و هدرهای ایمیل از Set Email Variables.
* Output: گزارش تحلیل متنی از ChatGPT، شامل ارزیابی فیشینگ.
* Considerations: نیاز به کلید API OpenAI دارد. استفاده و هزینههای API را رصد کنید. مهندسی پرامپت برای نتایج دقیق حیاتی است.
---
۵. گزارشدهی خودکار حوادث
این بخش نهایی به ایجاد تیکتهای Jira برای بررسی امنیتی میپردازد.
- Create Jira Ticket
* Type: n8n-nodes-base.jira
* Function: یک مسئله جدید Jira برای مستندسازی ایمیل مشکوک ایجاد میکند.
* Configuration:
* Project: پروژه پیکربندی شده Jira شما (مثلاً ID 10001).
* Issue Type: نوع مسئله پیکربندی شده (مثلاً Task، ID 10008).
* Summary: به طور پویا با استفاده از خط موضوع ایمیل تنظیم میشود.
* Description: گیرنده، موضوع، متن بدنه ایمیل و گزارش تحلیل ChatGPT (قالببندی شده برای ویکی Jira) را ترکیب میکند.
* Credentials: اعتبارنامههای OAuth2 API Jira Cloud شما.
* Input: گزارش تحلیل ChatGPT و دادههای ایمیل از Set Email Variables.
* Output: پاسخ JSON حاوی جزئیات مسئله جدید Jira، از جمله کلید آن.
- Rename Screenshot
* Type: n8n-nodes-base.code
* Function: دادههای تصویری باینری اسکرینشات را به emailScreenshot.png تغییر نام میدهد تا قبل از آپلود در Jira وضوح بیشتری داشته باشد.
* Input: دادههای باینری اسکرینشات از Retrieve Screenshot.
* Output: دادههای باینری اسکرینشات با نام فایل بهروز شده.
- Upload Screenshot of Email to Jira
* Type: n8n-nodes-base.jira
* Function: اسکرینشات تغییر نام یافته را به عنوان پیوست به تیکت Jira تازه ایجاد شده آپلود میکند.
* Configuration:
* Issue Key: به طور پویا با استفاده از کلید مسئله از خروجی Node Create Jira Ticket تنظیم میشود.
* Resource: نقطه پایانی issueAttachment.
* Credentials: اعتبارنامههای OAuth2 API Jira Cloud شما.
* Input: دادههای باینری اسکرینشات تغییر نام یافته.
* Output: تأیید آپلود پیوست.
* Considerations: اطمینان حاصل کنید که محدودیتهای اندازه پیوست در Jira به درستی پیکربندی شدهاند.
---
جدول خلاصه Workflow
| نام Node | نوع Node | عملکرد اصلی | Node(های) ورودی | Node(های) خروجی |
|---|---|---|---|---|
| Gmail Trigger | n8n-nodes-base.gmailTrigger | دریافت ایمیلهای Gmail ورودی | None | Set Gmail Variables |
| Microsoft Outlook Trigger | n8n-nodes-base.microsoftOutlookTrigger | دریافت ایمیلهای Outlook ورودی (غیرفعال) | None | Retrieve Headers of Email |
| Set Gmail Variables | n8n-nodes-base.set | استخراج فیلدهای ایمیل Gmail به متغیرها | Gmail Trigger | Set Email Variables |
| Retrieve Headers of Email | n8n-nodes-base.httpRequest | بازیابی هدرها و بدنه کامل از Outlook | Microsoft Outlook Trigger | Format Headers |
| Format Headers | n8n-nodes-base.code | فرمتبندی هدرهای Outlook به شیء ساختاریافته | Retrieve Headers of Email | Set Outlook Variables |
| Set Outlook Variables | n8n-nodes-base.set | استخراج فیلدهای ایمیل Outlook به متغیرها | Format Headers | Set Email Variables |
| Set Email Variables | n8n-nodes-base.set | یکپارچهسازی دادههای ایمیل از Gmail یا Outlook | Set Gmail Variables, Set Outlook Variables | Screenshot HTML |
| Screenshot HTML | n8n-nodes-base.httpRequest | ارسال HTML ایمیل به hcti.io برای اسکرینشات | Set Email Variables | Retrieve Screenshot |
| Retrieve Screenshot | n8n-nodes-base.httpRequest | بازیابی تصویر اسکرینشات از hcti.io | Screenshot HTML | ChatGPT Analysis |
| ChatGPT Analysis | @n8n/n8n-nodes-langchain.openAi | تحلیل اسکرینشات و هدرها با ChatGPT | Retrieve Screenshot, Set Email Variables | Create Jira Ticket |
| Create Jira Ticket | n8n-nodes-base.jira | ایجاد تیکت Jira برای ایمیل مشکوک | ChatGPT Analysis, Set Email Variables | Rename Screenshot |
| Rename Screenshot | n8n-nodes-base.code | تغییر نام فایل باینری برای آپلود Jira | Retrieve Screenshot | Upload Screenshot of Email to Jira |
| Upload Screenshot of Email to Jira | n8n-nodes-base.jira | آپلود اسکرینشات به عنوان پیوست به تیکت Jira | Rename Screenshot, Create Jira Ticket | None |
Nodeهای استفادهشده
سوالات متداول
این Workflow چگونه ایمیلهای مشکوک را شناسایی میکند؟▾
این Workflow با استفاده از ChatGPT Vision، اسکرینشات ایمیل و متادیتای آن را تحلیل کرده و نشانگرهای بالقوه فیشینگ را شناسایی میکند.
چه سرویسهای ایمیلی پشتیبانی میشوند؟▾
این Workflow از سرویسهای ایمیل Gmail و Microsoft Outlook پشتیبانی میکند و قابلیت ادغام با هر دو را دارد.
نتیجه تحلیل ایمیل چگونه به تیم امنیتی گزارش میشود؟▾
پس از تحلیل، یک تیکت دقیق در Jira حاوی نتایج تحلیل و اسکرینشات ایمیل ایجاد میشود تا فرآیند پاسخ به حوادث را برای تیم امنیتی سادهسازی کند.
workflowهای مرتبط
- طبقهبندی خودکار حوادث امنیتی با GPT-4 و Google SheetsSecOps
- اتوماسیون جستجوی لینکدین با GPT-4 و جستجوی بولی گوگلHR
- خودکارسازی اصلاح نقطه پایانی با Wazuh، ClamAV و GPT-4SecOps
- اتوماسیون خلاصهسازی جلسات با Google Drive و OpenAIAI
- احراز هویت کاربران با OpenID Connect در n8nBuilding Blocks
- حسابرسی خودکار یکپارچگی IP و اثر انگشت با هوش مصنوعیSecOps
