{"data":{"slug":"protectai-rebuff","name":"rebuff","tagline":"LLM Prompt Injection Detector","github_url":"https://github.com/protectai/rebuff","owner":"protectai","repo":"rebuff","owner_avatar_url":"https://avatars.githubusercontent.com/u/102992336?v=4","primary_language":"TypeScript","stars":1516,"forks":141,"topics":["llm","llmops","prompt-engineering","prompt-injection","prompts","security"],"archived":true,"github_pushed_at":"2024-08-07T23:35:48+00:00","maintenance_label":"Archived","url":"https://www.graphcanon.com/tools/protectai-rebuff","markdown_url":"https://www.graphcanon.com/tools/protectai-rebuff.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/protectai-rebuff","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=protectai-rebuff","description":"LLM Prompt Injection Detector","homepage_url":"https://playground.rebuff.ai","license":"Apache-2.0","open_issues":33,"watchers":2,"ai_summary":"Rebuff is a tool for detecting and preventing prompt injection attacks on large language models.","readme_excerpt":"## Installation\n\n```bash\npip install rebuff\n```\n\n---\n\n## Self-hosting\n\nTo self-host Rebuff Playground, you need to set up the necessary providers like Supabase, OpenAI, and a vector\ndatabase, either Pinecone or Chroma. Here we'll assume you're using Pinecone. Follow the links below to set up each\nprovider:\n\n- [Pinecone](https://www.pinecone.io/)\n- [Supabase](https://supabase.io/)\n- [OpenAI](https://beta.openai.com/signup/)\n\nOnce you have set up the providers, you'll need to stand up the relevant SQL and\nvector databases on Supabase and Pinecone respectively. See the\n[server README](server/README.md) for more information.\n\nNow you can start the Rebuff server using npm.\n\n```bash\ncd server\n```\n\nIn the server directory create an `.env.local` file and add the following environment variables:\n\n```\nOPENAI_API_KEY=<your_openai_api_key>\nMASTER_API_KEY=12345\nBILLING_RATE_INT_10K=<your_billing_rate_int_10k>\nMASTER_CREDIT_AMOUNT=<your_master_credit_amount>\nNEXT_PUBLIC_SUPABASE_ANON_KEY=<your_next_public_supabase_anon_key>\nNEXT_PUBLIC_SUPABASE_URL=<your_next_public_supabase_url>\nPINECONE_API_KEY=<your_pinecone_api_key>\nPINECONE_ENVIRONMENT=<your_pinecone_environment>\nPINECONE_INDEX_NAME=<your_pinecone_index_name>\nSUPABASE_SERVICE_KEY=<your_supabase_service_key>\nREBUFF_API=http://localhost:3000\n```\n\nInstall packages and run the server with the following:\n\n```bash\nnpm install\nnpm run dev\n```\n\nNow, the Rebuff server should be running at `http://localhost:3000`.","github_created_at":"2023-04-24T05:49:09+00:00","created_at":"2026-07-11T23:42:32.210035+00:00","updated_at":"2026-08-05T06:01:05.874397+00:00","categories":[{"slug":"evaluation-observability","name":"Evaluation & Observability","url":"https://www.graphcanon.com/categories/evaluation-observability","markdown_url":"https://www.graphcanon.com/categories/evaluation-observability.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/evaluation-observability"}],"tags":[{"slug":"llm","name":"llm"},{"slug":"llmops","name":"llmops"},{"slug":"prompt-engineering","name":"prompt-engineering"},{"slug":"prompt-injection","name":"prompt-injection"},{"slug":"prompts","name":"prompts"},{"slug":"security","name":"security"}],"trust":{"provenance":{"is_fork":false,"github_id":631814434,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-05T06:01:04.816Z","maintenance":{"label":"Archived","score":8,"methodology":"github_public_v1","releases_90d":0,"days_since_push":727,"last_release_at":"2024-01-20T01:11:48Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T23:42:34.064Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-05T06:01:05.283Z"},"languages":{"value":["typescript"],"source":"github.language","observed_at":"2026-08-05T06:01:05.283Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-08-05T06:01:05.283Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["Use Rebuff when you need precise detection of prompt injection vulnerabilities specific to your deployment, especially if it relies heavily on interactions with large language models."],"when_not_to_use":["Do not use Rebuff if setting up and managing multiple provider services like Supabase, OpenAI, Pinecone, or Chroma is inconvenient or infeasible for your project requirements."],"source":"enrich:decision_facts","observed_at":"2026-07-16T20:22:15.974Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Rebuff is a detector for prompt injection attacks on large language models and operates in TypeScript under an Apache-2.0 license."}]}}