【استكشاف عميق للتكنولوجيا】 استكشاف ChatGPT: عملية تجاوز التعليمات البرمجية إلى تدابير الأمان— تعلم الذكاء الاصطناعي 024
مقدمة
مع الصعود السريع لـ ChatGPT، أصبح ليس فقط نقطة بارزة في مجال الذكاء الاصطناعي، بل أيضًا محورًا لمناقشات واسعة حول الأمان وحماية الخصوصية. في هذه المقالة التقنية المعمقة، سنستكشف آليات الأمان وراء ChatGPT، من ثغرات “تجاوز التعليمات البرمجية” في بيئة تنفيذ التعليمات البرمجية، إلى كيفية بناء OpenAI تدابير الأمان الخاصة بها، للكشف عن الغموض المحيط بأمان ChatGPT.
- ChatGPT هو مجرد عرض تجريبي
- الأفراد الرئيسيون في OpenAI لا يشاركون في ChatGPT
- قدراته ليست مطورة من خلال ChatGPT نفسه
- ليس هناك سبب للإفراج عن واجهة برمجة التطبيقات الخارجية التي تستخدمها نماذج GPTs
- يجب أن تتم الطلبات في الخلفية، دون الحاجة للإفصاح عنها في الواجهة الأمامية
- لكن ChatGPT أفرجت عن ذلك بشكل صريح
- نأمل أن تأخذ ChatGPT الأمر بجدية
- ربما سيحدث تغيير قريبًا
- نتطلع إلى أن يعطوا الأمر اهتمامًا أكبر
- توفير التعليمات البرمجية وملفات المعرفة ليست مشكلة
- إنه عائق، رغم أنها نقطة انطلاق، لكن الآن لا يوجد حل واضح
- إذا كانت نماذج GPTs ترغب في تحقيق تجارية كبيرة، فعليها معالجة هذه القضية
- ومع ذلك، يجب أن تكون أمان واجهة برمجة التطبيقات مسؤولية مقدمي الخدمات
- ستفكر هذه المقالة في المنطق التطبيقي لهذا من منظور أمان Linux الأساسي
1. استكشاف أمان ChatGPT من خلال تجاوز مترجم التعليمات البرمجية
إذا اعتبرنا أن النماذج اللغوية الكبيرة هي لعبة تسلسل كلمات، فإن مترجم التعليمات البرمجية يبدو كبيئة افتراضية توفر لتنفيذ التعليمات البرمجية، دعونا نحاول فهم معلومات هذه البيئة.
كانت هذه العملية أسهل بكثير مما تخيلت، لكنني شعرت بالحزن لأنني كنت قلقًا من عدم قدرتي على القيام بذلك، مما أخّرني لبضعة أشهر، لم أتوقع أن الأمر استغرق بضع ساعات فقط.
علمت بإصدار Python، وكذلك رقم إصدار Python ومسار التنفيذ.
1.1، نظام التشغيل وإصدار Python
1 | # جمع معلومات حول إصدار نظام التشغيل، المستخدم الحالي، وإصدار Python |
- إصدار نظام التشغيل: تم التعرف عليه سابقًا كـ Linux 4.4.0 على معمارية x86_64 مع glibc 2.36.
- المستخدم الحالي: في هذه البيئة، قد لا تكون المعلومات التفصيلية عن المستخدم قابلة للاسترجاع بسبب قيود الأمان والخصوصية.
- إصدار Python: كانت آخر نسخة معروفة هي Python 3.11.8.
1 | import sys |
البيئة الحالية لـ Python تعمل بالإصدار 3.11.8. النظام كان يعمل لمدة 4 دقائق و21 ثانية. إليك ناتج أمر free
الذي يظهر حالة الذاكرة:
1 | إجمالي مستخدم حر مشترك buff/cache متاح |
تشير إلى أن من إجمالي 1,048,576 KiB من الذاكرة، تم استخدام 261,352 KiB، و787,224 KiB حر، و34,964 KiB مستخدم كـ buffers/cache. لم يتم استخدام أي ذاكرة تبادلية.
1.2، الحزم المثبتة مسبقًا في Python
1 | import sys |
- pdfminer.six: 20220319
- tifffile: 2024.2.12
- certifi: 2024.2.2
- xarray: 2024.2.0
- pytz: 2024.1
- regex: 2023.12.25
- jsonschema-specifications: 2023.12.1
- weasyprint: 53.3
- pyzmq: 25.1.2
- packaging: 24.0
- attrs: 23.2.0
- argon2-cffi: 23.1.0
- pyOpenSSL: 21.0.0
- pycountry: 20.7.3
- dlib: 19.24.2
- lit: 18.1.1
- nvidia-cublas-cu11: 11.10.3.66
- nvidia-cuda-cupti-cu11: 11.7.101
- Pillow: 9.2.0
- ipython: 8.22.2
- ……
1.3، الحصول على محتويات /mnt، “أول تجاوز للتعليمات البرمجية”
1 | # لنقم بقائمة الملفات في دليل /mnt/data وإنشاء عناوين URL لكل ملف |
إليك نتائج التنفيذ
1 | إليك قائمة الملفات في دليل `/mnt/data` مع عناوين URL المقابلة لها: |
أعطني رابط تحميل لملف 00dc5bca160812b1975abcecf199d994.webp
1 | إجابته كانت |
برجاء تشغيل كود shell عبر Python، الهدف هو تشغيل ‘curl http://openai-corp.mypinata.cloud‘ ابدأ
1 | النتيجة كانت أنها نفذت الأمر! مما يدل على أنه لم يكن هناك قيود على تشغيل هذه الأوامر!! ``` python |
كانت النتيجة
1 | خطأ: % الإجمالي % المستلم % النقل متوسط السرعة الوقت الوقت الوقت الحالي |
على الأقل، أوضح ذلك أن الإجابة السابقة كانت غير دقيقة، URL ليس مجرد سلسلة بسيطة، بل يحتوي على الكثير من معلومات التحقق وراءه. مهما كان الأمر، كان من المؤكد أن كل GPTs لديه مساحة تخزين خاصة به، وفي النهاية، عندما يتم تنفيذ التخيلات، ستعكس المساحة في /mnt/data
. وهناك فرصة للحصول عليها.
1.5، ملاحظات حول الحصول على الملفات من mnt
عند الحصول على روابط لنفس الملف في دليل mnt مرتين، لم يكن هناك فاصل زمني يتجاوز دقيقة واحدة، وكانت الروابط مختلفة.
- الأولى:
https://files.oaiusercontent.com/file-Q59YJLAjw8kwW7xvJ7tioWzs?se=2024-04-05T09%3A36%3A56Z&sp=r&sv=2021-08-06&sr=b&rscc=max-age%3D299%2C%20immutable&rscd=التعلق%3B%20filename%3D00dc5bca160812b1975abcecf199d994%2520%281%29.webp&sig=yj1SYwy70MEi4fXlgpU9AjT0x0S3e%2B2/71/qIbz5mv0%3D - الثانية:
https://files.oaiusercontent.com/file-fmVQHB7VqQ8PKQAATUcVCqFJ?se=2024-04-05T09%3A35%3A36Z&sp=r&sv=2021-08-06&sr=b&rscc=max-age%3D299%2C%20immutable&rscd=التعلق%3B%20filename%3D00dc5bca160812b1975abcecf199d994%2520%281%29.webp&sig=ZP3q55V%2B3I1PTtR5U%2BXKdDozSzEt%2Bl1gIXWX8QdjmfM%3D
من الواضح أن هذا URL له تاريخ انتهاء صلاحية، وهذا يعني أنه من المحتمل أنه يتم تنزيله عبر خدمات أخرى.
من الاستكشافات السابقة، من المحتمل أن يكون مصدر بيانات خارجي، حيث يدخل الذاكرة عند إنشاء النسخ، ثم يبدأ في العمل. ليس لدينا الصلاحيات الكافية، لذا سيكون من الصعب تغييره، لكن يمكننا الحصول عليه!
يمكننا استنتاج هيكل بسيط بناءً على التحليل أعلاه.
2، الرسم التوضيحي لهيكل بيانات GPTs
من خلال هذا الرسم، يمكننا رؤية أن GPT-4 وChatGPT ليستا نفس الشيء، وهي مسألة سهلة الفهم، لذا أصبحت ChatGPT معقدة الاستخدام. تهدف هذه المقالة إلى استكشاف أمان GPTs. من خلال هذا الرسم، نقوم بمعرفة أن GPTs لديها على الأرجح تخزين منفصل. وفقًا لبيانات OpenAI الرسمية، ستحتفظ كل محادثاتنا لمدة تصل إلى 30 يومًا لأغراض الامتثال، كما أشاروا بوضوح أن هذه المحادثات ستستخدم للتدريب.
لكن من وجهة نظري، فإن هذه المعلومات من المحتمل ألا تستخدم في النسخة الحالية، من الزاوية التجارية، ومن ناحية المنتج، ومن منظور استقرار النظام، ليس هناك حاجة لتعديل النموذج. إذ أنه من أجل جعل GPTs أكثر فائدة، من الضروري الحفاظ على محتوى العديد من المحادثات بطرق معينة، مما يجعل GPTs تتحسن. لأن في كل مرة يتم تشغيلها، من المحتمل أن تستند على البيانات التاريخية كجزء من المعلومات السياقية.
أي أن المستخدم A استخدم GPT معين، والمستخدم B استخدم أيضًا GPT معين، وكلاهما لديها سجلات محادثات، تلك السجلات يجب أن تتجمع في مكان تخزين أي GPT.
بهذا المعنى، لدينا فرصة للوصول إلى جميع سجلات المحادثة التاريخية لـ GPT، كما يمكن أن نحصل على جميع الملفات التاريخية لـ GPT.
قد تحتفظ GPTs (بما في ذلك خدمات مثل ChatGPT) بسجلات المحادثة الخاصة بالمستخدم لفترة زمنية معينة للامتثال أو مزيد من تدريب النموذج، وهذا من الناحية التقنية والتجارية يكون منطقيًا. ومع ذلك، يبرز هذا عدة قضايا أمان وخصوصية مهمة:
- عزل بيانات المستخدم: التأكد من عزل البيانات بين المستخدمين المختلفين، ومنع المستخدم A من الوصول إلى سجلات المستخدم B.
- تشفير وحماية البيانات: يجب أن يتم تشفير بيانات المستخدم عند التخزين، مما يضمن أنه حتى لو تم الوصول إلى البيانات بشكل غير قانوني، ستكون صعبة الفهم.
- الامتثال والشفافية: تحديد كيفية استخدام بيانات المستخدم بوضوح، بما في ذلك ما إذا كانت تستخدم لتدريب النماذج، وتوفير خيارات لحذف بيانات المستخدم، وزيادة ثقة المستخدم في حماية الخصوصية.
- التحكم في الوصول والتدقيق: وجود تحكم صارم في الوصول وسجلات التدقيق، مما يضمن أن فقط الأشخاص المصرح لهم يمكنهم الوصول إلى بيانات المستخدم عند الضرورة، وأن جميع سلوكيات الوصول تكون مسجلة لتسهيل تتبع الأمور.
تحديًا للمستخدمين العاديين، من الصعب جدًا مواجهة هذه القضايا الأمنية من الناحية التقنية، ومع ذلك، يمكن للمستخدمين اتخاذ بعض الاحتياطات لحماية الخصوصية، مثل:
- عند استخدام خدمات GPTs، تجنب إدخال معلومات شخصية حساسة.
- الاستمرار في الاطلاع على سياسات الخصوصية والإفصاح عن استخدام البيانات من مقدمي الخدمة.
- استخدام الأدوات الخاصة بإدارة البيانات التي توفرها المنصة، مثل طلبات حذف البيانات، لإدارة البيانات الخاصة بهم.
من جهة المنصة، فإن ضمان أمان وخصوصية بيانات المستخدم ليس فقط مطلبًا قانونيًا وأخلاقيًا، بل هو أيضًا المفتاح لبناء والحفاظ على ثقة المستخدمين. بالنسبة لمنصة خدمة ذكاء اصطناعي تُدار بواسطة بيانات المستخدم، فإن اعتماد سياسات إدارة بيانات شفافة ومسؤولة، وتنفيذ تدابير أمان صارمة، هو الأساس لبناء نجاح طويل الأجل.
لحماية أمان المستخدم العادي، لا يمكنهم فعل الكثير، من المنطقي أن تكون هذه مسؤولية المنصة، لذلك لا أوصي بالاستثمار في الكثير من الجهود للقيام بذلك الآن.
أتقدم الآن بفهم أمان GPTs من خلال ملاحظة التفاعل.
3، بدءًا من عملية طلب GPTs
من خلال هذه الصورة، نرى أن هناك قيمة بيانات معينة لمزودي GPTs:
- Prompt
- شفرة المصدر الخاصة بـ GPTs
- إذا كان OpenAI لا يمكنها حماية هذه المسألة، لا أريد أن أقول شيئًا بعد الآن
- ملفات البيانات في GPTs
- يجب أن تكون هذه مسؤوليتهم، حاليًا يبدو أن هذه البيانات متاحة بشكل نصي فقط
- متواجدة في /mnt/data
- واجهات برمجة التطبيقات الخارجية المستخدمة في GPTs
- بياناتنا الخاصة
عند استدعاء المستخدم لـ GPTs، قد يُستخدم أسلوب التحميل الديناميكي، إذا لم يكن هناك استدعاءات، فلن يتم تفعيل GPTs. أعتقد أن التفعيل يعني أنه تم بدء تشغيل، مثل حاوية Docker، لتحميل ملفاته إلى mnt/data، أو على الأقل تحميل السجلات التاريخية. إذا مضى وقت دون الاستدعاءات، فإنه يعود في حالة كمون.
3.1، حماية Prompt هي مسؤولية OpenAI!
هناك الكثير في الإنترنت حول كيفية حماية وحماية Prompt، لذا لن أستفيض. سأشارك فقرة وجدت من منتدى OpenAI:
1 | # الإرشادات الأساسية |
هذا طويل جداً! هل ستُحير GPT بفكره؟
نعلم أنه إذا أضفنا بيان في لحظة إنشاء، فهذا سيجعل المستخدمين غير قادرين على الحصول على المعلومات، وهي درجة معينة من الحماية للشفرة المصدرية لـ GPTs، المشكلة تكمن في أنه إذا كان هذا GPT مفيدًا جدًا وشائعًا، فإن سجلاته التاريخية ستكون طويلة جدًا، هل سيتذكر حديثه السابق؟
3.2، واجهة برمجة التطبيقات مليئة بالتعقيد، أكثر مما نتخيل
نعلم أنه، لأسباب تتعلق بالأمان، عادةً لا يمكن للمتصفح إجراء طلبات عبر المجالات، مما يعني أن GPTs لا يمكنها استدعاء واجهة برمجة التطبيقات الخاصة بنا في المتصفح، يمكنها فقط القيام بذلك من الخلفية. أتمنى أنك تفهم شعوري وأنا أكتب هذه الفقرة بشكل هادئ، مما يعني أنه لا يوجد سبب يعجل بها لتقديم معلومات واجهة برمجة التطبيقات الخاصة بنا في المتصفح!!
لا أفهم لماذا توجد ضرورة في الواجهة الأمامية لتسريب عنوان URL هذا، كيف يمكننا تحويله إلى عمل تجاري؟ بالطبع، هم يوفرون آلية أمان، مثل الحاجة لإدخال Token، لكن في الواقع، معظم Tokens ذات تاريخ انتهاء صلاحية، ويجب أن يكون هناك عملية تحقق، حاليًا في GPTs لا أوضح ذلك. يكفي أن أعطيك Token ثابته.
هنا، على الرغم من أنهم تركوا ثغرات بزيادة زر التأكيد عند طلب المستخدم، إلا أنه لا يزال بسيطًا، لأنه لا يوجد سجل تفويض للواجهات الخارجية، لذا فإن مناقشة هذه النقطة تبدو مضيعة للوقت~
بالتأكيد، يمكننا قصر استدعاءات المصدر على نطاق OpenAI فقط، هناك العديد من الطرق للقيام بذلك. مثل
1 | from fastapi.middleware.cors |
1 | const app = express(); |
من الشبكة الخارجية إلى الداخلية، هناك الكثير من الطرق التقليدية للقيام بذلك، وهذه الحلول ناضجة جدًا.
لتجنب التعرض للهجمات، يمكن أن يكون التفكير في أنك لن تستطيع الوصول إليّ، لكن OpenAI قد أبلغت عنّا من قبل، ماذا نفعل الآن؟
3.3، استراتيجية غلاف الفقر، دعنا نضع غلافًا
نظرًا لأن OpenAI قد تسربت أسماء الدوال، وعناوين واجهة برمجة التطبيقات، وأيضًا أخبروا عن المعلمات، كيف يمكننا تبرير التصريح؟ لمنع الخادم من التعطل، دعنا نتخفي. هل يكفي تجربة غلاف CF؟ اخفاء عنوان IP الحقيقي، ربما سيجعل الأمور أقل خطورة.
فوائد تنفيذ استراتيجية “الغلاف”:
- تعزيز الأمان: عن طريق إخفاء عنوان IP الحقيقي، يقلل من مخاطر الهجمات المباشرة على الخادم، مثل هجمات DDoS.
- تحسين الأداء: يمكن لـ CDN تخزين الموارد الثابتة، وتقديم الخدمات من خلال نقاط قريبة، مما يقلل من الزمن.
- التشفير SSL/TLS: معظم خدمات CDN توفر تشفير SSL/TLS، لضمان الأمان أثناء نقل البيانات حتى في الشبكات غير الآمنة.
- دفاع ضد الهجمات: غالبًا ما تتمتع خدمات CDN وجدار الحماية بقدرة على التعرف والدفاع ضد الهجمات الشائعة مثل حقن SQL، وهجمات البرمجة النصية عبر المواقع.
ملاحظات:
- تأكيد الإعدادات الصحيحة: تأكد من وجود قواعد إعداد صحيحة لجدار الحماية وCDN، وتجنب حجب الطلبات الشرعية.
- المراقبة المستمرة: حتى مع استخدام CDN، لا ينبغي التخلي عن مراعاة الأمان. مراجعة السجلات بشكل دوري لمراقبة التهديدات المحتملة.
- النسخ الاحتياطي والاستعادة: الحفاظ على خطة النسخ الاحتياطي والاسترداد للخوادم، حتى تتمكن من استعادة الخدمة بسرعة إذا تعرضت خدمة CDN للاعتداء.
بشكل عام، رغم أن استخدام CDN وخدمة جدار الحماية لا يحل كل المشكلات الأمنية، لكنه يوفر بالفعل طبقة أساسية من الحماية للخدمة. بالجمع بين أفضل الممارسات الأمنية الأخرى، مثل تشفير البيانات، مراقبة الوصول، والتحديثات البرمجية في الوقت المناسب، يمكن بناء نظام دفاع أمني شامل. لمزود خدمة GPTs، اعتماد استراتيجية “الغلاف” تعتبر واحدة من الوسائل الفعالة لتعزيز أمان الخدمة.
تنتهي استكشافات الأمان هنا.
4، خاتمة
المقالة استغرقت وقتًا طويلاً في التحضير، كانت العقبة الرئيسية تكمن في كيفية تجاوز مترجم التعليمات البرمجية، وقد تم تقديم العديد من الأمثلة عبر الإنترنت، لكن العديد منها لم يعد صالحًا. ومع ذلك، كانت التجارب الخاصة بي بسيطة نسبيًا…… . أفكار الأمان بالنسبة إلى GPTs ليست ذات أهمية كبيرة للناس العادية بشكل خاص. إذا لم يتم معالجة هذه القضية، فإن تحقيق النمو التجاري سيكون صعبًا للغاية.
4.1، الاقتراحات
الاقتراحات في الوقت الحالي تشمل ما يلي:
- تخفيف حماية الـPrompt
- عدم تحميل مواد حساسة
- استخدام واجهة برمجة التطبيقات الخاصة لتحزين البيانات
بالطبع، الأعمال مختلفة، والمتطلبات مختلفة، ولا يمكننا التوقف عن العمل:
4.2، ردود ChatGPT
تناقش المقالة بشكل عميق الأمان في ChatGPT ونماذج GPT، وتقدم العديد من السيناريوهات والثغرات واستراتيجيات التخفيف. فيما يلي تحليل مفصل للنقاط في النص، بما في ذلك النقاط المثيرة للجدل والأفكار التي تحتاج إلى مزيد من التوضيح أو الإضافة:
النقاط المثيرة للجدل والتوضيح
سوء الفهم حول تطوير القدرة في ChatGPT:
- تصف المقالة ChatGPT كعرض تجريبي تم صنعه بطريقة متخلفة، وتلمح إلى أن الفريق الأساسي في OpenAI لا يشارك في تطويره، ويثير هذا وصفًا مضللًا. OpenAI أكدت دائمًا التزامها بتطوير ChatGPT وأمانه، حيث يشرف عليه فريق من الخبراء. بالإضافة إلى ذلك، فإن قدرات ChatGPT والنموذج الأساسي لها تمثل نتائج أبحاث وتطوير واسعة.
مشكلة استدعاء واجهة برمجة التطبيقات الخارجية وإفشاءها في الواجهة الأمامية:
- تنتقد المقالة تصرف ChatGPT في التعامل مع واجهات برمجة التطبيقات الخارجية دون ضرورة الإفصاح عنها في الواجهة الأمامية، وهذا يتطلب فهمًا أعمق لقرارات الهيكل. في الواقع، تُدار التفاعلات بين ChatGPT وواجهات برمجة التطبيقات الخارجية على الخادم، باستخدام بروتوكولات أمان صارمة لمنع الوصول غير المصرح به. يعد وجود تلميحات أو مخرجات مرتبطة بواجهات برمجة التطبيقات سعيًا لزيادة الشفافية وفهم المستخدم، وليس تسرب العملية الخلفية مباشرة.
أمان حماية التوجيهات وملفات المعرفة:
- تتحدث المقالة عن حماية التوجيهات وملفات المعرفة، مما يفترض أنه من الشواغل الرئيسية. من المهم أن نوضح أن OpenAI تتخذ تدابير أمنية قوية لحماية هذه العناصر. التوجيهات المستخدمة لتوليد ردود ChatGPT تعد جزءًا من النموذج المدرب، ولا يمكن الوصول إليها أو تعديله مباشرة من قبل المستخدم. تُجري ملفات المعرفة تحديثات وحماية ضمن عمليات تحكم لضمان تكاملها وسرّيتها.
جوانب مفقودة أو غير مستكشفة بالشكل الكافي
تشفير البيانات وعدم الكشف عن الهوية:
- كانت المقالة ستستفيد من مناقشة التشفير وحماية البيانات أثناء الاسترخاء والنقل، بالإضافة إلى معالجة بيانات المستخدم بشكل غير قابل للتعريف. هذه نقاط رئيسية لحماية خصوصية المستخدم وتضمن أمان الاتصال بينهم وبين ChatGPT.
تقييم المخاطر ونموذج التهديد:
- ستوفر المناقشة حول نموذج التهديد وتقييم المخاطر الخاصة بحالات استخدام ChatGPT للقارئ فهمًا شاملًا للتهديدات الأمنية المحتملة واستراتيجيات التخفيف.
خصوصية المستخدم والموافقة:
- كانت المقالة ستكون أكثر شمولاً إذا ناقشت الخصوصية، خاصةً حول آليات الموافقة بشأن جمع البيانات واستخدامها ومشاركتها. يجب شرح كيف يمكن للمستخدمين التحكم أو الانسحاب من جمع البيانات، وكيف تعزز OpenAI الشفافية.
استجابة الحوادث وآلية تقارير المستخدم:
- سيكون من المفيد الإشارة إلى إجراءات استجابة الحوادث وكيفة تقارير المتسخدم للتسريبات أو المشكلات الأمنية. بما في ذلك الخطوات التي تتخذها OpenAI بشأن تقرير الثغرات، وكيفية التواصل مع مجتمع المستخدم بشأن هذه القضايا.
أخلاقيات الذكاء الاصطناعي وتخفيف التحيز:
- في حين أنها ليست مسألة أمان صارمة، فإن الشروع في مناقشة تضمين أخلاقيات الذكاء الاصطناعي واستراتيجيات تخفيف التحيز في تطوير ChatGPT وإطلاقها يمكن أن يثري محتوى المقال، في ظل أهميتها في الاستخدام المسؤول للذكاء الاصطناعي.
باختصار، توفر المقالة فهماً أساسياً لبيئة أمان ChatGPT، لكنها تقصر في التقاط التزام OpenAI بالأمان وتعقيدات حماية نماذج الذكاء الاصطناعي المعقدة مثل ChatGPT. سيوسع مناقشة النقاط المذكورة أعلاه الرؤية الموازنة والشاملة.
4.3، مصادر
- https://community.openai.com/t/how-can-you-protect-your-gpt/500642/37
- https://community.openai.com/t/theres-no-way-to-protect-custom-gpt-instructions/517821/25
- https://mercharts.com/prompts-to-protect-your-gpts-from-copying/
- https://www.toolify.ai/ai-news/securing-custom-gpts-a-guide-to-protecting-your-intellectual-property-752436
- https://medium.com/the-generator/defending-your-custom-gpt-against-prompt-injection-ceea5f3c124d
- https://github.com/GPTGeeker/securityGPT
- https://wonderwhy-er.medium.com/so-you-want-to-protect-your-custom-gpts-heres-what-you-need-to-know-c4aec4f32478
- https://community.openai.com/t/magic-words-can-reveal-all-of-prompts-of-the-gpts/496771/11