[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:garak":3},"\u003Ch1>garak, LLM vulnerability scanner\u003C\u002Fh1>\n\u003Cp>\u003Cem>Generative AI Red-teaming &amp; Assessment Kit\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Ccode>garak\u003C\u002Fcode> checks if an LLM can be made to fail in a way we don't want. \u003Ccode>garak\u003C\u002Fcode> probes for hallucination, data leakage, prompt injection, misinformation, toxicity generation, jailbreaks, and many other weaknesses. If you know \u003Ccode>nmap\u003C\u002Fcode> or \u003Ccode>msf\u003C\u002Fcode> \u002F Metasploit Framework, garak does somewhat similar things to them, but for LLMs. \u003C\u002Fp>\n\u003Cp>\u003Ccode>garak\u003C\u002Fcode> focuses on ways of making an LLM or dialog system fail. It combines static, dynamic, and adaptive probes to explore this.\u003C\u002Fp>\n\u003Cp>\u003Ccode>garak\u003C\u002Fcode>'s a free tool. We love developing it and are always interested in adding functionality to support applications. \u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg\" alt=\"License\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fgarak\u002Factions\u002Fworkflows\u002Ftest_linux.yml\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fgarak\u002Factions\u002Fworkflows\u002Ftest_linux.yml\u002Fbadge.svg\" alt=\"Tests\u002FLinux\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fgarak\u002Factions\u002Fworkflows\u002Ftest_windows.yml\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fgarak\u002Factions\u002Fworkflows\u002Ftest_windows.yml\u002Fbadge.svg\" alt=\"Tests\u002FWindows\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fgarak\u002Factions\u002Fworkflows\u002Ftest_macos.yml\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fgarak\u002Factions\u002Fworkflows\u002Ftest_macos.yml\u002Fbadge.svg\" alt=\"Tests\u002FOSX\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"http:\u002F\u002Fgarak.readthedocs.io\u002Fen\u002Flatest\u002F?badge=latest\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Freadthedocs.org\u002Fprojects\u002Fgarak\u002Fbadge\u002F?version=latest\" alt=\"Documentation Status\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.11036\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcs.CL-arXiv%3A2406.11036-b31b1b.svg\" alt=\"arXiv\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FuVch4puUCs\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fchat-on%20discord-yellow.svg\" alt=\"discord-img\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg\" alt=\"Code style: black\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fgarak\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fgarak\" alt=\"PyPI - Python Version\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fgarak\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fgarak.svg\" alt=\"PyPI\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fpepy.tech\u002Fproject\u002Fgarak\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fstatic.pepy.tech\u002Fbadge\u002Fgarak\" alt=\"Downloads\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fpepy.tech\u002Fproject\u002Fgarak\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fstatic.pepy.tech\u002Fbadge\u002Fgarak\u002Fmonth\" alt=\"Downloads\" \u002F>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch2>Get started\u003C\u002Fh2>\n\u003Ch3>&gt; See our user guide! \u003Ca href=\"https:\u002F\u002Fdocs.garak.ai\u002F\" rel=\"nofollow ugc noopener\">docs.garak.ai\u003C\u002Fa>\u003C\u002Fh3>\n\u003Ch3>&gt; Join our \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FuVch4puUCs\" rel=\"nofollow ugc noopener\">Discord\u003C\u002Fa>!\u003C\u002Fh3>\n\u003Ch3>&gt; Project links &amp; home: \u003Ca href=\"https:\u002F\u002Fgarak.ai\u002F\" rel=\"nofollow ugc noopener\">garak.ai\u003C\u002Fa>\u003C\u002Fh3>\n\u003Ch3>&gt; Twitter: \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fgarak_llm\" rel=\"nofollow ugc noopener\">@garak_llm\u003C\u002Fa>\u003C\u002Fh3>\n\u003Ch3>&gt; DEF CON \u003Ca href=\"https:\u002F\u002Fgarak.ai\u002Fgarak_aiv_slides.pdf\" rel=\"nofollow ugc noopener\">slides\u003C\u002Fa>!\u003C\u002Fh3>\n\u003Chr \u002F>\u003Ch2>LLM support\u003C\u002Fh2>\n\u003Cp>currently supports:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fmodels\" rel=\"nofollow ugc noopener\">hugging face hub\u003C\u002Fa> generative models\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Freplicate.com\u002F\" rel=\"nofollow ugc noopener\">replicate\u003C\u002Fa> text models\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fintroduction\" rel=\"nofollow ugc noopener\">openai api\u003C\u002Fa> chat &amp; continuation models\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fbedrock\u002F\" rel=\"nofollow ugc noopener\">aws bedrock\u003C\u002Fa> foundation models\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.litellm.ai\u002F\" rel=\"nofollow ugc noopener\">litellm\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>pretty much anything accessible via REST\u003C\u002Fli>\n\u003Cli>gguf models like \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fllama.cpp\" rel=\"nofollow ugc noopener\">llama.cpp\u003C\u002Fa> version &gt;= 1046\u003C\u002Fli>\n\u003Cli>.. and many more LLMs!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Install:\u003C\u002Fh2>\n\u003Cp>\u003Ccode>garak\u003C\u002Fcode> is a command-line tool. It's developed in Linux and OSX.\u003C\u002Fp>\n\u003Ch3>Standard install with \u003Ccode>pip\u003C\u002Fcode>\u003C\u002Fh3>\n\u003Cp>Just grab it from PyPI and you should be good to go:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>python -m pip install -U garak\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Install development version with \u003Ccode>pip\u003C\u002Fcode>\u003C\u002Fh3>\n\u003Cp>The standard pip version of \u003Ccode>garak\u003C\u002Fcode> is updated periodically. To get a fresher version from GitHub, try:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>python -m pip install -U git+https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fgarak.git@main\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Clone from source\u003C\u002Fh3>\n\u003Cp>\u003Ccode>garak\u003C\u002Fcode> has its own dependencies. You can to install \u003Ccode>garak\u003C\u002Fcode> in its own Conda environment:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>conda create --name garak \"python&gt;=3.10,&lt;=3.12\"\nconda activate garak\ngh repo clone NVIDIA\u002Fgarak\ncd garak\npython -m pip install -e .\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>OK, if that went fine, you're probably good to go!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Note\u003C\u002Fstrong>: if you cloned before the move to the \u003Ccode>NVIDIA\u003C\u002Fcode> GitHub organisation, but you're reading this at the \u003Ccode>github.com\u002FNVIDIA\u003C\u002Fcode> URI, please update your remotes as follows:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>git remote set-url origin https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fgarak.git\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Getting started\u003C\u002Fh2>\n\u003Cp>The general syntax is:\u003C\u002Fp>\n\u003Cp>\u003Ccode>garak &lt;options&gt;\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Ccode>garak\u003C\u002Fcode> needs to know what mode\u003C\u002Fp>\n",1784240407265]