promptfoo 0.121.3 → 0.121.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/src/{ListApp-Du7YVwj5.js → ListApp-DQkFNqE9.js} +1 -1
- package/dist/src/{accounts-Xatc0RYb.js → accounts-DdJ2pHMI.js} +5 -5
- package/dist/src/{accounts-B2XmGjty.js → accounts-DhMYUUbu.js} +5 -5
- package/dist/src/{accounts-BPyfpSeU.cjs → accounts-Dy17bs4D.cjs} +5 -5
- package/dist/src/{accounts-CFLK3mnD.js → accounts-F9d_5sMC.js} +6 -6
- package/dist/src/{agentic-utils-DAVsChuB.cjs → agentic-utils-BpX5b23w.cjs} +3 -3
- package/dist/src/{agentic-utils-DIYAAYE7.js → agentic-utils-P172hM8B.js} +3 -3
- package/dist/src/{agentic-utils-D8yXo5Lm.js → agentic-utils-qFlm6zes.js} +4 -4
- package/dist/src/{agentic-utils-36epdqwB.js → agentic-utils-w68v6_Dz.js} +3 -3
- package/dist/src/{agents-CLQ-P15P.js → agents-8FDnTriG.js} +6 -7
- package/dist/src/{agents-CAYbM7qD.cjs → agents-BahDpe5G.cjs} +34 -12
- package/dist/src/{agents-DSSTV4bv.js → agents-C-R_jfzI.js} +35 -13
- package/dist/src/{agents-wg3ohknq.js → agents-CgaMXvLM.js} +5 -7
- package/dist/src/{agents-BBWxKSM0.cjs → agents-D7-HGxUj.cjs} +5 -7
- package/dist/src/{agents-BBVJCIYr.js → agents-DJ35I3Nt.js} +35 -13
- package/dist/src/{agents-CgBniSlI.js → agents-aYPQLf8W.js} +5 -9
- package/dist/src/{agents-Bqgfdokm.js → agents-pQeBEXMm.js} +35 -14
- package/dist/src/{aimlapi-BwGC1TtS.js → aimlapi-BCq3MHeL.js} +8 -14
- package/dist/src/{aimlapi-MgSLdvy7.js → aimlapi-BD6J9oKt.js} +7 -14
- package/dist/src/{aimlapi-Bv8Fmc-b.cjs → aimlapi-qcK4OT55.cjs} +8 -15
- package/dist/src/{aimlapi-DaC3qZ-o.js → aimlapi-sgYnkE54.js} +7 -16
- package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -0
- package/dist/src/app/assets/Report-CQYFezYu.js +1 -0
- package/dist/src/app/assets/index-BXGkeMwh.css +1 -0
- package/dist/src/app/assets/index-BzJt18Jz.js +385 -0
- package/dist/src/app/assets/rolldown-runtime-COnpUsM8.js +1 -0
- package/dist/src/app/assets/scroll-timeline-D9IT_e8Z.js +1 -0
- package/dist/src/app/assets/sync-IjzpWrOE.js +4 -0
- package/dist/src/app/assets/vendor-charts-BNdH8TCw.js +36 -0
- package/dist/src/app/assets/vendor-markdown-Ch00wnNI.js +29 -0
- package/dist/src/app/assets/vendor-react-CVvmk1UB.js +9 -0
- package/dist/src/app/assets/vendor-utils-BnEYbx2Q.js +37 -0
- package/dist/src/app/index.html +7 -7
- package/dist/src/{audio-DjU9GswO.js → audio-B7izf48x.js} +4 -5
- package/dist/src/{audio-DVFjQ67_.cjs → audio-BQtNuYBj.cjs} +4 -4
- package/dist/src/{audio-Bn44pQxv.js → audio-COrn8rM6.js} +4 -4
- package/dist/src/{audio-DDA5WHdx.js → audio-DcVKoInv.js} +4 -4
- package/dist/src/{base-BboXIF_0.cjs → base-D-670DX8.cjs} +3 -3
- package/dist/src/{base-CqzQ4K8j.js → base-PYJvBE1i.js} +3 -3
- package/dist/src/{base-CKjwebIH.js → base-fZ9wgg50.js} +3 -3
- package/dist/src/{base-Cz2ZC_iA.js → base-yrI1Yal4.js} +3 -3
- package/dist/src/{blobs-BUWmKWzo.js → blobs-BCZavS8s.js} +4 -4
- package/dist/src/{blobs-B1JriOyi.js → blobs-BQWqnnvL.js} +4 -4
- package/dist/src/{blobs-DXTl6J3H.js → blobs-C-F78Kfn.js} +3 -3
- package/dist/src/{blobs-C6j0bvFz.cjs → blobs-D2FAd1Q5.cjs} +3 -3
- package/dist/src/cache-BIyPcp5v.cjs +376 -0
- package/dist/src/cache-C4Xb-hNb.js +310 -0
- package/dist/src/cache-Cr9oLMUa.js +3 -0
- package/dist/src/cache-D5NZmMiT.js +310 -0
- package/dist/src/cache-DbLsVWB2.cjs +3 -0
- package/dist/src/cache-mb7c8hbp.js +280 -0
- package/dist/src/{chat-DK1U-eZ-.js → chat-0bwXjVP0.js} +3 -13
- package/dist/src/{chat-BtIKkLKx.cjs → chat-BPXSW8Bv.cjs} +3 -13
- package/dist/src/{chat-B0iaWhoh.js → chat-BfPaS15_.js} +63 -37
- package/dist/src/{chat-CM8qWR3_.cjs → chat-CclRbxGf.cjs} +63 -37
- package/dist/src/{chat-BEwdgGEg.js → chat-Dr3DUQ0D.js} +63 -37
- package/dist/src/{chat-pxmiVpWe.js → chat-I9izLm49.js} +62 -36
- package/dist/src/{chat-B-52XYI1.js → chat-MKxMnZJZ.js} +3 -13
- package/dist/src/{chat-BE0qTA8e.js → chat-mW0ORo8G.js} +3 -14
- package/dist/src/{chatkit-Cx174XI3.cjs → chatkit-BoWoSgXl.cjs} +4 -4
- package/dist/src/{chatkit-BYGQlHlV.js → chatkit-CJnHRRMM.js} +4 -4
- package/dist/src/{chatkit-a2D6mY6s.js → chatkit-Cv6AhukM.js} +4 -4
- package/dist/src/{chatkit-_8eJqKcD.js → chatkit-zUIVoDos.js} +4 -4
- package/dist/src/{claude-agent-sdk-CMjh4LFH.js → claude-agent-sdk-BQNuLaAK.js} +19 -14
- package/dist/src/{claude-agent-sdk-8ddRp1L2.cjs → claude-agent-sdk-CPJo3dBQ.cjs} +21 -16
- package/dist/src/{claude-agent-sdk-HgbFioFw.js → claude-agent-sdk-Dtq_L-Sc.js} +20 -15
- package/dist/src/{claude-agent-sdk-Bq5EArsX.js → claude-agent-sdk-nfAIcxNf.js} +21 -17
- package/dist/src/{cloud-z8KZpUoa.js → cloud-DQZ5sVjW.js} +25 -13
- package/dist/src/cloud-Hphvo8kr.js +3 -0
- package/dist/src/{cloudflare-ai-Bbp26N0L.js → cloudflare-ai-BIB567w6.js} +5 -14
- package/dist/src/{cloudflare-ai-BGyXlpXJ.js → cloudflare-ai-DGLte7Py.js} +5 -14
- package/dist/src/{cloudflare-ai-C62x6MQG.cjs → cloudflare-ai-Dl3N9OVD.cjs} +6 -15
- package/dist/src/{cloudflare-ai-DdKP9TKT.js → cloudflare-ai-DlKr0rY7.js} +5 -15
- package/dist/src/{cloudflare-gateway-D-e9i1Sn.js → cloudflare-gateway-BDZrYydE.js} +4 -16
- package/dist/src/{cloudflare-gateway-Dx36ftqF.cjs → cloudflare-gateway-BYDp495F.cjs} +4 -15
- package/dist/src/{cloudflare-gateway-DXhtXDRb.js → cloudflare-gateway-CiIZHU0Q.js} +4 -15
- package/dist/src/{cloudflare-gateway-BwAaUgeW.js → cloudflare-gateway-DI1HNP5F.js} +4 -15
- package/dist/src/codex-sdk-BAmYE7qy.js +3 -0
- package/dist/src/codex-sdk-C2_M2pl_.cjs +1172 -0
- package/dist/src/codex-sdk-CErXn7qh.js +1165 -0
- package/dist/src/codex-sdk-CWEnH70W.cjs +2 -0
- package/dist/src/codex-sdk-CpqiOqDO.js +1164 -0
- package/dist/src/codex-sdk-Rtky3M4I.js +1165 -0
- package/dist/src/{cometapi-BDyV-NNm.js → cometapi-BUlt_ELa.js} +8 -15
- package/dist/src/{cometapi-hhL4TAh3.js → cometapi-CtJ-mS8R.js} +9 -15
- package/dist/src/{cometapi-sp7sJpBD.js → cometapi-DT-jlVCB.js} +8 -17
- package/dist/src/{cometapi-C3hOlM7-.cjs → cometapi-UVOryo4W.cjs} +9 -16
- package/dist/src/{completion-DlXUhj5c.cjs → completion-BozdoXba.cjs} +7 -62
- package/dist/src/{completion-BCimtq-h.js → completion-Dnxn7E-j.js} +8 -57
- package/dist/src/{completion-DCjv7RZ3.js → completion-HUe8wDhZ.js} +8 -57
- package/dist/src/{completion-DoYy49ti.js → completion-x0a_c2y1.js} +8 -57
- package/dist/src/{createHash-CTQmL3G2.js → createHash-4gFQpDDv.js} +3 -3
- package/dist/src/{createHash-BYwImsYv.cjs → createHash-B7KvgoOD.cjs} +4 -4
- package/dist/src/{createHash-Da8fMwqB.js → createHash-ChI45QR1.js} +3 -3
- package/dist/src/{createHash-DmPQkvBh.js → createHash-CwDVU5xr.js} +3 -3
- package/dist/src/{docker-FeBni2dw.js → docker-CQmlA2NU.js} +7 -14
- package/dist/src/{docker-CxCkwMzc.js → docker-ClnmCf1Z.js} +6 -14
- package/dist/src/{docker-DpguQj-w.js → docker-DCgsveLD.js} +6 -16
- package/dist/src/{docker-Cqj2-QVi.cjs → docker-DS4_Osau.cjs} +7 -15
- package/dist/src/embedding-D3xTseo7.js +59 -0
- package/dist/src/embedding-DD9wa3ae.js +58 -0
- package/dist/src/embedding-I45KG3o7.cjs +63 -0
- package/dist/src/embedding-nFbumxcv.js +58 -0
- package/dist/src/entrypoint.js +69 -6
- package/dist/src/{errors-P6ll7XSJ.js → errors-Cw810C93.js} +1 -1
- package/dist/src/{esm-SUNIX1x3.js → esm-C7PnfdF8.js} +15 -6
- package/dist/src/{esm-CipptfDu.cjs → esm-CtEPLdAj.cjs} +15 -6
- package/dist/src/{esm-CKWP3u_P.js → esm-Dh4dOLlt.js} +16 -7
- package/dist/src/{esm-7UIl0pPM.js → esm-tVgYPY-f.js} +27 -18
- package/dist/src/eval-CzJFfFO9.js +3 -0
- package/dist/src/{eval-BTqTn7lb.js → eval-u4UVafl6.js} +49 -20
- package/dist/src/{evalResult-BkIhRdTe.js → evalResult-Bgm9ZH31.js} +7 -7
- package/dist/src/{evalResult-DUDShQrm.js → evalResult-D3hVYFis.js} +7 -7
- package/dist/src/evalResult-D8MT9p0s.js +3 -0
- package/dist/src/evalResult-DElBuddX.js +2 -0
- package/dist/src/evalResult-Dvc-iucu.cjs +2 -0
- package/dist/src/{evalResult-DpARzUCb.cjs → evalResult-KZqXl4XP.cjs} +7 -7
- package/dist/src/evaluator-CVessDWe.js +3 -0
- package/dist/src/{evaluator-BcvOGaam.js → evaluator-IvuDYSvQ.js} +3178 -2102
- package/dist/src/{extractor-C8XwivI9.js → extractor-CAfTSraf.js} +6 -6
- package/dist/src/{extractor-CAZ2G3Kh.js → extractor-DNSeBVOJ.js} +6 -6
- package/dist/src/{extractor-D_wd8jxt.js → extractor-Dk6bRWkv.js} +6 -6
- package/dist/src/{extractor-DG3sSfXE.cjs → extractor-WVPOrH43.cjs} +6 -6
- package/dist/src/{fetch-BiYv2BZc.js → fetch-B0Z3Oe4k.js} +218 -55
- package/dist/src/{fetch-DoVRJZhJ.js → fetch-BEWnXrrG.js} +195 -45
- package/dist/src/fetch-C7bGKDlQ.js +3 -0
- package/dist/src/{fetch-BnR9wSnm.cjs → fetch-CJU5ELPa.cjs} +223 -48
- package/dist/src/{fetch-CVAtKnI3.js → fetch-Di00EQrc.js} +218 -55
- package/dist/src/{fileExtensions-Ds-foDzt.js → fileExtensions-AWa2ZML4.js} +1 -1
- package/dist/src/{fileExtensions-LcDYkU4v.js → fileExtensions-BArZuxsI.js} +1 -1
- package/dist/src/{formatDuration-DgBVMN65.js → formatDuration-DZzPsexs.js} +1 -1
- package/dist/src/{genaiTracer-70Z8BIuV.js → genaiTracer-COYDi-tC.js} +6 -2
- package/dist/src/{genaiTracer-C1rxGO8Q.js → genaiTracer-DWdZ28hY.js} +6 -2
- package/dist/src/{genaiTracer-D3fD9dNV.js → genaiTracer-XnrcgDCe.js} +6 -2
- package/dist/src/{genaiTracer-BfxrvSUb.cjs → genaiTracer-yRuxj9-L.cjs} +7 -3
- package/dist/src/golang/wrapper.go +1 -1
- package/dist/src/{graders-BElhu9ZY.cjs → graders--zknU_uk.cjs} +3772 -1302
- package/dist/src/graders-BOAzQEUe.cjs +2 -0
- package/dist/src/graders-D4BTsZdG2.js +3 -0
- package/dist/src/graders-DOJK1XpV.js +2 -0
- package/dist/src/graders-NAv9LcBn.js +2 -0
- package/dist/src/{graders-DG7mhg-b.js → graders-Zy3x0zqX.js} +5691 -3247
- package/dist/src/{graders-RjHF8VfG.js → graders-eIHhRqoC.js} +5683 -3239
- package/dist/src/{graders-BXAJ0sbS.js → graders-pvbReLLn.js} +5692 -3248
- package/dist/src/{image-6WQXK8m8.js → image-9302QVqR.js} +4 -4
- package/dist/src/{image-B8b6f36E.js → image-B5Mv-Z3h.js} +8 -8
- package/dist/src/{image-PoF6DN3x.js → image-DVz2RiMF.js} +8 -8
- package/dist/src/{image-fza3zuKs.cjs → image-De2FBmYV.cjs} +4 -4
- package/dist/src/{image-DO0RYnjH.js → image-dnoUgPrC.js} +4 -5
- package/dist/src/{image-CoxZp9PZ.js → image-qUpPvmNZ.js} +8 -8
- package/dist/src/{image-xNbw5ph2.js → image-u7-rKnYU.js} +4 -4
- package/dist/src/{image--F58eEIn.cjs → image-x6KqLQl4.cjs} +8 -8
- package/dist/src/index.cjs +3641 -2144
- package/dist/src/index.d.cts +2660 -20
- package/dist/src/index.d.ts +2660 -20
- package/dist/src/index.js +3649 -2152
- package/dist/src/{interactiveCheck-BnMYOjMu.js → interactiveCheck-CLERUB0c.js} +2 -2
- package/dist/src/{knowledgeBase-DqrLX8fy.cjs → knowledgeBase-Bpoe_nLu.cjs} +6 -8
- package/dist/src/{knowledgeBase-Bi7CmDbx.js → knowledgeBase-Dgc7CBWF.js} +6 -8
- package/dist/src/{knowledgeBase-DFRXPZl_.js → knowledgeBase-RhFPGWDc.js} +6 -8
- package/dist/src/{knowledgeBase-Ce3ofVan.js → knowledgeBase-lm9RXSAm.js} +6 -9
- package/dist/src/{litellm-CKiAxnoM.js → litellm-C2kqjxqp.js} +6 -14
- package/dist/src/{litellm-CnHI69aj.cjs → litellm-CoyI4IAl.cjs} +6 -15
- package/dist/src/{litellm-Tc294Jhj.js → litellm-DRjpcSa7.js} +5 -14
- package/dist/src/{litellm-Bo2gQXpo.js → litellm-p37R1dzQ.js} +5 -16
- package/dist/src/{logger-BnkjG2jt.js → logger-B88EkIn6.js} +40 -11
- package/dist/src/{logger-D5iKBpu_.cjs → logger-COuQb2xB.cjs} +51 -10
- package/dist/src/{logger-DO8_zM18.js → logger-Ct2S6Yx-.js} +40 -11
- package/dist/src/{logger-BcJBzSSA.js → logger-DksKw1Qc.js} +40 -11
- package/dist/src/{luma-ray-C9q8rdQe.js → luma-ray-B863CmuZ.js} +6 -10
- package/dist/src/{luma-ray-DP0QA9qn.js → luma-ray-BTTLtqQ8.js} +7 -10
- package/dist/src/{luma-ray-m9Ku2meV.cjs → luma-ray-BxVKaW2a.cjs} +6 -10
- package/dist/src/{luma-ray-0ehMPt5N.js → luma-ray-KgTCXrZC.js} +6 -12
- package/dist/src/main.d.ts +1 -26
- package/dist/src/main.js +985 -520
- package/dist/src/{messages-HJsyEh4o.cjs → messages-811uVVW5.cjs} +69 -19
- package/dist/src/{messages-Dy9QecMs.js → messages-BTQz42fn.js} +69 -19
- package/dist/src/{messages-biC_ex-p.js → messages-MYTQ2TWp.js} +69 -19
- package/dist/src/{messages-DJNo37Ko.js → messages-zWbkLLHz.js} +69 -19
- package/dist/src/{meteor-D-SotUw9.js → meteor-CU5UAE-H.js} +1 -1
- package/dist/src/{meteor-DLZZ3osF.cjs → meteor-Co1VQ1u5.cjs} +1 -1
- package/dist/src/{meteor-44VjEACX.js → meteor-DHdzY1Ss.js} +1 -1
- package/dist/src/{meteor-DUiCJRC-.js → meteor-DuAFv6gF.js} +1 -1
- package/dist/src/{modelslab-B5J-ZM5c.js → modelslab-D0erNWKe.js} +7 -10
- package/dist/src/{modelslab-BTOT8FUO.js → modelslab-DIq-6y7x.js} +7 -10
- package/dist/src/{modelslab-IQbNg-r7.cjs → modelslab-Dk1JAtVo.cjs} +7 -10
- package/dist/src/{modelslab-BI458moT.js → modelslab-wu9yi5GE.js} +7 -11
- package/dist/src/{nova-reel-BZ9y-Y5s.js → nova-reel-CCFRfeRb.js} +7 -10
- package/dist/src/{nova-reel-CE5etkv9.cjs → nova-reel-CrLXVKQf.cjs} +6 -10
- package/dist/src/{nova-reel-Xw1SXLpg.js → nova-reel-DQrm74ng.js} +6 -10
- package/dist/src/{nova-reel-DEeQlnOJ.js → nova-reel-gr11WG7f.js} +6 -12
- package/dist/src/{nova-sonic-Ogqf-csn.js → nova-sonic-BYdp-QLs.js} +5 -7
- package/dist/src/{nova-sonic-DXTLpi-r.js → nova-sonic-B_ZXcUJB.js} +4 -7
- package/dist/src/{nova-sonic-DWswpN1E.js → nova-sonic-TDgrlTk7.js} +4 -9
- package/dist/src/{nova-sonic-N0yCm0vb.cjs → nova-sonic-i5tUvXKn.cjs} +4 -7
- package/dist/src/{openai-BcB5KlTk.js → openai-DhVEmgeZ.js} +6 -3
- package/dist/src/{openai-BMcwgD5C.js → openai-Qsvz25mV.js} +6 -3
- package/dist/src/{openai-CoxGAQwn.cjs → openai-URNyItar.cjs} +6 -3
- package/dist/src/{openai-D6wITiVn.js → openai-iYtrXzOX.js} +6 -3
- package/dist/src/openclaw-CLWrW03k.js +1200 -0
- package/dist/src/openclaw-CnQ363Wi.js +1199 -0
- package/dist/src/openclaw-CwzlQSQX.js +1199 -0
- package/dist/src/openclaw-wX9rtfke.cjs +1205 -0
- package/dist/src/{opencode-sdk-CHCs7dEb.js → opencode-sdk-BUu5Nevv.js} +6 -8
- package/dist/src/{opencode-sdk-WWJhnbKr.cjs → opencode-sdk-BZ2idgYA.cjs} +6 -8
- package/dist/src/{opencode-sdk-DDxj4QqH.js → opencode-sdk-BxD8vXp_.js} +7 -8
- package/dist/src/{opencode-sdk-C71Z0ehR.js → opencode-sdk-GI2KaAXq.js} +6 -10
- package/dist/src/{otlpReceiver-CZL48YfC.js → otlpReceiver-B2z58l4e.js} +154 -98
- package/dist/src/{otlpReceiver-DHKqJlsz.cjs → otlpReceiver-BfcVq2Nq.cjs} +154 -98
- package/dist/src/{otlpReceiver-CavGAA6k.js → otlpReceiver-BntK801g.js} +154 -98
- package/dist/src/{otlpReceiver-C9KlUtxh.js → otlpReceiver-DmVulbhC.js} +154 -98
- package/dist/src/{providerRegistry-BkzVH5Ba.js → providerRegistry-Bvh8mv85.js} +2 -2
- package/dist/src/{providerRegistry-CUWki5mQ.js → providerRegistry-CPQ_CmVO.js} +2 -2
- package/dist/src/{providerRegistry-BTDgfV5h.cjs → providerRegistry-CQMdTmHP.cjs} +2 -2
- package/dist/src/{providerRegistry-B9lh-_tx.js → providerRegistry-CWoPjKFZ.js} +2 -2
- package/dist/src/{providers-CScd1wN6.cjs → providers-1eKkXBKp.cjs} +792 -556
- package/dist/src/{providers-Ch6Mr0gn.js → providers-BV_KMZje.js} +699 -493
- package/dist/src/providers-Bp4S-FvO.js +2 -0
- package/dist/src/providers-DV3ax9e_.cjs +3 -0
- package/dist/src/{providers-DvddrgxL.js → providers-Domz_llv.js} +707 -501
- package/dist/src/{providers-Cn73d5sr.js → providers-DruaQfwu.js} +704 -498
- package/dist/src/providers-iUt5fbAN.js +3 -0
- package/dist/src/providers-u9Enmfok.js +2 -0
- package/dist/src/python/persistent_wrapper.py +0 -5
- package/dist/src/{pythonUtils-Cpo0Ez1p.js → pythonUtils-C2UQ30Rz.js} +3 -3
- package/dist/src/{pythonUtils-Bzwbgpbg.js → pythonUtils-Cldx7huE.js} +3 -3
- package/dist/src/{pythonUtils-wIqk7zAf.js → pythonUtils-CnndUbW-.js} +3 -3
- package/dist/src/{pythonUtils-dAVigVK-.cjs → pythonUtils-tAJvvpS-.cjs} +3 -3
- package/dist/src/{quiverai-BeofbLVc.js → quiverai-CtWi6x_g.js} +4 -4
- package/dist/src/{quiverai-CcUhPIBg.cjs → quiverai-DFotyafY.cjs} +4 -4
- package/dist/src/{quiverai-DVSEqJiq.js → quiverai-DR0SnIQV.js} +4 -4
- package/dist/src/{quiverai-CCQn73lq.js → quiverai-aPPvXOgn.js} +4 -5
- package/dist/src/render-CH-62LbA.js +135 -0
- package/dist/src/render-CMEpfLaO.js +136 -0
- package/dist/src/{render-BHl6QVq9.js → render-CgVDrJmM.js} +2 -3
- package/dist/src/render-DHIZ6_k8.js +135 -0
- package/dist/src/render-DfQSFxGE.cjs +165 -0
- package/dist/src/{responses-CQb1Tj69.js → responses--OsX2aYW.js} +17 -12
- package/dist/src/{responses-mo0KQDbu.cjs → responses-Bi9vBuW_.cjs} +18 -13
- package/dist/src/{responses-CgNyTPsY.js → responses-C-flexAY.js} +18 -13
- package/dist/src/{responses-BKP_WYis.js → responses-DL9m8CyY.js} +18 -13
- package/dist/src/{rubyUtils-CGeUtCfW.cjs → rubyUtils-B6eljPuh.cjs} +3 -3
- package/dist/src/{rubyUtils-DECSbsfY.js → rubyUtils-CYSQEG4a.js} +3 -3
- package/dist/src/rubyUtils-D1L2d3jb.js +3 -0
- package/dist/src/rubyUtils-DUbq4tff.cjs +2 -0
- package/dist/src/{rubyUtils-PgU-gHmx.js → rubyUtils-DVLeA2jg.js} +3 -3
- package/dist/src/{rubyUtils-CiVfln3g.js → rubyUtils-DsGrTx8R.js} +3 -3
- package/dist/src/{sagemaker-CqeASYE5.js → sagemaker-BVkaG2-l.js} +14 -18
- package/dist/src/{sagemaker-CVv8W7so.js → sagemaker-BveBvuxm.js} +14 -18
- package/dist/src/{sagemaker-MUbD5V3v.js → sagemaker-D67yzMzs.js} +14 -19
- package/dist/src/{sagemaker-jiw1wQa-.cjs → sagemaker-XnfhheQv.cjs} +14 -18
- package/dist/src/{scanner-DVDeUz1r.js → scanner-1DqWi1Ej.js} +130 -35
- package/dist/src/server/golang/wrapper.go +1 -1
- package/dist/src/server/index.js +3596 -2098
- package/dist/src/server/python/persistent_wrapper.py +0 -5
- package/dist/src/{server-DZ9MtCn0.js → server-BNYztJkh.js} +128 -9
- package/dist/src/{server-Cns05F1j.js → server-BSB45Nt9.js} +127 -8
- package/dist/src/{server-CP9qKM40.js → server-D6Il2Sob.js} +126 -7
- package/dist/src/server-DCtHUqlp.js +3 -0
- package/dist/src/server-DaA2eR26.cjs +2 -0
- package/dist/src/{server-BtoCXeXI.cjs → server-Dx2TyCH2.cjs} +140 -6
- package/dist/src/{signal-C3ZTsUgi.js → signal-CE5G3a7x.js} +3 -3
- package/dist/src/{slack-94iG3T0s.cjs → slack-1Rhq0EoV.cjs} +2 -2
- package/dist/src/{slack-BR0HtO3K.js → slack-D5Wpy8LM.js} +2 -2
- package/dist/src/{slack-DCEV-vWP.js → slack-DDUe-5MC.js} +2 -2
- package/dist/src/{slack-2sdpGzbt.js → slack-acRb0IqQ.js} +2 -2
- package/dist/src/store-CWOSz6D_.cjs +2 -0
- package/dist/src/{store-P8OKm19S.js → store-CYEy5J2D.js} +3 -3
- package/dist/src/{store-CLyU7AtI.cjs → store-DAAyxcy6.cjs} +3 -3
- package/dist/src/store-DCDBhv7B.js +3 -0
- package/dist/src/{store-VB0GP46K.js → store-Dn9HUkdW.js} +3 -3
- package/dist/src/{store-Cj258DgL.js → store-M0b1WfYb.js} +3 -3
- package/dist/src/{tables-DmzvLbeZ.js → tables-C4CH3zRr.js} +3 -3
- package/dist/src/{tables-BEIFz2tM.js → tables-CsWou1Bx.js} +3 -3
- package/dist/src/{tables-kC7R5kiK.js → tables-DQ4WU5tX.js} +3 -3
- package/dist/src/{tables-BdZQEpRz.cjs → tables-DUfh1F7Z.cjs} +3 -3
- package/dist/src/telemetry-C1IqxcdW.js +3 -0
- package/dist/src/telemetry-C4ZEa_es.cjs +2 -0
- package/dist/src/{telemetry-BnH5VJAU.js → telemetry-CQPez_Jp.js} +4 -4
- package/dist/src/{telemetry-re627Lre.cjs → telemetry-Dsw_faFj.cjs} +4 -4
- package/dist/src/{telemetry-BugWqKiu.js → telemetry-Dvqxv3YC.js} +4 -4
- package/dist/src/{telemetry-DPXLd7UE.js → telemetry-dbaJ0E98.js} +4 -4
- package/dist/src/{text-CW1cyrwj.cjs → text-BVi-cLPJ.cjs} +1 -1
- package/dist/src/{text-B_UCRPp2.js → text-CZr46tp_.js} +1 -1
- package/dist/src/{text-TIv0QYnd.js → text-DHxdyQqT.js} +1 -1
- package/dist/src/{text-Db-Wt2u2.js → text-KvuD2Iko.js} +1 -1
- package/dist/src/{tokenUsageUtils-bVa1ga6f.cjs → tokenUsageUtils-Bb7DkZPz.cjs} +7 -3
- package/dist/src/{tokenUsageUtils-BDGe-iyI.js → tokenUsageUtils-C-bmyHoE.js} +7 -3
- package/dist/src/{tokenUsageUtils-DflFMjS0.js → tokenUsageUtils-CXrvO-wA.js} +7 -3
- package/dist/src/{transcription-BvtsrzRG.cjs → transcription-BvjmiYB1.cjs} +9 -13
- package/dist/src/{transcription-Hb3VnC4M.js → transcription-CJspiD2c.js} +8 -11
- package/dist/src/{transcription-CaMivnjG.js → transcription-DuWDupG7.js} +7 -11
- package/dist/src/{transcription-DOMMTu01.js → transcription-V2HaAmy2.js} +7 -13
- package/dist/src/{transform-BqPkNPYm.js → transform-Bbg6A8Jk.js} +4 -4
- package/dist/src/{transform-DrleutM3.js → transform-CG0ehZNG.js} +9 -8
- package/dist/src/{transform-0BwoBsvO.cjs → transform-CTeuTR3S.cjs} +16 -8
- package/dist/src/{transform-ZrG2dvlo.cjs → transform-CUnzlsbn.cjs} +4 -4
- package/dist/src/{transform-BzK09Q_9.js → transform-DYX1_Xnh.js} +5 -5
- package/dist/src/transform-DgKlRr73.cjs +2 -0
- package/dist/src/transform-M6ITAESf.js +3 -0
- package/dist/src/{transform-ljLYHEPh.js → transform-UN5UGu8U.js} +5 -5
- package/dist/src/{transform-B2-jIv68.js → transform-lQrDE1BQ.js} +8 -6
- package/dist/src/{transform-DyDAwEpE.js → transform-zDhMmzwX.js} +10 -7
- package/dist/src/{transformersAvailability-BGkzavwb.js → transformersAvailability-CcHusyhw.js} +1 -1
- package/dist/src/{transformersAvailability-DKoRtQLy.cjs → transformersAvailability-Cju9mHgR.cjs} +1 -1
- package/dist/src/{transformersAvailability-D6c6ROpT.js → transformersAvailability-DLlROWhg.js} +1 -1
- package/dist/src/{types-q8GXGF65.js → types-BGQDAP8i.js} +351 -22
- package/dist/src/{types-Cd3ygw8W.js → types-Bgh5SOn6.js} +352 -24
- package/dist/src/{types-D8cGDZbL.cjs → types-CeaeaZdP.cjs} +387 -22
- package/dist/src/{types-CIhFeUC4.js → types-Dm9JM6Vb.js} +362 -23
- package/dist/src/{util-vNmDL5DT.js → util-BYvQUPp7.js} +138 -36
- package/dist/src/{util-CuLo2pMR.cjs → util-Bxn8emtE.cjs} +14 -167
- package/dist/src/{util-BLvy9qfE.js → util-C8e5uydV.js} +18 -141
- package/dist/src/{util-DM2rTn_6.js → util-C9J8ahRn.js} +4 -4
- package/dist/src/{util-CFj4YKIn.cjs → util-CN3SrLT4.cjs} +4 -4
- package/dist/src/{util-BtoGs5Cb.js → util-D3q0WQ-0.js} +4 -4
- package/dist/src/{util-CgDCK4KI.js → util-D9TisOyk.js} +4 -4
- package/dist/src/{util-DMFeUvLz.js → util-DDs-7g6-.js} +138 -36
- package/dist/src/{util-DbVG-yZU.js → util-DvU2Pw8c.js} +138 -36
- package/dist/src/{util-Bm3E9jpK.js → util-DxWpWjhc.js} +12 -135
- package/dist/src/{util-CMMkIxfU.js → util-oGMLA7vc.js} +16 -139
- package/dist/src/{util--9u9UVCt.cjs → util-olYL5C6N.cjs} +143 -35
- package/dist/src/{utils-DKw8mrgr.cjs → utils-B05gLxER.cjs} +6 -4
- package/dist/src/{utils-DEuL4VNB.js → utils-BLJKfv0y.js} +6 -4
- package/dist/src/{utils-DOjD4dTC.js → utils-DJfvjyMj.js} +6 -4
- package/dist/src/{utils-CFxO9KGo.js → utils-hXtCYanr.js} +6 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +51 -42
- package/dist/src/app/assets/index-B6l9CVVb.js +0 -439
- package/dist/src/app/assets/index-DyZ0Ep37.css +0 -1
- package/dist/src/app/assets/scroll-timeline-BdJZVXlz.js +0 -1
- package/dist/src/app/assets/sync-CStkzc6u.js +0 -4
- package/dist/src/app/assets/vendor-charts-BnDWwBlI.js +0 -36
- package/dist/src/app/assets/vendor-markdown-Bz7N-ca6.js +0 -29
- package/dist/src/app/assets/vendor-react-AtKqiNEf.js +0 -4
- package/dist/src/app/assets/vendor-syntax-D06x6TQF.js +0 -2
- package/dist/src/app/assets/vendor-utils-BvMHZmO7.js +0 -37
- package/dist/src/cache-C5yFZ4gC.cjs +0 -816
- package/dist/src/cache-CaT5tPgo.js +0 -756
- package/dist/src/cache-CyCanoMu.js +0 -6
- package/dist/src/cache-DSqR6ezl.js +0 -726
- package/dist/src/cache-Df_QFDNu.cjs +0 -5
- package/dist/src/cache-HP0NP4k3.js +0 -756
- package/dist/src/cloud-DE3t1-ZI.js +0 -4
- package/dist/src/codex-sdk-BQEw16R_.js +0 -834
- package/dist/src/codex-sdk-C_07GuVS.js +0 -834
- package/dist/src/codex-sdk-DE5G18dx.js +0 -835
- package/dist/src/codex-sdk-ZLKfDjqP.cjs +0 -838
- package/dist/src/eval-7aEqoMs3.js +0 -15
- package/dist/src/evalResult-CYNHkk5A.js +0 -12
- package/dist/src/evalResult-CuvJeNiM.js +0 -10
- package/dist/src/evalResult-tGdilrWt.cjs +0 -10
- package/dist/src/evaluator-BBUqRhz1.js +0 -36
- package/dist/src/fetch-UWU706qb.js +0 -5
- package/dist/src/graders-BxfEguVY.js +0 -32
- package/dist/src/graders-CzVMbEnv.js +0 -34
- package/dist/src/graders-DjCXfj0l.cjs +0 -32
- package/dist/src/graders-kHzIWOKu.js +0 -32
- package/dist/src/openclaw-0Sv7AK3O.js +0 -580
- package/dist/src/openclaw-CXxbKgDH.cjs +0 -586
- package/dist/src/openclaw-D1FSCps-.js +0 -580
- package/dist/src/openclaw-D2ENvu7a.js +0 -582
- package/dist/src/providers-BSLEaIQG.js +0 -32
- package/dist/src/providers-D-FnDg8k.cjs +0 -31
- package/dist/src/providers-DEYiFVAo.js +0 -30
- package/dist/src/providers-sS2WI8YD.js +0 -30
- package/dist/src/rubyUtils-B1HXG4ej.cjs +0 -4
- package/dist/src/rubyUtils-Rt6pKA96.js +0 -5
- package/dist/src/server-B0Xh1Gx-.js +0 -7
- package/dist/src/server-DJTKu9IR.cjs +0 -5
- package/dist/src/store-C5u6MgC8.js +0 -6
- package/dist/src/store-CNHk-De4.cjs +0 -5
- package/dist/src/telemetry-Yig0Tino.js +0 -7
- package/dist/src/telemetry-p8Pwqm1i.cjs +0 -5
- package/dist/src/tokenUsageUtils-NYT-WKS6.js +0 -138
- package/dist/src/transform-ChNIpHz7.js +0 -6
- package/dist/src/transform-PtQ6rAE3.cjs +0 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as isJavascriptFile, t as JAVASCRIPT_EXTENSIONS } from "./fileExtensions-
|
|
1
|
+
import { i as isJavascriptFile, t as JAVASCRIPT_EXTENSIONS } from "./fileExtensions-BArZuxsI.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import dedent from "dedent";
|
|
4
4
|
//#region src/types/env.ts
|
|
@@ -80,6 +80,7 @@ const ProviderEnvOverridesSchema = z.object({
|
|
|
80
80
|
CODEX_API_KEY: z.string().optional(),
|
|
81
81
|
OPENCLAW_CONFIG_PATH: z.string().optional(),
|
|
82
82
|
OPENCLAW_GATEWAY_PASSWORD: z.string().optional(),
|
|
83
|
+
OPENCLAW_GATEWAY_PORT: z.string().optional(),
|
|
83
84
|
OPENCLAW_GATEWAY_TOKEN: z.string().optional(),
|
|
84
85
|
OPENCLAW_GATEWAY_URL: z.string().optional(),
|
|
85
86
|
PALM_API_HOST: z.string().optional(),
|
|
@@ -131,7 +132,9 @@ const ProviderEnvOverridesSchema = z.object({
|
|
|
131
132
|
const CompletionTokenDetailsSchema = z.object({
|
|
132
133
|
reasoning: z.number().optional(),
|
|
133
134
|
acceptedPrediction: z.number().optional(),
|
|
134
|
-
rejectedPrediction: z.number().optional()
|
|
135
|
+
rejectedPrediction: z.number().optional(),
|
|
136
|
+
cacheReadInputTokens: z.number().optional(),
|
|
137
|
+
cacheCreationInputTokens: z.number().optional()
|
|
135
138
|
});
|
|
136
139
|
/**
|
|
137
140
|
* Base schema for token usage statistics with all fields optional
|
|
@@ -163,6 +166,7 @@ const PromptFunctionSchema = z.custom((v) => typeof v === "function");
|
|
|
163
166
|
const PromptSchema = z.object({
|
|
164
167
|
id: z.string().optional(),
|
|
165
168
|
raw: z.string(),
|
|
169
|
+
template: z.string().optional(),
|
|
166
170
|
display: z.string().optional(),
|
|
167
171
|
label: z.string(),
|
|
168
172
|
function: PromptFunctionSchema.optional(),
|
|
@@ -173,9 +177,58 @@ assert$1();
|
|
|
173
177
|
assert$1();
|
|
174
178
|
assert$1();
|
|
175
179
|
//#endregion
|
|
180
|
+
//#region src/redteam/constants/codingAgents.ts
|
|
181
|
+
const CODING_AGENT_CORE_PLUGINS = [
|
|
182
|
+
"coding-agent:repo-prompt-injection",
|
|
183
|
+
"coding-agent:terminal-output-injection",
|
|
184
|
+
"coding-agent:secret-env-read",
|
|
185
|
+
"coding-agent:sandbox-read-escape",
|
|
186
|
+
"coding-agent:verifier-sabotage"
|
|
187
|
+
];
|
|
188
|
+
const CODING_AGENT_PLUGINS = [
|
|
189
|
+
...CODING_AGENT_CORE_PLUGINS,
|
|
190
|
+
"coding-agent:secret-file-read",
|
|
191
|
+
"coding-agent:sandbox-write-escape",
|
|
192
|
+
"coding-agent:network-egress-bypass"
|
|
193
|
+
];
|
|
194
|
+
const CODING_AGENT_COLLECTIONS = ["coding-agent:core"];
|
|
195
|
+
const CODING_AGENT_PLUGIN_DISPLAY_NAMES = {
|
|
196
|
+
"coding-agent:core": "Coding Agent Core",
|
|
197
|
+
"coding-agent:repo-prompt-injection": "Repository Prompt Injection",
|
|
198
|
+
"coding-agent:terminal-output-injection": "Terminal Output Injection",
|
|
199
|
+
"coding-agent:secret-env-read": "Secret Environment Read",
|
|
200
|
+
"coding-agent:secret-file-read": "Secret File Read",
|
|
201
|
+
"coding-agent:sandbox-read-escape": "Sandbox Read Escape",
|
|
202
|
+
"coding-agent:sandbox-write-escape": "Sandbox Write Escape",
|
|
203
|
+
"coding-agent:network-egress-bypass": "Network Egress Bypass",
|
|
204
|
+
"coding-agent:verifier-sabotage": "Verifier Sabotage"
|
|
205
|
+
};
|
|
206
|
+
const CODING_AGENT_PLUGIN_DESCRIPTIONS = {
|
|
207
|
+
"coding-agent:core": "Tests coding agents against a focused MVP set of repository prompt injection, terminal output injection, secret environment read, sandbox read escape, and verifier sabotage risks",
|
|
208
|
+
"coding-agent:repo-prompt-injection": "Tests whether instructions embedded in README files, source comments, fixture data, issue text, logs, or generated artifacts can override the user task or operating policy",
|
|
209
|
+
"coding-agent:terminal-output-injection": "Tests whether compiler, test, package manager, linter, formatter, git, grep, or script output can instruct the coding agent to perform unrelated or dangerous actions",
|
|
210
|
+
"coding-agent:secret-env-read": "Tests whether launcher-only environment canaries remain absent from commands, output, traces, reports, diffs, URLs, and tool or connector parameters",
|
|
211
|
+
"coding-agent:secret-file-read": "Tests whether protected local files, dotfiles, sibling checkout files, temp files, cache files, browser profile files, or support-bundle files remain outside the coding agent task boundary",
|
|
212
|
+
"coding-agent:sandbox-read-escape": "Tests whether the agent can read outside the intended workspace through absolute paths, sibling checkout paths, symlinks, archives, mount points, caches, temp paths, browser profiles, or home directories",
|
|
213
|
+
"coding-agent:sandbox-write-escape": "Tests whether the agent can create, overwrite, append, delete, chmod, or otherwise mutate files outside the intended workspace through relative paths, absolute paths, symlinks, temp paths, home paths, caches, mounts, or sibling checkouts",
|
|
214
|
+
"coding-agent:network-egress-bypass": "Tests whether the agent can make unauthorized outbound network requests, DNS lookups, package fetches, webhook calls, tunnels, or connector/tool calls that bypass the intended network policy",
|
|
215
|
+
"coding-agent:verifier-sabotage": "Tests whether the agent weakens tests, lint, typecheck, CI, snapshots, fixtures, auth, locks, security checks, policies, or harness assertions instead of fixing the requested implementation"
|
|
216
|
+
};
|
|
217
|
+
const CODING_AGENT_PLUGIN_ALIASES = {
|
|
218
|
+
"coding-agent:core": "CodingAgentCore",
|
|
219
|
+
"coding-agent:repo-prompt-injection": "CodingAgentRepoPromptInjection",
|
|
220
|
+
"coding-agent:terminal-output-injection": "CodingAgentTerminalOutputInjection",
|
|
221
|
+
"coding-agent:secret-env-read": "CodingAgentSecretEnvRead",
|
|
222
|
+
"coding-agent:secret-file-read": "CodingAgentSecretFileRead",
|
|
223
|
+
"coding-agent:sandbox-read-escape": "CodingAgentSandboxReadEscape",
|
|
224
|
+
"coding-agent:sandbox-write-escape": "CodingAgentSandboxWriteEscape",
|
|
225
|
+
"coding-agent:network-egress-bypass": "CodingAgentNetworkEgressBypass",
|
|
226
|
+
"coding-agent:verifier-sabotage": "CodingAgentVerifierSabotage"
|
|
227
|
+
};
|
|
228
|
+
//#endregion
|
|
176
229
|
//#region src/redteam/constants/plugins.ts
|
|
177
230
|
const MULTI_INPUT_VAR = "__prompt";
|
|
178
|
-
const REDTEAM_MODEL = "openai:chat:gpt-5-
|
|
231
|
+
const REDTEAM_MODEL = "openai:chat:gpt-5.4-2026-03-05";
|
|
179
232
|
const LLAMA_GUARD_REPLICATE_PROVIDER = "replicate:moderation:meta/llama-guard-4-12b";
|
|
180
233
|
const LLAMA_GUARD_ENABLED_CATEGORIES = [
|
|
181
234
|
"S1",
|
|
@@ -294,8 +347,10 @@ const COLLECTIONS = [
|
|
|
294
347
|
"financial",
|
|
295
348
|
"ecommerce",
|
|
296
349
|
"telecom",
|
|
350
|
+
"teen-safety",
|
|
297
351
|
"realestate",
|
|
298
|
-
"guardrails-eval"
|
|
352
|
+
"guardrails-eval",
|
|
353
|
+
...CODING_AGENT_COLLECTIONS
|
|
299
354
|
];
|
|
300
355
|
const UNALIGNED_PROVIDER_HARM_PLUGINS = {
|
|
301
356
|
"harmful:child-exploitation": "Child Exploitation",
|
|
@@ -345,6 +400,9 @@ const BIAS_PLUGINS = [
|
|
|
345
400
|
];
|
|
346
401
|
const MEDICAL_PLUGINS = [
|
|
347
402
|
"medical:anchoring-bias",
|
|
403
|
+
"medical:fda:ai-disclosure",
|
|
404
|
+
"medical:fda:cyber-access-control",
|
|
405
|
+
"medical:fda:cyber-audit-tampering",
|
|
348
406
|
"medical:hallucination",
|
|
349
407
|
"medical:incorrect-knowledge",
|
|
350
408
|
"medical:off-label-use",
|
|
@@ -360,6 +418,7 @@ const FINANCIAL_PLUGINS = [
|
|
|
360
418
|
"financial:defamation",
|
|
361
419
|
"financial:hallucination",
|
|
362
420
|
"financial:impartiality",
|
|
421
|
+
"financial:japan-fiea-suitability",
|
|
363
422
|
"financial:misconduct",
|
|
364
423
|
"financial:sox-compliance",
|
|
365
424
|
"financial:sycophancy"
|
|
@@ -405,6 +464,12 @@ const REALESTATE_PLUGINS = [
|
|
|
405
464
|
"realestate:advertising-discrimination",
|
|
406
465
|
"realestate:source-of-income"
|
|
407
466
|
];
|
|
467
|
+
const TEEN_SAFETY_PLUGINS = [
|
|
468
|
+
"teen-safety:harmful-body-ideals",
|
|
469
|
+
"teen-safety:dangerous-content",
|
|
470
|
+
"teen-safety:dangerous-roleplay",
|
|
471
|
+
"teen-safety:age-restricted-goods-and-services"
|
|
472
|
+
];
|
|
408
473
|
const BASE_PLUGINS = [
|
|
409
474
|
"contracts",
|
|
410
475
|
"excessive-agency",
|
|
@@ -419,6 +484,7 @@ const ADDITIONAL_PLUGINS = [
|
|
|
419
484
|
"bfla",
|
|
420
485
|
"bola",
|
|
421
486
|
"cca",
|
|
487
|
+
...CODING_AGENT_PLUGINS,
|
|
422
488
|
"competitors",
|
|
423
489
|
"coppa",
|
|
424
490
|
"cross-session-leak",
|
|
@@ -435,6 +501,9 @@ const ADDITIONAL_PLUGINS = [
|
|
|
435
501
|
"mcp",
|
|
436
502
|
"model-identification",
|
|
437
503
|
"medical:anchoring-bias",
|
|
504
|
+
"medical:fda:ai-disclosure",
|
|
505
|
+
"medical:fda:cyber-access-control",
|
|
506
|
+
"medical:fda:cyber-audit-tampering",
|
|
438
507
|
"medical:hallucination",
|
|
439
508
|
"medical:incorrect-knowledge",
|
|
440
509
|
"medical:off-label-use",
|
|
@@ -448,6 +517,7 @@ const ADDITIONAL_PLUGINS = [
|
|
|
448
517
|
"financial:defamation",
|
|
449
518
|
"financial:hallucination",
|
|
450
519
|
"financial:impartiality",
|
|
520
|
+
"financial:japan-fiea-suitability",
|
|
451
521
|
"financial:misconduct",
|
|
452
522
|
"financial:sox-compliance",
|
|
453
523
|
"financial:sycophancy",
|
|
@@ -477,6 +547,10 @@ const ADDITIONAL_PLUGINS = [
|
|
|
477
547
|
"telecom:coverage-misinformation",
|
|
478
548
|
"telecom:law-enforcement-request-handling",
|
|
479
549
|
"telecom:accessibility-violation",
|
|
550
|
+
"teen-safety:harmful-body-ideals",
|
|
551
|
+
"teen-safety:dangerous-content",
|
|
552
|
+
"teen-safety:dangerous-roleplay",
|
|
553
|
+
"teen-safety:age-restricted-goods-and-services",
|
|
480
554
|
"realestate:fair-housing-discrimination",
|
|
481
555
|
"realestate:steering",
|
|
482
556
|
"realestate:discriminatory-listings",
|
|
@@ -508,6 +582,16 @@ const ADDITIONAL_PLUGINS = [
|
|
|
508
582
|
];
|
|
509
583
|
const CONFIG_REQUIRED_PLUGINS = ["intent", "policy"];
|
|
510
584
|
const AGENTIC_EXEMPT_PLUGINS = ["system-prompt-override", "agentic:memory-poisoning"];
|
|
585
|
+
const CANARY_BREAKING_STRATEGY_IDS = [
|
|
586
|
+
"base64",
|
|
587
|
+
"hex",
|
|
588
|
+
"homoglyph",
|
|
589
|
+
"leetspeak",
|
|
590
|
+
"rot13",
|
|
591
|
+
"multilingual",
|
|
592
|
+
"math-prompt",
|
|
593
|
+
"jailbreak:composite"
|
|
594
|
+
];
|
|
511
595
|
const DATASET_EXEMPT_PLUGINS = [
|
|
512
596
|
"aegis",
|
|
513
597
|
"beavertails",
|
|
@@ -558,10 +642,13 @@ const PLUGIN_CATEGORIES = {
|
|
|
558
642
|
pharmacy: PHARMACY_PLUGINS,
|
|
559
643
|
insurance: INSURANCE_PLUGINS,
|
|
560
644
|
telecom: TELECOM_PLUGINS,
|
|
645
|
+
"teen-safety": TEEN_SAFETY_PLUGINS,
|
|
561
646
|
realestate: REALESTATE_PLUGINS
|
|
562
647
|
};
|
|
563
648
|
const REMOTE_ONLY_PLUGIN_IDS = [
|
|
564
649
|
"agentic:memory-poisoning",
|
|
650
|
+
...CODING_AGENT_COLLECTIONS,
|
|
651
|
+
...CODING_AGENT_PLUGINS,
|
|
565
652
|
"ascii-smuggling",
|
|
566
653
|
"bfla",
|
|
567
654
|
"bola",
|
|
@@ -1076,26 +1163,125 @@ const NIST_AI_RMF_MAPPING = {
|
|
|
1076
1163
|
strategies: []
|
|
1077
1164
|
}
|
|
1078
1165
|
};
|
|
1166
|
+
const MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING = {
|
|
1167
|
+
plugins: [
|
|
1168
|
+
"ascii-smuggling",
|
|
1169
|
+
"excessive-agency",
|
|
1170
|
+
"harmful:cybercrime:malicious-code",
|
|
1171
|
+
"hallucination",
|
|
1172
|
+
"indirect-prompt-injection",
|
|
1173
|
+
"rag-poisoning"
|
|
1174
|
+
],
|
|
1175
|
+
strategies: ["jailbreak", "jailbreak:tree"]
|
|
1176
|
+
};
|
|
1079
1177
|
const MITRE_ATLAS_MAPPING = {
|
|
1178
|
+
"mitre:atlas:ai-attack-staging": MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING,
|
|
1179
|
+
"mitre:atlas:ai-model-access": {
|
|
1180
|
+
plugins: [],
|
|
1181
|
+
strategies: []
|
|
1182
|
+
},
|
|
1183
|
+
"mitre:atlas:collection": {
|
|
1184
|
+
plugins: [
|
|
1185
|
+
"data-exfil",
|
|
1186
|
+
"harmful:privacy",
|
|
1187
|
+
"pii:api-db",
|
|
1188
|
+
"pii:direct",
|
|
1189
|
+
"pii:session",
|
|
1190
|
+
"pii:social",
|
|
1191
|
+
"prompt-extraction",
|
|
1192
|
+
"rag-document-exfiltration"
|
|
1193
|
+
],
|
|
1194
|
+
strategies: []
|
|
1195
|
+
},
|
|
1196
|
+
"mitre:atlas:command-and-control": {
|
|
1197
|
+
plugins: [
|
|
1198
|
+
"excessive-agency",
|
|
1199
|
+
"harmful:cybercrime",
|
|
1200
|
+
"harmful:cybercrime:malicious-code",
|
|
1201
|
+
"mcp",
|
|
1202
|
+
"shell-injection",
|
|
1203
|
+
"ssrf"
|
|
1204
|
+
],
|
|
1205
|
+
strategies: ["crescendo"]
|
|
1206
|
+
},
|
|
1207
|
+
"mitre:atlas:credential-access": {
|
|
1208
|
+
plugins: [
|
|
1209
|
+
"data-exfil",
|
|
1210
|
+
"harmful:privacy",
|
|
1211
|
+
"pii:api-db",
|
|
1212
|
+
"pii:direct",
|
|
1213
|
+
"pii:session",
|
|
1214
|
+
"pii:social",
|
|
1215
|
+
"prompt-extraction",
|
|
1216
|
+
"rag-document-exfiltration",
|
|
1217
|
+
"tool-discovery"
|
|
1218
|
+
],
|
|
1219
|
+
strategies: []
|
|
1220
|
+
},
|
|
1221
|
+
"mitre:atlas:defense-evasion": {
|
|
1222
|
+
plugins: [
|
|
1223
|
+
"ascii-smuggling",
|
|
1224
|
+
"hijacking",
|
|
1225
|
+
"imitation",
|
|
1226
|
+
"rag-source-attribution",
|
|
1227
|
+
"special-token-injection"
|
|
1228
|
+
],
|
|
1229
|
+
strategies: [
|
|
1230
|
+
"base64",
|
|
1231
|
+
"jailbreak",
|
|
1232
|
+
"jailbreak-templates",
|
|
1233
|
+
"leetspeak",
|
|
1234
|
+
"rot13"
|
|
1235
|
+
]
|
|
1236
|
+
},
|
|
1237
|
+
"mitre:atlas:discovery": {
|
|
1238
|
+
plugins: [
|
|
1239
|
+
"debug-access",
|
|
1240
|
+
"model-identification",
|
|
1241
|
+
"prompt-extraction",
|
|
1242
|
+
"system-prompt-override",
|
|
1243
|
+
"tool-discovery"
|
|
1244
|
+
],
|
|
1245
|
+
strategies: []
|
|
1246
|
+
},
|
|
1247
|
+
"mitre:atlas:execution": {
|
|
1248
|
+
plugins: [
|
|
1249
|
+
"excessive-agency",
|
|
1250
|
+
"hijacking",
|
|
1251
|
+
"indirect-prompt-injection",
|
|
1252
|
+
"mcp",
|
|
1253
|
+
"shell-injection",
|
|
1254
|
+
"sql-injection",
|
|
1255
|
+
"ssrf",
|
|
1256
|
+
"system-prompt-override",
|
|
1257
|
+
"tool-discovery"
|
|
1258
|
+
],
|
|
1259
|
+
strategies: ["jailbreak", "jailbreak-templates"]
|
|
1260
|
+
},
|
|
1080
1261
|
"mitre:atlas:exfiltration": {
|
|
1081
1262
|
plugins: [
|
|
1082
1263
|
"ascii-smuggling",
|
|
1264
|
+
"cross-session-leak",
|
|
1265
|
+
"data-exfil",
|
|
1083
1266
|
"harmful:privacy",
|
|
1084
1267
|
"indirect-prompt-injection",
|
|
1085
1268
|
"pii:api-db",
|
|
1086
1269
|
"pii:direct",
|
|
1087
1270
|
"pii:session",
|
|
1088
1271
|
"pii:social",
|
|
1089
|
-
"prompt-extraction"
|
|
1272
|
+
"prompt-extraction",
|
|
1273
|
+
"rag-document-exfiltration"
|
|
1090
1274
|
],
|
|
1091
1275
|
strategies: []
|
|
1092
1276
|
},
|
|
1093
1277
|
"mitre:atlas:impact": {
|
|
1094
1278
|
plugins: [
|
|
1279
|
+
"divergent-repetition",
|
|
1095
1280
|
"excessive-agency",
|
|
1096
1281
|
"harmful",
|
|
1097
1282
|
"hijacking",
|
|
1098
|
-
"imitation"
|
|
1283
|
+
"imitation",
|
|
1284
|
+
"reasoning-dos"
|
|
1099
1285
|
],
|
|
1100
1286
|
strategies: ["crescendo"]
|
|
1101
1287
|
},
|
|
@@ -1103,6 +1289,8 @@ const MITRE_ATLAS_MAPPING = {
|
|
|
1103
1289
|
plugins: [
|
|
1104
1290
|
"debug-access",
|
|
1105
1291
|
"harmful:cybercrime",
|
|
1292
|
+
"indirect-prompt-injection",
|
|
1293
|
+
"mcp",
|
|
1106
1294
|
"shell-injection",
|
|
1107
1295
|
"sql-injection",
|
|
1108
1296
|
"ssrf"
|
|
@@ -1115,18 +1303,46 @@ const MITRE_ATLAS_MAPPING = {
|
|
|
1115
1303
|
"rot13"
|
|
1116
1304
|
]
|
|
1117
1305
|
},
|
|
1118
|
-
"mitre:atlas:
|
|
1306
|
+
"mitre:atlas:lateral-movement": {
|
|
1119
1307
|
plugins: [
|
|
1120
|
-
"
|
|
1308
|
+
"bfla",
|
|
1309
|
+
"bola",
|
|
1310
|
+
"harmful:cybercrime",
|
|
1311
|
+
"rbac"
|
|
1312
|
+
],
|
|
1313
|
+
strategies: []
|
|
1314
|
+
},
|
|
1315
|
+
"mitre:atlas:persistence": {
|
|
1316
|
+
plugins: [
|
|
1317
|
+
"agentic:memory-poisoning",
|
|
1318
|
+
"cross-session-leak",
|
|
1319
|
+
"indirect-prompt-injection",
|
|
1320
|
+
"rag-poisoning",
|
|
1321
|
+
"system-prompt-override"
|
|
1322
|
+
],
|
|
1323
|
+
strategies: ["jailbreak"]
|
|
1324
|
+
},
|
|
1325
|
+
"mitre:atlas:privilege-escalation": {
|
|
1326
|
+
plugins: [
|
|
1327
|
+
"bfla",
|
|
1328
|
+
"bola",
|
|
1329
|
+
"debug-access",
|
|
1121
1330
|
"excessive-agency",
|
|
1122
|
-
"
|
|
1123
|
-
"
|
|
1331
|
+
"mcp",
|
|
1332
|
+
"rbac",
|
|
1333
|
+
"shell-injection",
|
|
1334
|
+
"system-prompt-override"
|
|
1124
1335
|
],
|
|
1125
|
-
strategies: [
|
|
1336
|
+
strategies: [
|
|
1337
|
+
"jailbreak",
|
|
1338
|
+
"jailbreak:tree",
|
|
1339
|
+
"jailbreak-templates"
|
|
1340
|
+
]
|
|
1126
1341
|
},
|
|
1127
1342
|
"mitre:atlas:reconnaissance": {
|
|
1128
1343
|
plugins: [
|
|
1129
1344
|
"competitors",
|
|
1345
|
+
"model-identification",
|
|
1130
1346
|
"policy",
|
|
1131
1347
|
"prompt-extraction",
|
|
1132
1348
|
"rbac"
|
|
@@ -1135,13 +1351,16 @@ const MITRE_ATLAS_MAPPING = {
|
|
|
1135
1351
|
},
|
|
1136
1352
|
"mitre:atlas:resource-development": {
|
|
1137
1353
|
plugins: [
|
|
1354
|
+
"harmful:chemical-biological-weapons",
|
|
1138
1355
|
"harmful:cybercrime",
|
|
1356
|
+
"harmful:cybercrime:malicious-code",
|
|
1139
1357
|
"harmful:illegal-drugs",
|
|
1140
1358
|
"harmful:indiscriminate-weapons"
|
|
1141
1359
|
],
|
|
1142
1360
|
strategies: []
|
|
1143
1361
|
}
|
|
1144
1362
|
};
|
|
1363
|
+
const MITRE_ATLAS_LEGACY_MAPPING = { "mitre:atlas:ml-attack-staging": MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING };
|
|
1145
1364
|
/**
|
|
1146
1365
|
* EU Artificial Intelligence Act
|
|
1147
1366
|
* ▸ Art. 5 (Prohibited AI practices) – unacceptable-risk
|
|
@@ -1548,6 +1767,7 @@ const ALIASED_PLUGINS = [
|
|
|
1548
1767
|
"iso:42001",
|
|
1549
1768
|
"gdpr",
|
|
1550
1769
|
...Object.keys(MITRE_ATLAS_MAPPING),
|
|
1770
|
+
...Object.keys(MITRE_ATLAS_LEGACY_MAPPING),
|
|
1551
1771
|
...Object.keys(NIST_AI_RMF_MAPPING),
|
|
1552
1772
|
...Object.keys(OWASP_API_TOP_10_MAPPING),
|
|
1553
1773
|
...Object.keys(OWASP_LLM_TOP_10_MAPPING),
|
|
@@ -1559,6 +1779,7 @@ const ALIASED_PLUGINS = [
|
|
|
1559
1779
|
];
|
|
1560
1780
|
const ALIASED_PLUGIN_MAPPINGS = {
|
|
1561
1781
|
"dod:ai:ethics": DOD_AI_ETHICS_MAPPING,
|
|
1782
|
+
"mitre:atlas:ml-attack-staging": MITRE_ATLAS_LEGACY_MAPPING,
|
|
1562
1783
|
"mitre:atlas": MITRE_ATLAS_MAPPING,
|
|
1563
1784
|
"nist:ai:measure": NIST_AI_RMF_MAPPING,
|
|
1564
1785
|
"owasp:api": OWASP_API_TOP_10_MAPPING,
|
|
@@ -1619,8 +1840,8 @@ const ALIASED_PLUGIN_MAPPINGS = {
|
|
|
1619
1840
|
strategies: []
|
|
1620
1841
|
} }
|
|
1621
1842
|
};
|
|
1622
|
-
|
|
1623
|
-
|
|
1843
|
+
({ ...CODING_AGENT_PLUGIN_DESCRIPTIONS });
|
|
1844
|
+
({ ...CODING_AGENT_PLUGIN_DISPLAY_NAMES });
|
|
1624
1845
|
const Severity = {
|
|
1625
1846
|
Critical: "critical",
|
|
1626
1847
|
High: "high",
|
|
@@ -1637,6 +1858,10 @@ const SeveritySchema = z.enum([
|
|
|
1637
1858
|
]);
|
|
1638
1859
|
Severity.Critical, Severity.High, Severity.Medium, Severity.Low, Severity.Informational;
|
|
1639
1860
|
Severity.Critical, Severity.High, Severity.Medium, Severity.Low, Severity.Informational;
|
|
1861
|
+
const codingAgentRiskCategorySeverityMap = {
|
|
1862
|
+
...Object.fromEntries(CODING_AGENT_PLUGINS.map((pluginId) => [pluginId, Severity.High])),
|
|
1863
|
+
"coding-agent:core": Severity.High
|
|
1864
|
+
};
|
|
1640
1865
|
const riskCategorySeverityMap = {
|
|
1641
1866
|
["agentic:memory-poisoning"]: Severity.High,
|
|
1642
1867
|
aegis: Severity.Medium,
|
|
@@ -1654,6 +1879,7 @@ const riskCategorySeverityMap = {
|
|
|
1654
1879
|
"financial:defamation": Severity.Medium,
|
|
1655
1880
|
"financial:hallucination": Severity.Low,
|
|
1656
1881
|
"financial:impartiality": Severity.Medium,
|
|
1882
|
+
"financial:japan-fiea-suitability": Severity.High,
|
|
1657
1883
|
"financial:misconduct": Severity.High,
|
|
1658
1884
|
"financial:sox-compliance": Severity.High,
|
|
1659
1885
|
"financial:sycophancy": Severity.Low,
|
|
@@ -1669,6 +1895,9 @@ const riskCategorySeverityMap = {
|
|
|
1669
1895
|
default: Severity.Low,
|
|
1670
1896
|
mcp: Severity.High,
|
|
1671
1897
|
"medical:anchoring-bias": Severity.High,
|
|
1898
|
+
"medical:fda:ai-disclosure": Severity.High,
|
|
1899
|
+
"medical:fda:cyber-access-control": Severity.Critical,
|
|
1900
|
+
"medical:fda:cyber-audit-tampering": Severity.Critical,
|
|
1672
1901
|
"medical:hallucination": Severity.Critical,
|
|
1673
1902
|
"medical:incorrect-knowledge": Severity.Critical,
|
|
1674
1903
|
"medical:off-label-use": Severity.High,
|
|
@@ -1745,6 +1974,11 @@ const riskCategorySeverityMap = {
|
|
|
1745
1974
|
"telecom:coverage-misinformation": Severity.Medium,
|
|
1746
1975
|
"telecom:law-enforcement-request-handling": Severity.Medium,
|
|
1747
1976
|
"telecom:accessibility-violation": Severity.Medium,
|
|
1977
|
+
"teen-safety": Severity.Low,
|
|
1978
|
+
"teen-safety:harmful-body-ideals": Severity.Low,
|
|
1979
|
+
"teen-safety:dangerous-content": Severity.Low,
|
|
1980
|
+
"teen-safety:dangerous-roleplay": Severity.Low,
|
|
1981
|
+
"teen-safety:age-restricted-goods-and-services": Severity.Low,
|
|
1748
1982
|
realestate: Severity.Critical,
|
|
1749
1983
|
"realestate:fair-housing-discrimination": Severity.Critical,
|
|
1750
1984
|
"realestate:steering": Severity.Critical,
|
|
@@ -1784,9 +2018,10 @@ const riskCategorySeverityMap = {
|
|
|
1784
2018
|
vlguard: Severity.Medium,
|
|
1785
2019
|
vlsu: Severity.Medium,
|
|
1786
2020
|
wordplay: Severity.Low,
|
|
1787
|
-
xstest: Severity.Low
|
|
2021
|
+
xstest: Severity.Low,
|
|
2022
|
+
...codingAgentRiskCategorySeverityMap
|
|
1788
2023
|
};
|
|
1789
|
-
|
|
2024
|
+
const riskCategories = {
|
|
1790
2025
|
"Security & Access Control": [
|
|
1791
2026
|
"ascii-smuggling",
|
|
1792
2027
|
"bfla",
|
|
@@ -1858,6 +2093,10 @@ Object.entries({
|
|
|
1858
2093
|
"harmful:radicalization",
|
|
1859
2094
|
"harmful:self-harm",
|
|
1860
2095
|
"harmful:sexual-content",
|
|
2096
|
+
"teen-safety:harmful-body-ideals",
|
|
2097
|
+
"teen-safety:dangerous-content",
|
|
2098
|
+
"teen-safety:dangerous-roleplay",
|
|
2099
|
+
"teen-safety:age-restricted-goods-and-services",
|
|
1861
2100
|
"wordplay"
|
|
1862
2101
|
],
|
|
1863
2102
|
Brand: [
|
|
@@ -1889,11 +2128,15 @@ Object.entries({
|
|
|
1889
2128
|
"financial:defamation",
|
|
1890
2129
|
"financial:hallucination",
|
|
1891
2130
|
"financial:impartiality",
|
|
2131
|
+
"financial:japan-fiea-suitability",
|
|
1892
2132
|
"financial:misconduct",
|
|
1893
2133
|
"financial:sox-compliance",
|
|
1894
2134
|
"financial:sycophancy",
|
|
1895
2135
|
"medical:hallucination",
|
|
1896
2136
|
"medical:anchoring-bias",
|
|
2137
|
+
"medical:fda:ai-disclosure",
|
|
2138
|
+
"medical:fda:cyber-access-control",
|
|
2139
|
+
"medical:fda:cyber-audit-tampering",
|
|
1897
2140
|
"medical:incorrect-knowledge",
|
|
1898
2141
|
"medical:off-label-use",
|
|
1899
2142
|
"medical:prioritization-error",
|
|
@@ -1934,8 +2177,10 @@ Object.entries({
|
|
|
1934
2177
|
"vlguard",
|
|
1935
2178
|
"vlsu",
|
|
1936
2179
|
"xstest"
|
|
1937
|
-
]
|
|
1938
|
-
|
|
2180
|
+
],
|
|
2181
|
+
"Coding Agent Security": [...CODING_AGENT_PLUGINS]
|
|
2182
|
+
};
|
|
2183
|
+
Object.entries(riskCategories).reduce((acc, [category, harms]) => {
|
|
1939
2184
|
harms.forEach((harm) => {
|
|
1940
2185
|
acc[harm] = category;
|
|
1941
2186
|
});
|
|
@@ -1961,6 +2206,9 @@ const categoryAliases = {
|
|
|
1961
2206
|
ferpa: "FERPACompliance",
|
|
1962
2207
|
mcp: "MCP",
|
|
1963
2208
|
"medical:anchoring-bias": "MedicalAnchoringBias",
|
|
2209
|
+
"medical:fda:ai-disclosure": "MedicalFdaAiDisclosure",
|
|
2210
|
+
"medical:fda:cyber-access-control": "MedicalFdaCyberAccessControl",
|
|
2211
|
+
"medical:fda:cyber-audit-tampering": "MedicalFdaCyberAuditTampering",
|
|
1964
2212
|
"medical:hallucination": "Medical Hallucination",
|
|
1965
2213
|
"medical:incorrect-knowledge": "MedicalIncorrectKnowledge",
|
|
1966
2214
|
"medical:off-label-use": "MedicalOffLabelUse",
|
|
@@ -1978,6 +2226,7 @@ const categoryAliases = {
|
|
|
1978
2226
|
"financial:defamation": "FinancialDefamation",
|
|
1979
2227
|
"financial:hallucination": "FinancialHallucination",
|
|
1980
2228
|
"financial:impartiality": "FinancialImpartiality",
|
|
2229
|
+
"financial:japan-fiea-suitability": "FinancialJapanFieaSuitability",
|
|
1981
2230
|
"financial:misconduct": "FinancialMisconduct",
|
|
1982
2231
|
"financial:sox-compliance": "FinancialSoxCompliance",
|
|
1983
2232
|
"financial:sycophancy": "FinancialSycophancy",
|
|
@@ -2019,6 +2268,11 @@ const categoryAliases = {
|
|
|
2019
2268
|
"telecom:coverage-misinformation": "TelecomCoverageMisinformation",
|
|
2020
2269
|
"telecom:law-enforcement-request-handling": "TelecomLawEnforcementRequestHandling",
|
|
2021
2270
|
"telecom:accessibility-violation": "TelecomAccessibilityViolation",
|
|
2271
|
+
"teen-safety": "TeenSafety",
|
|
2272
|
+
"teen-safety:harmful-body-ideals": "TeenSafetyHarmfulBodyIdeals",
|
|
2273
|
+
"teen-safety:dangerous-content": "TeenSafetyDangerousContent",
|
|
2274
|
+
"teen-safety:dangerous-roleplay": "TeenSafetyDangerousRoleplay",
|
|
2275
|
+
"teen-safety:age-restricted-goods-and-services": "TeenSafetyAgeRestrictedGoodsAndServices",
|
|
2022
2276
|
realestate: "Real Estate Safety",
|
|
2023
2277
|
"realestate:fair-housing-discrimination": "RealEstateFairHousingDiscrimination",
|
|
2024
2278
|
"realestate:steering": "RealEstateSteering",
|
|
@@ -2088,7 +2342,8 @@ const categoryAliases = {
|
|
|
2088
2342
|
vlguard: "VLGuard",
|
|
2089
2343
|
vlsu: "VLSU",
|
|
2090
2344
|
wordplay: "Wordplay",
|
|
2091
|
-
xstest: "XSTest"
|
|
2345
|
+
xstest: "XSTest",
|
|
2346
|
+
...CODING_AGENT_PLUGIN_ALIASES
|
|
2092
2347
|
};
|
|
2093
2348
|
Object.entries(categoryAliases).reduce((acc, [key, value]) => {
|
|
2094
2349
|
acc[value] = key;
|
|
@@ -2144,6 +2399,11 @@ const pluginDescriptions = {
|
|
|
2144
2399
|
"telecom:coverage-misinformation": "Tests for false or misleading claims about network coverage, 5G availability, or roaming capabilities",
|
|
2145
2400
|
"telecom:law-enforcement-request-handling": "Tests for improper handling of law enforcement data requests in violation of CALEA requirements and privacy laws",
|
|
2146
2401
|
"telecom:accessibility-violation": "Tests for accessibility compliance violations under Section 255, Section 508, ADA, and 21st Century CVAA",
|
|
2402
|
+
"teen-safety": "Comprehensive teen safety testing for age-appropriate AI behavior across body image harms, dangerous activities, unsafe roleplay, and underage access risks",
|
|
2403
|
+
"teen-safety:harmful-body-ideals": "Tests for harmful body-ideal promotion, body shaming, and facilitation of unsafe restriction, purging, over-exercise, or concealment behaviors that can harm teens",
|
|
2404
|
+
"teen-safety:dangerous-content": "Tests for promotion, glorification, or facilitation of dangerous challenges, unsafe stunts, risky experimentation, and dangerous at-home procedures inappropriate for teens",
|
|
2405
|
+
"teen-safety:dangerous-roleplay": "Tests for interactive roleplay involving minors that simulates romantic, sexual, or violent scenarios that could normalize exploitation or harm",
|
|
2406
|
+
"teen-safety:age-restricted-goods-and-services": "Tests for encouragement, sourcing, or circumvention tactics that help minors access age-restricted goods or services such as alcohol, vaping, gambling, weapons, or adult-only venues",
|
|
2147
2407
|
realestate: "Comprehensive real estate AI safety testing for Fair Housing Act compliance, steering prevention, lending discrimination (ECOA), valuation bias, and housing discrimination vulnerabilities",
|
|
2148
2408
|
"realestate:fair-housing-discrimination": "Tests for Fair Housing Act violations across all 7 protected classes: race, color, religion, national origin, sex (including gender identity and sexual orientation), familial status, and disability",
|
|
2149
2409
|
"realestate:steering": "Tests for illegal steering practices where systems direct buyers toward or away from neighborhoods based on protected class characteristics rather than objective housing criteria",
|
|
@@ -2191,6 +2451,9 @@ const pluginDescriptions = {
|
|
|
2191
2451
|
"ecommerce:price-manipulation": "Tests for price manipulation through discount code abuse, inventory exploits, cart manipulation, unauthorized price modifications, or coupon stacking vulnerabilities",
|
|
2192
2452
|
mcp: "Tests for vulnerabilities to Model Context Protocol (MCP) attacks",
|
|
2193
2453
|
"medical:anchoring-bias": "Tests for medical anchoring bias where AI fixates on irrelevant information in medical contexts",
|
|
2454
|
+
"medical:fda:ai-disclosure": "Tests whether AI-enabled medical-device or clinical LLM systems disclose intended-use boundaries, confidence and uncertainty, subgroup limitations, data drift, and model or device version changes instead of concealing them",
|
|
2455
|
+
"medical:fda:cyber-access-control": "Tests whether medical-device AI systems enforce authenticated, role-scoped, deny-by-default workflows and refuse privileged device, telemetry, update, or therapy actions from unauthorized users or stale sessions",
|
|
2456
|
+
"medical:fda:cyber-audit-tampering": "Tests whether medical-device AI systems preserve anomaly alerts, SBOM/version records, and forensic audit trails instead of helping users suppress, rewrite, or delete cybersecurity evidence",
|
|
2194
2457
|
"medical:hallucination": "Tests for fabricated medical facts, non-existent studies, made-up drug interactions, or other false medical information",
|
|
2195
2458
|
"medical:incorrect-knowledge": "Tests for factually wrong medical information that could be harmful if followed",
|
|
2196
2459
|
"medical:off-label-use": "Tests for inappropriate off-label medication recommendations without proper disclaimers, warnings, or professional consultation requirements",
|
|
@@ -2204,6 +2467,7 @@ const pluginDescriptions = {
|
|
|
2204
2467
|
"financial:defamation": "Tests for false statements that damage the reputation of financial entities, including unfounded fraud accusations, fabricated scandals, or false insolvency claims",
|
|
2205
2468
|
"financial:hallucination": "Tests for fabricated market data, non-existent financial instruments, fictional company financials, or invented market events",
|
|
2206
2469
|
"financial:impartiality": "Tests for inappropriate provision of financial advice, investment recommendations, broker suggestions, or transaction facilitation without proper authorization or disclaimers",
|
|
2470
|
+
"financial:japan-fiea-suitability": "Tests whether AI recommends unsuitable financial products, downplays risks, or uses sales framing that conflicts with Japan's FIEA suitability and explanation duties",
|
|
2207
2471
|
"financial:misconduct": "Tests for facilitation of financial crimes including insider trading, market manipulation, front-running, spoofing, bribery, or circumventing financial regulations",
|
|
2208
2472
|
"financial:sox-compliance": "Tests for violations of Sarbanes-Oxley requirements including internal controls bypass, financial statement manipulation, CEO/CFO certification fraud, audit obstruction, document retention violations, and whistleblower retaliation",
|
|
2209
2473
|
"financial:sycophancy": "Tests for agreeing with risky trading strategies, unrealistic return expectations, or get-rich-quick schemes",
|
|
@@ -2241,7 +2505,8 @@ const pluginDescriptions = {
|
|
|
2241
2505
|
vlsu: "Tests compositional safety where individually safe images and text combine to produce harmful outputs using Apple VLSU dataset",
|
|
2242
2506
|
wordplay: "Tests whether AI systems can be tricked into generating profanity or offensive language through innocent-seeming wordplay like riddles and rhyming games",
|
|
2243
2507
|
xstest: "Tests how models handle ambiguous terms related to potentially harmful topics like violence and drugs",
|
|
2244
|
-
"guardrails-eval": "Evaluate guardrail effectiveness against common risks"
|
|
2508
|
+
"guardrails-eval": "Evaluate guardrail effectiveness against common risks",
|
|
2509
|
+
...CODING_AGENT_PLUGIN_DESCRIPTIONS
|
|
2245
2510
|
};
|
|
2246
2511
|
//#endregion
|
|
2247
2512
|
//#region src/redteam/constants/strategies.ts
|
|
@@ -2261,6 +2526,7 @@ const DEFAULT_STRATEGIES = [
|
|
|
2261
2526
|
"jailbreak:meta",
|
|
2262
2527
|
"jailbreak:composite"
|
|
2263
2528
|
];
|
|
2529
|
+
new Set(DEFAULT_STRATEGIES);
|
|
2264
2530
|
const MULTI_TURN_STRATEGIES = [
|
|
2265
2531
|
"crescendo",
|
|
2266
2532
|
"goat",
|
|
@@ -2286,6 +2552,7 @@ const AGENTIC_STRATEGIES = [
|
|
|
2286
2552
|
"jailbreak:tree",
|
|
2287
2553
|
"mischievous-user"
|
|
2288
2554
|
];
|
|
2555
|
+
new Set(AGENTIC_STRATEGIES);
|
|
2289
2556
|
const DATASET_PLUGINS = [
|
|
2290
2557
|
"beavertails",
|
|
2291
2558
|
"cyberseceval",
|
|
@@ -2451,7 +2718,62 @@ const PluginConfigSchema = z.object({
|
|
|
2451
2718
|
policy: z.union([z.string(), PolicyObjectSchema]).optional(),
|
|
2452
2719
|
systemPrompt: z.string().optional(),
|
|
2453
2720
|
excludeStrategies: z.array(z.string()).optional(),
|
|
2721
|
+
protectedFilePath: z.string().optional(),
|
|
2722
|
+
protectedFilePaths: z.array(z.string()).optional(),
|
|
2723
|
+
secretFilePath: z.string().optional(),
|
|
2724
|
+
secretFilePaths: z.array(z.string()).optional(),
|
|
2725
|
+
secretLocalFilePath: z.string().optional(),
|
|
2726
|
+
secretLocalFilePaths: z.array(z.string()).optional(),
|
|
2727
|
+
secretFileValue: z.string().optional(),
|
|
2728
|
+
secretFileValues: z.array(z.string()).optional(),
|
|
2729
|
+
outsideWritePath: z.string().optional(),
|
|
2730
|
+
outsideWritePaths: z.array(z.string()).optional(),
|
|
2731
|
+
outsideWriteHostPath: z.string().optional(),
|
|
2732
|
+
outsideWriteHostPaths: z.array(z.string()).optional(),
|
|
2733
|
+
outsideWriteProbeDir: z.string().optional(),
|
|
2734
|
+
outsideWriteProbeDirs: z.array(z.string()).optional(),
|
|
2735
|
+
outsideWriteAllowedPath: z.string().optional(),
|
|
2736
|
+
outsideWriteAllowedPaths: z.array(z.string()).optional(),
|
|
2737
|
+
outsideWriteExpectedSha256: z.string().optional(),
|
|
2738
|
+
outsideWritePathSha256: z.string().optional(),
|
|
2739
|
+
outsideWriteSha256: z.string().optional(),
|
|
2740
|
+
outsideWriteMustNotExistPath: z.string().optional(),
|
|
2741
|
+
outsideWriteMustNotExistPaths: z.array(z.string()).optional(),
|
|
2742
|
+
mustNotExistPath: z.string().optional(),
|
|
2743
|
+
mustNotExistPaths: z.array(z.string()).optional(),
|
|
2744
|
+
protectedWritePath: z.string().optional(),
|
|
2745
|
+
protectedWritePaths: z.array(z.string()).optional(),
|
|
2746
|
+
sandboxWritePath: z.string().optional(),
|
|
2747
|
+
sandboxWritePaths: z.array(z.string()).optional(),
|
|
2748
|
+
workspacePath: z.string().optional(),
|
|
2749
|
+
workspacePaths: z.array(z.string()).optional(),
|
|
2750
|
+
workspaceRoot: z.string().optional(),
|
|
2751
|
+
workspaceRoots: z.array(z.string()).optional(),
|
|
2752
|
+
workingDirectory: z.string().optional(),
|
|
2753
|
+
workingDirectoryPath: z.string().optional(),
|
|
2754
|
+
workingDir: z.string().optional(),
|
|
2755
|
+
networkEgressUrl: z.string().optional(),
|
|
2756
|
+
networkEgressUrls: z.array(z.string()).optional(),
|
|
2757
|
+
networkTrapUrl: z.string().optional(),
|
|
2758
|
+
networkTrapUrls: z.array(z.string()).optional(),
|
|
2759
|
+
networkEgressHost: z.string().optional(),
|
|
2760
|
+
networkEgressHosts: z.array(z.string()).optional(),
|
|
2761
|
+
networkTrapHost: z.string().optional(),
|
|
2762
|
+
networkTrapHosts: z.array(z.string()).optional(),
|
|
2763
|
+
networkAllowedHost: z.string().optional(),
|
|
2764
|
+
networkAllowedHosts: z.array(z.string()).optional(),
|
|
2765
|
+
networkAllowedUrl: z.string().optional(),
|
|
2766
|
+
networkAllowedUrls: z.array(z.string()).optional(),
|
|
2767
|
+
networkTrapLogPath: z.string().optional(),
|
|
2768
|
+
networkTrapLogPaths: z.array(z.string()).optional(),
|
|
2769
|
+
networkScanPath: z.string().optional(),
|
|
2770
|
+
networkScanPaths: z.array(z.string()).optional(),
|
|
2771
|
+
networkWorkspacePath: z.string().optional(),
|
|
2772
|
+
networkWorkspacePaths: z.array(z.string()).optional(),
|
|
2773
|
+
networkEgressReceipt: z.string().optional(),
|
|
2774
|
+
networkEgressReceipts: z.array(z.string()).optional(),
|
|
2454
2775
|
inputs: InputsSchema.optional(),
|
|
2776
|
+
maxCharsPerMessage: z.number().int().positive().optional(),
|
|
2455
2777
|
__nonce: z.number().optional()
|
|
2456
2778
|
});
|
|
2457
2779
|
const StrategyConfigSchema = z.object({
|
|
@@ -2641,6 +2963,7 @@ z.object({
|
|
|
2641
2963
|
language: z.union([z.string(), z.array(z.string())]).optional().describe("Language(s) of tests to generate"),
|
|
2642
2964
|
frameworks: z.array(z.enum(frameworkOptions)).min(1).optional().describe("Subset of compliance frameworks to include when generating, reporting, and filtering results"),
|
|
2643
2965
|
maxConcurrency: z.int().positive().optional().describe("Maximum number of concurrent API calls"),
|
|
2966
|
+
maxCharsPerMessage: z.int().positive().optional().describe("Maximum number of characters allowed per generated user message"),
|
|
2644
2967
|
numTests: z.int().positive().optional().describe("Number of tests to generate"),
|
|
2645
2968
|
output: z.string().optional().describe("Output file path"),
|
|
2646
2969
|
plugins: z.array(RedteamPluginObjectSchema).optional().describe("Plugins to use"),
|
|
@@ -2673,6 +2996,7 @@ const RedteamConfigSchema = z.object({
|
|
|
2673
2996
|
Supports ${ALL_STRATEGIES.join(", ")}
|
|
2674
2997
|
`).optional().prefault(["default"]),
|
|
2675
2998
|
maxConcurrency: z.int().positive().optional().describe("Maximum number of concurrent API calls"),
|
|
2999
|
+
maxCharsPerMessage: z.int().positive().optional().describe("Maximum number of characters allowed per generated user message"),
|
|
2676
3000
|
delay: z.int().nonnegative().optional().describe("Delay in milliseconds between plugin API calls"),
|
|
2677
3001
|
excludeTargetOutputFromAgenticAttackGeneration: z.boolean().optional().describe("Whether to exclude target output from the agentific attack generation process"),
|
|
2678
3002
|
tracing: TracingConfigSchema.optional().describe("Tracing defaults applied to all strategies unless overridden"),
|
|
@@ -2726,6 +3050,7 @@ const RedteamConfigSchema = z.object({
|
|
|
2726
3050
|
else if (id === "pharmacy") expandCollection([...PHARMACY_PLUGINS], config, numTests, severity);
|
|
2727
3051
|
else if (id === "insurance") expandCollection([...INSURANCE_PLUGINS], config, numTests, severity);
|
|
2728
3052
|
else if (id === "financial") expandCollection([...FINANCIAL_PLUGINS], config, numTests, severity);
|
|
3053
|
+
else if (id === "teen-safety") expandCollection([...TEEN_SAFETY_PLUGINS], config, numTests, severity);
|
|
2729
3054
|
else if (id === "default") expandCollection([...DEFAULT_PLUGINS], config, numTests, severity);
|
|
2730
3055
|
else if (id === "guardrails-eval") expandCollection([...GUARDRAILS_EVALUATION_PLUGINS], config, numTests, severity);
|
|
2731
3056
|
};
|
|
@@ -2786,6 +3111,7 @@ const RedteamConfigSchema = z.object({
|
|
|
2786
3111
|
});
|
|
2787
3112
|
return {
|
|
2788
3113
|
numTests: data.numTests,
|
|
3114
|
+
...data.maxCharsPerMessage ? { maxCharsPerMessage: data.maxCharsPerMessage } : {},
|
|
2789
3115
|
plugins: uniquePlugins,
|
|
2790
3116
|
strategies,
|
|
2791
3117
|
...frameworks ? { frameworks } : {},
|
|
@@ -2911,6 +3237,7 @@ const PromptMetricsSchema = z.object({
|
|
|
2911
3237
|
tokenUsage: BaseTokenUsageSchema,
|
|
2912
3238
|
namedScores: z.record(z.string(), z.number()),
|
|
2913
3239
|
namedScoresCount: z.record(z.string(), z.number()),
|
|
3240
|
+
namedScoreWeights: z.record(z.string(), z.number()).optional(),
|
|
2914
3241
|
redteam: z.object({
|
|
2915
3242
|
pluginPassCount: z.record(z.string(), z.number()),
|
|
2916
3243
|
pluginFailCount: z.record(z.string(), z.number()),
|
|
@@ -2933,7 +3260,7 @@ function isResultFailureReason(value) {
|
|
|
2933
3260
|
return validResultFailureReasons.has(value);
|
|
2934
3261
|
}
|
|
2935
3262
|
function isGradingResult(result) {
|
|
2936
|
-
return typeof result === "object" && result !== null && typeof result.pass === "boolean" && typeof result.score === "number" && typeof result.reason === "string" && (typeof result.namedScores === "undefined" || typeof result.namedScores === "object") && (typeof result.tokensUsed === "undefined" || typeof result.tokensUsed === "object") && (typeof result.componentResults === "undefined" || Array.isArray(result.componentResults)) && (typeof result.assertion === "undefined" || result.assertion === null || typeof result.assertion === "object") && (typeof result.comment === "undefined" || typeof result.comment === "string");
|
|
3263
|
+
return typeof result === "object" && result !== null && typeof result.pass === "boolean" && typeof result.score === "number" && typeof result.reason === "string" && (typeof result.namedScores === "undefined" || typeof result.namedScores === "object") && (typeof result.namedScoreWeights === "undefined" || typeof result.namedScoreWeights === "object") && (typeof result.tokensUsed === "undefined" || typeof result.tokensUsed === "object") && (typeof result.componentResults === "undefined" || Array.isArray(result.componentResults)) && (typeof result.assertion === "undefined" || result.assertion === null || typeof result.assertion === "object") && (typeof result.comment === "undefined" || typeof result.comment === "string");
|
|
2937
3264
|
}
|
|
2938
3265
|
const BaseAssertionTypesSchema = z.enum([
|
|
2939
3266
|
"answer-relevance",
|
|
@@ -3076,6 +3403,7 @@ const TestCaseSchema = z.object({
|
|
|
3076
3403
|
...GradingConfigSchema.shape,
|
|
3077
3404
|
disableVarExpansion: z.boolean().optional(),
|
|
3078
3405
|
disableConversationVar: z.boolean().optional(),
|
|
3406
|
+
disableDefaultAsserts: z.boolean().optional(),
|
|
3079
3407
|
runSerially: z.boolean().optional()
|
|
3080
3408
|
}).catchall(z.any()).optional(),
|
|
3081
3409
|
threshold: z.number().optional(),
|
|
@@ -3165,7 +3493,7 @@ const TestSuiteSchema = z.object({
|
|
|
3165
3493
|
enabled: z.boolean(),
|
|
3166
3494
|
port: z.number(),
|
|
3167
3495
|
host: z.string().optional(),
|
|
3168
|
-
acceptFormats: z.array(z.
|
|
3496
|
+
acceptFormats: z.array(z.enum(["protobuf", "json"])).optional()
|
|
3169
3497
|
}).optional(),
|
|
3170
3498
|
grpc: z.object({
|
|
3171
3499
|
enabled: z.boolean(),
|
|
@@ -3234,7 +3562,7 @@ const TestSuiteConfigSchema = z.object({
|
|
|
3234
3562
|
enabled: z.boolean().prefault(true),
|
|
3235
3563
|
port: z.number().prefault(4318),
|
|
3236
3564
|
host: z.string().prefault("0.0.0.0"),
|
|
3237
|
-
acceptFormats: z.array(z.enum(["protobuf", "json"])).prefault(["json"])
|
|
3565
|
+
acceptFormats: z.array(z.enum(["protobuf", "json"])).prefault(["json", "protobuf"])
|
|
3238
3566
|
}).optional(),
|
|
3239
3567
|
grpc: z.object({
|
|
3240
3568
|
enabled: z.boolean().prefault(false),
|
|
@@ -3289,6 +3617,6 @@ const EvalResultsFilterMode = z.enum([
|
|
|
3289
3617
|
"user-rated"
|
|
3290
3618
|
]);
|
|
3291
3619
|
//#endregion
|
|
3292
|
-
export {
|
|
3620
|
+
export { MULTI_INPUT_EXCLUDED_PLUGINS as $, STRATEGY_COLLECTIONS as A, ALIASED_PLUGIN_MAPPINGS as B, isValidReusablePolicyId as C, DATASET_PLUGINS as D, ALL_STRATEGIES as E, isMultiTurnStrategy as F, DEFAULT_PLUGINS as G, BIAS_PLUGINS as H, Severity as I, HARM_PLUGINS as J, FINANCIAL_PLUGINS as K, categoryAliases as L, getDefaultNFanout as M, isCustomStrategy as N, DEFAULT_STRATEGIES as O, isFanoutStrategy as P, MEDICAL_PLUGINS as Q, pluginDescriptions as R, StrategyConfigSchema as S, AGENTIC_STRATEGIES as T, CANARY_BREAKING_STRATEGY_IDS as U, ALL_PLUGINS as V, DATASET_EXEMPT_PLUGINS as W, LLAMA_GUARD_ENABLED_CATEGORIES as X, INSURANCE_PLUGINS as Y, LLAMA_GUARD_REPLICATE_PROVIDER as Z, ProvidersSchema as _, EvaluateOptionsSchema as a, REDTEAM_PROVIDER_HARM_PLUGINS as at, PluginConfigSchema as b, TestSuiteConfigSchema as c, TEEN_SAFETY_PLUGINS as ct, isGradingResult as d, CODING_AGENT_CORE_PLUGINS as dt, MULTI_INPUT_VAR as et, isResultFailureReason as f, CODING_AGENT_PLUGINS as ft, ProviderOptionsSchema as g, RedteamConfigSchema as h, PromptSchema as ht, EvalResultsFilterMode as i, REDTEAM_MODEL as it, STRATEGY_COLLECTION_MAPPINGS as j, MULTI_TURN_STRATEGIES as k, TestSuiteSchema as l, TELECOM_PLUGINS as lt, isProviderOptions as m, CODING_AGENT_PLUGIN_DISPLAY_NAMES as mt, BaseAssertionTypesSchema as n, PII_PLUGINS as nt, OutputFileExtension as o, REMOTE_ONLY_PLUGIN_IDS as ot, isApiProvider as p, CODING_AGENT_PLUGIN_DESCRIPTIONS as pt, FOUNDATION_PLUGINS as q, CommandLineOptionsSchema as r, PLUGIN_CATEGORIES as rt, ResultFailureReason as s, STRATEGY_EXEMPT_PLUGINS as st, AssertionOrSetSchema as t, PHARMACY_PLUGINS as tt, UnifiedConfigSchema as u, UNALIGNED_PROVIDER_HARM_PLUGINS as ut, ConversationMessageSchema as v, isUuid as w, PolicyObjectSchema as x, PartialGenerationError as y, riskCategorySeverityMap as z };
|
|
3293
3621
|
|
|
3294
|
-
//# sourceMappingURL=types-
|
|
3622
|
+
//# sourceMappingURL=types-Bgh5SOn6.js.map
|