{"id":26514600,"url":"https://github.com/cx330blake/spell-whisperer","last_synced_at":"2025-03-21T05:19:12.861Z","repository":{"id":281978045,"uuid":"945433248","full_name":"CX330Blake/Spell-Whisperer","owner":"CX330Blake","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-19T07:04:08.000Z","size":4375,"stargazers_count":24,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-19T07:23:15.213Z","etag":null,"topics":["hacking","llm","pentesting","prompt-injection","redteam"],"latest_commit_sha":null,"homepage":"https://spell-whisperer.cx330.tw","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CX330Blake.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-09T12:14:52.000Z","updated_at":"2025-03-19T06:10:09.000Z","dependencies_parsed_at":"2025-03-19T07:21:50.183Z","dependency_job_id":null,"html_url":"https://github.com/CX330Blake/Spell-Whisperer","commit_stats":null,"previous_names":["cx330blake/spell-whisperer"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CX330Blake%2FSpell-Whisperer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CX330Blake%2FSpell-Whisperer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CX330Blake%2FSpell-Whisperer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CX330Blake%2FSpell-Whisperer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CX330Blake","download_url":"https://codeload.github.com/CX330Blake/Spell-Whisperer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244740318,"owners_count":20502060,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacking","llm","pentesting","prompt-injection","redteam"],"created_at":"2025-03-21T05:19:12.311Z","updated_at":"2025-03-21T05:19:12.848Z","avatar_url":"https://github.com/CX330Blake.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spell Whisperer\n\n\u003cimg width=\"1470\" alt=\"opengraph-image\" src=\"https://github.com/user-attachments/assets/349c20dd-fd3a-4b72-acc7-5788002a4268\" /\u003e\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n- [Disclaimer](#disclaimer)\n- [Introduction](#introduction)\n- [Deploy](#deploy)\n  - [Deploy on Vercel](#deploy-on-vercel)\n  - [Deploy on your own](#deploy-on-your-own)\n- [Customize the challenges](#customize-the-challenges)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## Disclaimer\n\nThis repository shows the basic ideas of hacking LLMs, but it's for educational purposes only. I am not responsible for any misuse of this repository.\n\n## Introduction\n\nSpell whisperer is a prompt injection challenge based on Grok API (of course, you can change it to any other API like OpenAI API). There's five challenges now, probably more in the future.\n\n## Deploy\n\n### Deploy on Vercel\n\nBy clicking the following button, you will clone a repo from here and deploy your own app on Vercel.\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/CX330Blake/Spell-Whisperer)\n\n### Deploy on your own\n\n1. Clone/Fork this repository\n2. Install all the dependencies\n\n    ```bash\n    npm install\n    ```\n\n3. Export your Grok/OpenAI API Key using this command\n\n    ```bash\n    export XAI_API_KEY=YOUR_API_KEY\n    ```\n\n4. Run `npm build \u0026\u0026 npm start` to start the server\n\n## Customize the challenges\n\nYou can simply customize them by modifying the `/src/app/api/challenge/challenges.json`. You'll see everything you need there.\n\n## Star History\n\n\u003ca href=\"https://www.star-history.com/#CX330Blake/Spell-Whisperer\u0026Date\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=CX330Blake/Spell-Whisperer\u0026type=Date\u0026theme=dark\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=CX330Blake/Spell-Whisperer\u0026type=Date\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=CX330Blake/Spell-Whisperer\u0026type=Date\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n\n## TODO\n\n1. Leaderboard\n2. Challenges page refactor \u0026 add scoring system\n3. Add flag prefix\n4. Markdown response support\n5. Other challenges (not just flag stealer)\n6. Show others solutions \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcx330blake%2Fspell-whisperer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcx330blake%2Fspell-whisperer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcx330blake%2Fspell-whisperer/lists"}