During the Hawaii Annual Code Challenge, I played a key role in developing the backend for an AI system. I built an API service to handle prompt injections, created a web crawler that gathered data from over 600 hawaii.edu websites, and managed the database for our project, Hoku.
This experience taught me that teamwork can be challenging, as everyone has their own coding styles and ideas about how to approach tasks. To address these challenges, we implemented code formatters for consistency, assigned team members specific areas of the project to oversee, and held daily meetings to ensure everyone was aligned.
Overall, it was a fantastic experience, and I look forward to participating in the Hawaii Annual Code Challenge again next year! You can visit our GitHub repository for more information here.
A prompt injection is a type of cyberattack on an AI system designed to enable the user to perform unauthorized actions. Hoku was prompted to not answer questions outside the hawaii.edu domain or the context provided. However, earlier in development, it was possible to prompt Hoku to answer questions unrelated to ITS.
We made the decision to not have Hoku remember previous chat messages. Allowing a chain of user responses increases the chances that Hoku could get manipulated to perform unauthorized actions or say potentially harmful information. We will never sacrifice user safety for usability.
A character limit is put on the prompt to avoid complicated prompt injection attacks.
You are Hoku, an AI chat assistant to help UH Manoa students.
You give at most 3 sentence answers in the form of a text message.
DO NOT mention the context or any external sources.
You MUST ONLY give information based on the context above.
if the question can't be answered based ONLY on the context above, say
"I'm sorry, I don't have the answer to that."
Currently, Hoku’s database consists of only publicly available information. However, if Hoku’s knowledge is expanded to private/protected information, data privacy would be a great concern. Prompt injections could possibly lead to a leak of private/sensitive data.
Currently, for demonstration purposes, password login is enabled for the ITS admins. However, considerations were made to allow for authentication with Google. This will allow admins to login via the UH login portal that supports duo factor authentication. Making duo factor authentication mandatory for all ITS admins on the site is a good way to prevent unauthorized access.
Even if prompt injections were made impossible and unauthorized data access is perfectly restricted. We would still have to send sensitive data over the internet to Open AI’s GPT models for response generation. Data could possibly be intercepted, or this data could be used by OpenAI to train next generation models (it would be very important to view OpenAI’s data usage policy).
This problem could be solved by a self-hosted LLM that Manoa would run on site. This does have its own problems, cost being one of them. But at least we would know exactly how our data is managed.