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.