View Probes and Other Plugins#
About Plugins#
NVIDIA NeMo Auditor uses Garak for audit functionality and Garak uses plugins. Plugins provide functionality such as the probes and detectors that do the actual examination of the target, the generators that interface with models, and even the harnesses that manage run orchestration.
Viewing All Plugins#
Send a GET request to the
/v1beta1/audit/plugins
endpoint.import os from nemo_microservices import NeMoMicroservices client = NeMoMicroservices(base_url=os.getenv("AUDITOR_BASE_URL")) plugins = client.beta.audit.list_plugins(page_size=300) print(plugins)
curl "${AUDITOR_BASE_URL}/v1beta1/audit/list-plugins?page_size=300" \ -H "Accept: application/json" | jq
Example Output
SyncDefaultPagination[AuditPlugin](object='list', data=[AuditPlugin(name='buffs.encoding.Base64', type='buffs'), AuditPlugin(name='buffs.encoding.CharCode', type='buffs'), AuditPlugin(name='buffs.low_resource_languages.LRLBuff', type='buffs'), AuditPlugin(name='buffs.lowercase.Lowercase', type='buffs'), AuditPlugin(name='buffs.paraphrase.Fast', type='buffs'), AuditPlugin(name='buffs.paraphrase.PegasusT5', type='buffs'), AuditPlugin(name='detectors.always.Fail', type='detectors'), AuditPlugin(name='detectors.always.Pass', type='detectors'), AuditPlugin(name='detectors.always.Passthru', type='detectors'), AuditPlugin(name='detectors.always.Random', type='detectors'), AuditPlugin(name='detectors.ansiescape.Escaped', type='detectors'), AuditPlugin(name='detectors.ansiescape.Raw', type='detectors'), AuditPlugin(name='detectors.continuation.Continuation', type='detectors'), AuditPlugin(name='detectors.dan.AntiDAN', type='detectors'), AuditPlugin(name='detectors.dan.DAN', type='detectors'), AuditPlugin(name='detectors.dan.DANJailbreak', type='detectors'), AuditPlugin(name='detectors.dan.DUDE', type='detectors'), AuditPlugin(name='detectors.dan.DevMode', type='detectors'), AuditPlugin(name='detectors.dan.MarkdownLink', type='detectors'), AuditPlugin(name='detectors.dan.STAN', type='detectors'), AuditPlugin(name='detectors.divergence.RepeatDiverges', type='detectors'), AuditPlugin(name='detectors.encoding.DecodeApprox', type='detectors'), AuditPlugin(name='detectors.encoding.DecodeMatch', type='detectors'), AuditPlugin(name='detectors.exploitation.JinjaTemplateDetector', type='detectors'), AuditPlugin(name='detectors.exploitation.PythonCodeExecution', type='detectors'), AuditPlugin(name='detectors.exploitation.SQLiEcho', type='detectors'), AuditPlugin(name='detectors.exploitation.SQLiSuccess', type='detectors'), AuditPlugin(name='detectors.fileformats.FileIsExecutable', type='detectors'), AuditPlugin(name='detectors.fileformats.FileIsPickled', type='detectors'), AuditPlugin(name='detectors.fileformats.PossiblePickleName', type='detectors'), AuditPlugin(name='detectors.goodside.Glitch', type='detectors'), AuditPlugin(name='detectors.goodside.PlainJSON', type='detectors'), AuditPlugin(name='detectors.goodside.RileyIsnt', type='detectors'), AuditPlugin(name='detectors.judge.ModelAsJudge', type='detectors'), AuditPlugin(name='detectors.judge.Refusal', type='detectors'), AuditPlugin(name='detectors.knownbadsignatures.EICAR', type='detectors'), AuditPlugin(name='detectors.knownbadsignatures.GTUBE', type='detectors'), AuditPlugin(name='detectors.knownbadsignatures.GTphish', type='detectors'), AuditPlugin(name='detectors.leakreplay.StartsWith', type='detectors'), AuditPlugin(name='detectors.lmrc.Anthro', type='detectors'), AuditPlugin(name='detectors.lmrc.QuackMedicine', type='detectors'), AuditPlugin(name='detectors.malwaregen.AnyCode', type='detectors'), AuditPlugin(name='detectors.misleading.MustRefuteClaimKW', type='detectors'), AuditPlugin(name='detectors.misleading.MustRefuteClaimModel', type='detectors'), AuditPlugin(name='detectors.mitigation.MitigationBypass', type='detectors'), AuditPlugin(name='detectors.mitigation.Prefixes', type='detectors'), AuditPlugin(name='detectors.productkey.Win5x5', type='detectors'), AuditPlugin(name='detectors.promptinject.AttackRogueString', type='detectors'), AuditPlugin(name='detectors.shields.Down', type='detectors'), AuditPlugin(name='detectors.shields.Up', type='detectors'), AuditPlugin(name='detectors.snowball.DontStartNo', type='detectors'), AuditPlugin(name='detectors.snowball.DontStartYes', type='detectors'), AuditPlugin(name='detectors.unsafe_content.LDNOOBW', type='detectors'), AuditPlugin(name='detectors.unsafe_content.Martin_haDistilbert', type='detectors'), AuditPlugin(name='detectors.unsafe_content.OfcomOffensiveDiscriminatory', type='detectors'), AuditPlugin(name='detectors.unsafe_content.OfcomOffensiveGeneral', type='detectors'), AuditPlugin(name='detectors.unsafe_content.OfcomOffensiveMentalHealth', type='detectors'), AuditPlugin(name='detectors.unsafe_content.OfcomOffensiveRaceEthnic', type='detectors'), AuditPlugin(name='detectors.unsafe_content.OfcomOffensiveSexGender', type='detectors'), AuditPlugin(name='detectors.unsafe_content.OfcomOffensiveSexual', type='detectors'), AuditPlugin(name='detectors.unsafe_content.S_nlpDetox', type='detectors'), AuditPlugin(name='detectors.unsafe_content.SlursReclaimedSlurs', type='detectors'), AuditPlugin(name='detectors.unsafe_content.SurgeProfanityAnimalReferences', type='detectors'), AuditPlugin(name='detectors.unsafe_content.SurgeProfanityBodilyFluids', type='detectors'), AuditPlugin(name='detectors.unsafe_content.SurgeProfanityMentalDisability', type='detectors'), AuditPlugin(name='detectors.unsafe_content.SurgeProfanit yPhysicalAttributes', type='detectors'), AuditPlugin(name='detectors.unsafe _content.SurgeProfanityPhysicalDisability', type='detectors'), AuditPlugin(name='detectors.unsafe_content.SurgeProfanityPolitical', type='detectors'), AuditPlugin(name='detectors.unsafe_content.SurgeProfanityRacialEthnic', type='detectors'), AuditPlugin(name='detectors.unsafe_content.SurgeProfanityReligious', type='detectors'), AuditPlugin(name='detectors.unsafe_content.SurgeProfanitySexual', type='detectors'), AuditPlugin(name='detectors.unsafe_content.SurgeProfanit ySexualOrientationGender', type='detectors'), AuditPlugin(name='detectors.unsafe_content.ToxicCommentModel', type='detectors'), AuditPlugin(name='detectors.visual_jailbreak.FigStep', type='detectors'), AuditPlugin(name='detectors.xss.MarkdownExfil20230929', type='detectors'), AuditPlugin(name='detectors.xss.MarkdownExfilBasic', type='detectors'), AuditPlugin(name='detectors.xss.MarkdownExfilContent', type='detectors'), AuditPlugin(name='generators.azure.AzureOpenAIGenerator', type='generators'), AuditPlugin(name='generators.cohere.CohereGenerator', type='generators'), AuditPlugin(name='generators.function.Multiple', type='generators'), AuditPlugin(name='generators.function.Single', type='generators'), AuditPlugin(name='generators.ggml.GgmlGenerator', type='generators'), AuditPlugin(name='generators.groq.GroqChat', type='generators'), AuditPlugin(name='generators.guardrails.NeMoGuardrails', type='generators'), AuditPlugin(name='generators.huggingface.ConversationalPipeline', type='generators'), AuditPlugin(name='generators.huggingface.InferenceAPI', type='generators'), AuditPlugin(name='generators.huggingface.InferenceEndpoint', type='generators'), AuditPlugin(name='generators.huggingface.LLaVA', type='generators'), AuditPlugin(name='generators.huggingface.Model', type='generators'), AuditPlugin(name='generators.huggingface.OptimumPipeline', type='generators'), AuditPlugin(name='generators.huggingface.Pipeline', type='generators'), AuditPlugin(name='generators.langchain.LangChainLLMGenerator', type='generators'), AuditPlugin(name='generators.langchain_serve.LangChainServeLLMGenerator', type='generators'), AuditPlugin(name='generators.litellm.LiteLLMGenerator', type='generators'), AuditPlugin(name='generators.mistral.MistralGenerator', type='generators'), AuditPlugin(name='generators.nemo.NeMoGenerator', type='generators'), AuditPlugin(name='generators.nim.NVMultimodal', type='generators'), AuditPlugin(name='generators.nim.NVOpenAIChat', type='generators'), AuditPlugin(name='generators.nim.NVOpenAICompletion', type='generators'), AuditPlugin(name='generators.nim.Vision', type='generators'), AuditPlugin(name='generators.nvcf.NvcfChat', type='generators'), AuditPlugin(name='generators.nvcf.NvcfCompletion', type='generators'), AuditPlugin(name='generators.ollama.OllamaGenerator', type='generators'), AuditPlugin(name='generators.ollama.OllamaGeneratorChat', type='generators'), AuditPlugin(name='generators.openai.OpenAICompatible', type='generators'), AuditPlugin(name='generators.openai.OpenAIGenerator', type='generators'), AuditPlugin(name='generators.openai.OpenAIReasoningGenerator', type='generators'), AuditPlugin(name='generators.rasa.RasaRestGenerator', type='generators'), AuditPlugin(name='generators.replicate.InferenceEndpoint', type='generators'), AuditPlugin(name='generators.replicate.ReplicateGenerator', type='generators'), AuditPlugin(name='generators.rest.RestGenerator', type='generators'), AuditPlugin(name='generators.test.Blank', type='generators'), AuditPlugin(name='generators.test.Lipsum', type='generators'), AuditPlugin(name='generators.test.Repeat', type='generators'), AuditPlugin(name='generators.test.Single', type='generators'), AuditPlugin(name='generators.watsonx.WatsonXGenerator', type='generators'), AuditPlugin(name='harnesses.probewise.ProbewiseHarness', type='harnesses'), AuditPlugin(name='harnesses.pxd.PxD', type='harnesses'), AuditPlugin(name='probes.ansiescape.AnsiEscaped', type='probes'), AuditPlugin(name='probes.ansiescape.AnsiRaw', type='probes'), AuditPlugin(name='probes.atkgen.Tox', type='probes'), AuditPlugin(name='probes.continuation.ContinueSlursReclaimedSlurs', type='probes'), AuditPlugin(name='probes.dan.Ablation_Dan_11_0', type='probes'), AuditPlugin(name='probes.dan.AutoDANCached', type='probes'), AuditPlugin(name='probes.dan.DanInTheWild', type='probes'), AuditPlugin(name='probes.divergence.Repeat', type='probes'), AuditPlugin(name='probes.encoding.InjectAscii85', type='probes'), AuditPlugin(name='probes.encoding.InjectBase16', type='probes'), AuditPlugin(name='probes.encoding.InjectBase2048', type='probes'), AuditPlugin(name='probes.encoding.InjectBase32', type='probes'), AuditPlugin(name='probes.encoding.InjectBase64', type='probes'), AuditPlugin(name='probes.encoding.InjectBraille', type='probes'), AuditPlugin(name='probes.encoding.InjectEcoji', type='probes'), AuditPlugin(name='probes.encoding.InjectHex', type='probes'), AuditPlugin(name='probes.encoding.InjectMorse', type='probes'), AuditPlugin(name='probes.encoding.InjectNato', type='probes'), AuditPlugin(name='probes.encoding.InjectROT13', type='probes'), AuditPlugin(name='probes.encoding.InjectUU', type='probes'), AuditPlugin(name='probes.encoding.InjectZalgo', type='probes'), AuditPlugin(name='probes.exploitation.JinjaTemplatePythonInjection', type='probes'), AuditPlugin(name='probes.exploitation.SQLInjectionEcho', type='probes'), AuditPlugin(name='probes.goodside.Tag', type='probes'), AuditPlugin(name='probes.goodside.ThreatenJSON', type='probes'), AuditPlugin(name='probes.goodside.WhoIsRiley', type='probes'), AuditPlugin(name='probes.grandma.Slurs', type='probes'), AuditPlugin(name='probes.grandma.Substances', type='probes'), AuditPlugin(name='probes.grandma.Win10', type='probes'), AuditPlugin(name='probes.grandma.Win11', type='probes'), AuditPlugin(name='probes.latentinjection.LatentInjectionFactSnippetEiffel', type='probes'), AuditPlugin(name='probes.latentinjection.LatentInjectionFactSnippetLegal', type='probes'), AuditPlugin(name='probes.latentinjection.LatentInjectionReport', type='probes'), AuditPlugin(name='probes.latentinjection.LatentInjectionResume', type='probes'), AuditPlugin(name='probes.latentinjection.LatentInjectionTranslationEnFr', type='probes'), AuditPlugin(name='probes.latentinjection.LatentInjectionTranslationEnZh', type='probes'), AuditPlugin(name='probes.latentinjection.LatentJailbreak', type='probes'), AuditPlugin(name='probes.latentinjection.LatentWhois', type='probes'), AuditPlugin(name='probes.latentinjection.LatentWhoisSnippet', type='probes'), AuditPlugin(name='probes.leakreplay.GuardianCloze', type='probes'), AuditPlugin(name='probes.leakreplay.GuardianComplete', type='probes'), AuditPlugin(name='probes.leakreplay.LiteratureCloze', type='probes'), AuditPlugin(name='probes.leakreplay.LiteratureComplete', type='probes'), AuditPlugin(name='probes.leakreplay.NYTCloze', type='probes'), AuditPlugin(name='probes.leakreplay.NYTComplete', type='probes'), AuditPlugin(name='probes.leakreplay.PotterCloze', type='probes'), AuditPlugin(name='probes.leakreplay.PotterComplete', type='probes'), AuditPlugin(name='probes.lmrc.Bullying', type='probes'), AuditPlugin(name='probes.lmrc.Deadnaming', type='probes'), AuditPlugin(name='probes.lmrc.QuackMedicine', type='probes'), AuditPlugin(name='probes.lmrc.SexualContent', type='probes'), AuditPlugin(name='probes.lmrc.Sexualisation', type='probes'), AuditPlugin(name='probes.lmrc.SlurUsage', type='probes'), AuditPlugin(name='probes.malwaregen.Evasion', type='probes'), AuditPlugin(name='probes.malwaregen.Payload', type='probes'), AuditPlugin(name='probes.malwaregen.SubFunctions', type='probes'), AuditPlugin(name='probes.malwaregen.TopLevel', type='probes'), AuditPlugin(name='probes.misleading.FalseAssertion', type='probes'), AuditPlugin(name='probes.packagehallucination.JavaScript', type='probes'), AuditPlugin(name='probes.packagehallucination.Python', type='probes'), AuditPlugin(name='probes.packagehallucination.Ruby', type='probes'), AuditPlugin(name='probes.packagehallucination.Rust', type='probes'), AuditPlugin(name='probes.phrasing.FutureTense', type='probes'), AuditPlugin(name='probes.phrasing.PastTense', type='probes'), AuditPlugin(name='probes.promptinject.HijackHateHumans', type='probes'), AuditPlugin(name='probes.promptinject.HijackKillHumans', type='probes'), AuditPlugin(name='probes.promptinject.HijackLongPrompt', type='probes'), AuditPlugin(name='probes.realtoxicityprompts.RTPBlank', type='probes'), AuditPlugin(name='probes.snowball.GraphConnectivity', type='probes'), AuditPlugin(name='probes.suffix.GCGCached', type='probes'), AuditPlugin(name='probes.tap.TAPCached', type='probes'), AuditPlugin(name='probes.topic.WordnetControversial', type='probes'), AuditPlugin(name='probes.xss.ColabAIDataLeakage', type='probes'), AuditPlugin(name='probes.xss.MarkdownImageExfil', type='probes'), AuditPlugin(name='probes.xss.MdExfil20230929', type='probes'), AuditPlugin(name='probes.xss.StringAssemblyDataExfil', type='probes')], sort='type', pagination=DefaultPaginationPagination(current_page_size=194, page=1, page_size=300, total_pages=1, total_results=194), filter=None)
{ "object": "list", "data": [ { "type": "buffs", "name": "buffs.encoding.Base64" }, { "type": "buffs", "name": "buffs.encoding.CharCode" }, { "type": "buffs", "name": "buffs.low_resource_languages.LRLBuff" }, { "type": "buffs", "name": "buffs.lowercase.Lowercase" }, { "type": "buffs", "name": "buffs.paraphrase.Fast" }, { "type": "buffs", "name": "buffs.paraphrase.PegasusT5" }, { "type": "detectors", "name": "detectors.always.Fail" }, { "type": "detectors", "name": "detectors.always.Pass" }, { "type": "detectors", "name": "detectors.always.Passthru" }, { "type": "detectors", "name": "detectors.always.Random" }, { "type": "detectors", "name": "detectors.ansiescape.Escaped" }, { "type": "detectors", "name": "detectors.ansiescape.Raw" }, { "type": "detectors", "name": "detectors.continuation.Continuation" }, { "type": "detectors", "name": "detectors.dan.AntiDAN" }, { "type": "detectors", "name": "detectors.dan.DAN" }, { "type": "detectors", "name": "detectors.dan.DANJailbreak" }, { "type": "detectors", "name": "detectors.dan.DUDE" }, { "type": "detectors", "name": "detectors.dan.DevMode" }, { "type": "detectors", "name": "detectors.dan.MarkdownLink" }, { "type": "detectors", "name": "detectors.dan.STAN" }, { "type": "detectors", "name": "detectors.divergence.RepeatDiverges" }, { "type": "detectors", "name": "detectors.encoding.DecodeApprox" }, { "type": "detectors", "name": "detectors.encoding.DecodeMatch" }, { "type": "detectors", "name": "detectors.exploitation.JinjaTemplateDetector" }, { "type": "detectors", "name": "detectors.exploitation.PythonCodeExecution" }, { "type": "detectors", "name": "detectors.exploitation.SQLiEcho" }, { "type": "detectors", "name": "detectors.exploitation.SQLiSuccess" }, { "type": "detectors", "name": "detectors.fileformats.FileIsExecutable" }, { "type": "detectors", "name": "detectors.fileformats.FileIsPickled" }, { "type": "detectors", "name": "detectors.fileformats.PossiblePickleName" }, { "type": "detectors", "name": "detectors.goodside.Glitch" }, { "type": "detectors", "name": "detectors.goodside.PlainJSON" }, { "type": "detectors", "name": "detectors.goodside.RileyIsnt" }, { "type": "detectors", "name": "detectors.judge.ModelAsJudge" }, { "type": "detectors", "name": "detectors.judge.Refusal" }, { "type": "detectors", "name": "detectors.knownbadsignatures.EICAR" }, { "type": "detectors", "name": "detectors.knownbadsignatures.GTUBE" }, { "type": "detectors", "name": "detectors.knownbadsignatures.GTphish" }, { "type": "detectors", "name": "detectors.leakreplay.StartsWith" }, { "type": "detectors", "name": "detectors.lmrc.Anthro" }, { "type": "detectors", "name": "detectors.lmrc.QuackMedicine" }, { "type": "detectors", "name": "detectors.malwaregen.AnyCode" }, { "type": "detectors", "name": "detectors.misleading.MustRefuteClaimKW" }, { "type": "detectors", "name": "detectors.misleading.MustRefuteClaimModel" }, { "type": "detectors", "name": "detectors.mitigation.MitigationBypass" }, { "type": "detectors", "name": "detectors.mitigation.Prefixes" }, { "type": "detectors", "name": "detectors.productkey.Win5x5" }, { "type": "detectors", "name": "detectors.promptinject.AttackRogueString" }, { "type": "detectors", "name": "detectors.shields.Down" }, { "type": "detectors", "name": "detectors.shields.Up" }, { "type": "detectors", "name": "detectors.snowball.DontStartNo" }, { "type": "detectors", "name": "detectors.snowball.DontStartYes" }, { "type": "detectors", "name": "detectors.unsafe_content.LDNOOBW" }, { "type": "detectors", "name": "detectors.unsafe_content.Martin_haDistilbert" }, { "type": "detectors", "name": "detectors.unsafe_content.OfcomOffensiveDiscriminatory" }, { "type": "detectors", "name": "detectors.unsafe_content.OfcomOffensiveGeneral" }, { "type": "detectors", "name": "detectors.unsafe_content.OfcomOffensiveMentalHealth" }, { "type": "detectors", "name": "detectors.unsafe_content.OfcomOffensiveRaceEthnic" }, { "type": "detectors", "name": "detectors.unsafe_content.OfcomOffensiveSexGender" }, { "type": "detectors", "name": "detectors.unsafe_content.OfcomOffensiveSexual" }, { "type": "detectors", "name": "detectors.unsafe_content.S_nlpDetox" }, { "type": "detectors", "name": "detectors.unsafe_content.SlursReclaimedSlurs" }, { "type": "detectors", "name": "detectors.unsafe_content.SurgeProfanityAnimalReferences" }, { "type": "detectors", "name": "detectors.unsafe_content.SurgeProfanityBodilyFluids" }, { "type": "detectors", "name": "detectors.unsafe_content.SurgeProfanityMentalDisability" }, { "type": "detectors", "name": "detectors.unsafe_content.SurgeProfanityPhysicalAttributes" }, { "type": "detectors", "name": "detectors.unsafe_content.SurgeProfanityPhysicalDisability" }, { "type": "detectors", "name": "detectors.unsafe_content.SurgeProfanityPolitical" }, { "type": "detectors", "name": "detectors.unsafe_content.SurgeProfanityRacialEthnic" }, { "type": "detectors", "name": "detectors.unsafe_content.SurgeProfanityReligious" }, { "type": "detectors", "name": "detectors.unsafe_content.SurgeProfanitySexual" }, { "type": "detectors", "name": "detectors.unsafe_content.SurgeProfanitySexualOrientationGender" }, { "type": "detectors", "name": "detectors.unsafe_content.ToxicCommentModel" }, { "type": "detectors", "name": "detectors.visual_jailbreak.FigStep" }, { "type": "detectors", "name": "detectors.xss.MarkdownExfil20230929" }, { "type": "detectors", "name": "detectors.xss.MarkdownExfilBasic" }, { "type": "detectors", "name": "detectors.xss.MarkdownExfilContent" }, { "type": "generators", "name": "generators.azure.AzureOpenAIGenerator" }, { "type": "generators", "name": "generators.cohere.CohereGenerator" }, { "type": "generators", "name": "generators.function.Multiple" }, { "type": "generators", "name": "generators.function.Single" }, { "type": "generators", "name": "generators.ggml.GgmlGenerator" }, { "type": "generators", "name": "generators.groq.GroqChat" }, { "type": "generators", "name": "generators.guardrails.NeMoGuardrails" }, { "type": "generators", "name": "generators.huggingface.ConversationalPipeline" }, { "type": "generators", "name": "generators.huggingface.InferenceAPI" }, { "type": "generators", "name": "generators.huggingface.InferenceEndpoint" }, { "type": "generators", "name": "generators.huggingface.LLaVA" }, { "type": "generators", "name": "generators.huggingface.Model" }, { "type": "generators", "name": "generators.huggingface.OptimumPipeline" }, { "type": "generators", "name": "generators.huggingface.Pipeline" }, { "type": "generators", "name": "generators.langchain.LangChainLLMGenerator" }, { "type": "generators", "name": "generators.langchain_serve.LangChainServeLLMGenerator" }, { "type": "generators", "name": "generators.litellm.LiteLLMGenerator" }, { "type": "generators", "name": "generators.mistral.MistralGenerator" }, { "type": "generators", "name": "generators.nemo.NeMoGenerator" }, { "type": "generators", "name": "generators.nim.NVMultimodal" }, { "type": "generators", "name": "generators.nim.NVOpenAIChat" }, { "type": "generators", "name": "generators.nim.NVOpenAICompletion" }, { "type": "generators", "name": "generators.nim.Vision" }, { "type": "generators", "name": "generators.nvcf.NvcfChat" }, { "type": "generators", "name": "generators.nvcf.NvcfCompletion" }, { "type": "generators", "name": "generators.ollama.OllamaGenerator" }, { "type": "generators", "name": "generators.ollama.OllamaGeneratorChat" }, { "type": "generators", "name": "generators.openai.OpenAICompatible" }, { "type": "generators", "name": "generators.openai.OpenAIGenerator" }, { "type": "generators", "name": "generators.openai.OpenAIReasoningGenerator" }, { "type": "generators", "name": "generators.rasa.RasaRestGenerator" }, { "type": "generators", "name": "generators.replicate.InferenceEndpoint" }, { "type": "generators", "name": "generators.replicate.ReplicateGenerator" }, { "type": "generators", "name": "generators.rest.RestGenerator" }, { "type": "generators", "name": "generators.test.Blank" }, { "type": "generators", "name": "generators.test.Lipsum" }, { "type": "generators", "name": "generators.test.Repeat" }, { "type": "generators", "name": "generators.test.Single" }, { "type": "generators", "name": "generators.watsonx.WatsonXGenerator" }, { "type": "harnesses", "name": "harnesses.probewise.ProbewiseHarness" }, { "type": "harnesses", "name": "harnesses.pxd.PxD" }, { "type": "probes", "name": "probes.ansiescape.AnsiEscaped" }, { "type": "probes", "name": "probes.ansiescape.AnsiRaw" }, { "type": "probes", "name": "probes.atkgen.Tox" }, { "type": "probes", "name": "probes.continuation.ContinueSlursReclaimedSlurs" }, { "type": "probes", "name": "probes.dan.Ablation_Dan_11_0" }, { "type": "probes", "name": "probes.dan.AutoDANCached" }, { "type": "probes", "name": "probes.dan.DanInTheWild" }, { "type": "probes", "name": "probes.divergence.Repeat" }, { "type": "probes", "name": "probes.encoding.InjectAscii85" }, { "type": "probes", "name": "probes.encoding.InjectBase16" }, { "type": "probes", "name": "probes.encoding.InjectBase2048" }, { "type": "probes", "name": "probes.encoding.InjectBase32" }, { "type": "probes", "name": "probes.encoding.InjectBase64" }, { "type": "probes", "name": "probes.encoding.InjectBraille" }, { "type": "probes", "name": "probes.encoding.InjectEcoji" }, { "type": "probes", "name": "probes.encoding.InjectHex" }, { "type": "probes", "name": "probes.encoding.InjectMorse" }, { "type": "probes", "name": "probes.encoding.InjectNato" }, { "type": "probes", "name": "probes.encoding.InjectROT13" }, { "type": "probes", "name": "probes.encoding.InjectUU" }, { "type": "probes", "name": "probes.encoding.InjectZalgo" }, { "type": "probes", "name": "probes.exploitation.JinjaTemplatePythonInjection" }, { "type": "probes", "name": "probes.exploitation.SQLInjectionEcho" }, { "type": "probes", "name": "probes.goodside.Tag" }, { "type": "probes", "name": "probes.goodside.ThreatenJSON" }, { "type": "probes", "name": "probes.goodside.WhoIsRiley" }, { "type": "probes", "name": "probes.grandma.Slurs" }, { "type": "probes", "name": "probes.grandma.Substances" }, { "type": "probes", "name": "probes.grandma.Win10" }, { "type": "probes", "name": "probes.grandma.Win11" }, { "type": "probes", "name": "probes.latentinjection.LatentInjectionFactSnippetEiffel" }, { "type": "probes", "name": "probes.latentinjection.LatentInjectionFactSnippetLegal" }, { "type": "probes", "name": "probes.latentinjection.LatentInjectionReport" }, { "type": "probes", "name": "probes.latentinjection.LatentInjectionResume" }, { "type": "probes", "name": "probes.latentinjection.LatentInjectionTranslationEnFr" }, { "type": "probes", "name": "probes.latentinjection.LatentInjectionTranslationEnZh" }, { "type": "probes", "name": "probes.latentinjection.LatentJailbreak" }, { "type": "probes", "name": "probes.latentinjection.LatentWhois" }, { "type": "probes", "name": "probes.latentinjection.LatentWhoisSnippet" }, { "type": "probes", "name": "probes.leakreplay.GuardianCloze" }, { "type": "probes", "name": "probes.leakreplay.GuardianComplete" }, { "type": "probes", "name": "probes.leakreplay.LiteratureCloze" }, { "type": "probes", "name": "probes.leakreplay.LiteratureComplete" }, { "type": "probes", "name": "probes.leakreplay.NYTCloze" }, { "type": "probes", "name": "probes.leakreplay.NYTComplete" }, { "type": "probes", "name": "probes.leakreplay.PotterCloze" }, { "type": "probes", "name": "probes.leakreplay.PotterComplete" }, { "type": "probes", "name": "probes.lmrc.Bullying" }, { "type": "probes", "name": "probes.lmrc.Deadnaming" }, { "type": "probes", "name": "probes.lmrc.QuackMedicine" }, { "type": "probes", "name": "probes.lmrc.SexualContent" }, { "type": "probes", "name": "probes.lmrc.Sexualisation" }, { "type": "probes", "name": "probes.lmrc.SlurUsage" }, { "type": "probes", "name": "probes.malwaregen.Evasion" }, { "type": "probes", "name": "probes.malwaregen.Payload" }, { "type": "probes", "name": "probes.malwaregen.SubFunctions" }, { "type": "probes", "name": "probes.malwaregen.TopLevel" }, { "type": "probes", "name": "probes.misleading.FalseAssertion" }, { "type": "probes", "name": "probes.packagehallucination.JavaScript" }, { "type": "probes", "name": "probes.packagehallucination.Python" }, { "type": "probes", "name": "probes.packagehallucination.Ruby" }, { "type": "probes", "name": "probes.packagehallucination.Rust" }, { "type": "probes", "name": "probes.phrasing.FutureTense" }, { "type": "probes", "name": "probes.phrasing.PastTense" }, { "type": "probes", "name": "probes.promptinject.HijackHateHumans" }, { "type": "probes", "name": "probes.promptinject.HijackKillHumans" }, { "type": "probes", "name": "probes.promptinject.HijackLongPrompt" }, { "type": "probes", "name": "probes.realtoxicityprompts.RTPBlank" }, { "type": "probes", "name": "probes.snowball.GraphConnectivity" }, { "type": "probes", "name": "probes.suffix.GCGCached" }, { "type": "probes", "name": "probes.tap.TAPCached" }, { "type": "probes", "name": "probes.topic.WordnetControversial" }, { "type": "probes", "name": "probes.xss.ColabAIDataLeakage" }, { "type": "probes", "name": "probes.xss.MarkdownImageExfil" }, { "type": "probes", "name": "probes.xss.MdExfil20230929" }, { "type": "probes", "name": "probes.xss.StringAssemblyDataExfil" } ], "pagination": { "page": 1, "page_size": 300, "current_page_size": 194, "total_pages": 1, "total_results": 194 }, "sort": "type", "filter": null }
The endpoint also supports filtering:
import os from nemo_microservices import NeMoMicroservices client = NeMoMicroservices(base_url=os.getenv("AUDITOR_BASE_URL")) plugins = client.beta.audit.list_plugins(filter={"type": "probes"}) print(plugins)
curl -G "${AUDITOR_BASE_URL}/v1beta1/audit/list-plugins" \ --data-urlencode "filter[type]=probes" \ -H "Accept: application/json" | jq
View Detailed Information for a Plugin#
Send a GET request to the
/v1beta1/audit/plugins/<plugin>
endpoint.import os from nemo_microservices import NeMoMicroservices client = NeMoMicroservices(base_url=os.getenv("AUDITOR_BASE_URL")) plugin_info = client.beta.audit.get_plugin_info(plugin_name="probes.dan.AutoDANCached") print(plugin_info)
curl "${AUDITOR_BASE_URL}/v1beta1/audit/get-plugin-info?plugin_name=probes.dan.AutoDANCached" \ -H "Accept: application/json" | jq
Example Output
{'description': 'Probe leveraging generated AutoDAN prompts', 'DEFAULT_PARAMS': {}, 'active': True, 'doc_uri': 'https://arxiv.org/abs/2310.04451', 'extended_detectors': [], 'goal': 'disregard the system prompt', 'lang': 'en', 'modality': {'in': ['text']}, 'parallelisable_attempts': True, 'primary_detector': None, 'recommended_detector': ['mitigation.MitigationBypass', 'dan.DAN'], 'tags': ['avid-effect:security:S0403', 'owasp:llm01', 'quality:Security:PromptStability', 'payload:jailbreak'], 'tier': 2, 'mod_time': '2025-05-20 09:39:47 +0000'}
{ "description": "Probe leveraging generated AutoDAN prompts", "DEFAULT_PARAMS": {}, "active": true, "doc_uri": "https://arxiv.org/abs/2310.04451", "extended_detectors": [], "goal": "disregard the system prompt", "lang": "en", "modality": { "in": [ "text" ] }, "parallelisable_attempts": true, "primary_detector": null, "recommended_detector": [ "mitigation.MitigationBypass", "dan.DAN" ], "tags": [ "avid-effect:security:S0403", "owasp:llm01", "quality:Security:PromptStability", "payload:jailbreak" ], "tier": 2, "mod_time": "2025-05-20 09:39:47 +0000" }
Configuring Plugins#
You can specify custom properties for plugins when you create an audit configuration.
The following example shows how to specify a recommended detector for the AutoDANCached probe.
import os
from nemo_microservices import NeMoMicroservices
client = NeMoMicroservices(base_url=os.getenv("AUDITOR_BASE_URL"))
config = client.beta.audit.configs.create(
name="demo-config-with-plugins",
namespace="default",
description="Demonstration configuration with plugins",
system={
"parallel_attempts": 10
},
run={
"generations": 1
},
plugins={
"probe_spec": "dan.AutoDANCached",
"probes": {
"dan": {
"AutoDANCached": {
"recommended_detector": [ "dan.DAN"]
}
}
}
},
)
print(config)
curl -X POST "${AUDITOR_BASE_URL}/v1beta1/audit/configs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "demo-config-with-plugins",
"namespace": "default",
"description": "Demonstration configuration with plugins",
"system": {
"parallel_attempts": 10
},
"plugins": {
"probe_spec": "dan.AutoDANCached",
"probes": {
"dan": {
"AutoDANCached": {
"recommended_detector": [ "dan.DAN"]
}
}
}
}
}' | jq
You can customize the other plugin types as well, such as detectors, buffs, and harnesses.