ChatGPT Plugin and Its Security Challenges

-
5 min read

On March, 23rd 2023, OpenAI announced the possibility to connect its now-famous ChatGPT LLM to the Internet with the aid of plugins. The possible use cases for this new feature are close to infinite and this tool is set to change a wide spectrum of activities in our daily lives, from our way to browse the Internet to how we work. Expedia, Instacart, and Zapier are among the first dozen available plugins. And this all has to do with APIs. But how does this new technology work and what are the security challenges lying ahead for businesses wanting to expose data using ChatGPT? This blog post will help you understand how to connect your data, and how to safely use ChatGPT.

How ChatGPT Plugins Are Working?

Plugins connect ChatGPT with third-party applications enabling organizations to share and use data with the language model tool. They take the form of a JSON manifest bundling API endpoints, info on the organization, and authentification method. It uses the OpenAPI specification.

Building a plugin requires the following:

1. Manifest of the plugin

It compiles basic information about the organization publishing the plugin, name and descriptions for both humans and the model. Those descriptions are limited to 120 characters for humans and 8000 for the model. The description for the model can include token length or keyword indications.

The authentification method can also be included, plugins support authorization at the service level, at the client level — the user will have to enter its API key in ChatGPT’s UI and OAuth.

This is what the plugin manifest looks like, with an example from OpenAI for a sports stats plugin, with to authentification method:

{
  "schema_version": "v1",
  "name_for_human": "Sport Stats",
  "name_for_model": "sportStats",
  "description_for_human": "Get current and historical stats for sport players and games.",
  "description_for_model": "Get current and historical stats for sport players and games. Always display results using markdown tables.",
  "auth": {
    "type": "none"
  },
  "api": {
    "type": "openapi",
    "url": "PLUGIN_HOSTNAME/openapi.yaml",
    "is_user_authenticated": false
  },
  "logo_url": "PLUGIN_HOSTNAME/logo.png",
  "contact_email": "support@example.com",
  "legal_info_url": "https://example.com/legal"
}

2. An OpenAPI file

This file will be used by the model to understand the API and the exposed endpoints. At the moment, OpenAPI recommends exposing only a few endpoints.

Choosing those endpoints is essential because it will determine the basic use cases the plugin will perform, and avoid sharing unwanted data. For example, you can also choose to expose only GET endpoints following what you wish to achieve.

Endpoint descriptions are limited to 200 characters.

Why security is a critical topic for ChatGPT Plugins?

Because you will open your data using plugins with a Large Language Model built to aggregate, assimilate and reuse data, security is a relevant subject. If OpenAI says it doesn’t use data submitted through its API, unless authorized, it doesn’t close the door to all the security concerns raised by the usage of plugins.

The main concern is unauthorized access to sensitive data. There's a greater possibility of gaining access to sensitive user data, leading to privacy and security breaches. Exposing your API can lead to such breaches.

Malicious use is another concern. Plugins could be exploited for other means, and lead to abusive usage. This is why authentification is so important, like API management and monitoring.

Solutions to Safely Use ChatGPT Plugins

You can take a few simple steps before beginning to share plugins on ChatGPT. This all has to do with the manifest and OpenAPI files you will share.

  • Define granular security: Choose which endpoints to expose and with whom. Tools like Blobr can help you easily create differentiated API products with various levels of authorization.
  • Strict access control: Implementing robust access control mechanisms, such as authentication and authorization, can prevent unauthorized access to sensitive data.
  • Monitoring: Follow the calls made by your ChatGPT plugins to continuously monitor how your API is used and what kind of data is shared.
  • Establish usage policies: Plugins are like any other app and you need to manage the access to your APIs. Having a clear usage policy and limits can greatly reduce the risks of abusive usage.

Final words

ChatGPT plugins are a marvelous tool that can help explore new business opportunities or improve productivity by easing tasks. Sky is your limit once you will be able to create and share plugins at will. But you need to keep in mind that those plugins come with their fair share of risks, as you will expose sometimes sensible data through your API. Having a granular approach to the way you expose your API, along with usage policies, authentification methods, and monitoring can respond to those challenges.

Stop wasting your Ad budget

Book your 30 minutes call to setup your goals and receive your first report.

Keep reading

December 14, 2023

Finding the Best API Management Tool

Finding the right API management platform for your needs can be challenging. This blog post helps you understand how to choose the best way to manage your APIs.
December 14, 2023

How to Manage Necessary Chaos and Unnecessary Risk of APIs?

How to address the potential growth and risks in an API-led ecosystem?
December 14, 2023

How Do APIs Make Your Business Better than Average?

How do APIs help business, no matter what size? What are the main benefits?