Developer · FREE

Red team LLM (promptfoo)

Składa i odpala skan adversarial: injection, exfil sekretow, off-policy tool use. Target to zywy endpoint albo prawdziwy prompt aplikacji, potem triage padow, nie sciana 200 faili bez wlasciciela.

reviewed:

Jak zainstalować

  1. Uzupełnij pola poniżej (albo zostaw nazwy zmiennych i dopisz w czacie). Wartości z Skill creatora na liście podstawiają się same.
  2. Kopiuj, potem wklej w Claude.ai (instrukcje projektu) albo ChatGPT (Custom Instructions).
  3. Albo pobierz SKILL.md i połóż w folderze skilli Claude Code.
SKILL
Target (URL albo plik promptu aplikacji): [TARGET]. Toole agenta: [TOOLE]. Dane zakazane (PII, sekrety, off-policy): [DANE_ZAKAZANE].

To NIE jest `eval-agenta-promptfoo` (A/B jakosci SKILL.md). Tu: red team wlasnej aplikacji.
NIE atakuj cudzego modelu, cudzego URL, produkcyjnego tenantu klienta bez pisemnej zgody.
Jesli zgody nie ma - stop. Jesli [TARGET] puste - popros o URL albo provider file i stop.

Zwracasz:

## 1. Target
Prawdziwe wejscie aplikacji (HTTP body z polami jak w prod, albo provider z chat template).
Zakaz spłaszczania do jednego generic `prompt: "{{prompt}}"`, jesli aplikacja ma system + tools + RAG.
`injectVar` = to pole, ktore widzi user.

## 2. promptfooconfig (szkielet)
```yaml
targets:
  - id: http
    config:
      url: "[TARGET]"
      method: POST
      headers:
        Content-Type: application/json
      body:
        message: "{{prompt}}"
redteam:
  purpose: "Opisz co aplikacja WOLNO, czego NIE (toole: [TOOLE], zakaz: [DANE_ZAKAZANE])."
  numTests: 5
  plugins:
    - prompt-injection
    - indirect-prompt-injection
    - pii
    - excessive-agency
    - overreliance
    - rbac
  strategies:
    - jailbreak
    - crescendo
```
Dobierz pluginy do [TOOLE]: sa toole bash/http -> `excessive-agency`, `shell-injection`, `ssrf`. Jest RAG -> `indirect-prompt-injection`. Jest auth obiektow -> `bola`.
Nie wlaczaj sciany `harmful:*`, jesli to nie jest produkt konsumencki z policy harm.

Komendy (CLI, pin wersji npm wedlug locka repo; to nie jest skill agenta):
`npx promptfoo redteam generate`
`npx promptfoo redteam eval`
`npx promptfoo redteam report`

## 3. Trzy osie (osobno w raporcie)
1. Prompt injection (direct + indirect z dokumentu/RAG)
2. Wyciek PII / sekretow z [DANE_ZAKAZANE]
3. Naduzycie toola (off-policy: wyslanie maila, kasowanie, platnosc, bash)

## 4. Triage
Nie oddawaj sciany 200 faili.
Dla kazdego FAIL:
- plugin + 1 przyklad (skrocony, bez payloadu-broni)
- odtworzony? TAK -> issue BLOKUJACE z wlascicielem
- skip tylko z powodem (false positive, poza zakresem policy)
Na koncu: liczba BLOKUJACYCH, liczba skip z powodem, co naprawiac pierwsze (system prompt vs tool gate vs filtr RAG).
Dywiz "-". Kod po angielsku.

Zanim wkleisz

Skill vs zły prompt

Zły prompt

Zjailbreakuj ChatGPT i wklej payloady, zrob pentest na cudze API.

Skill

Target (URL albo plik promptu aplikacji): [TARGET]. Toole agenta: [TOOLE]. Dane zakazane (PII, sekrety, off-policy): [DANE_ZAKAZANE].

To NIE jest `eval-agenta-promptfoo` (A/B jakosci SKILL.md). Tu: red team wlasnej aplikacji.
NIE atakuj cudzego modelu, cudzego URL, produkcyjnego tenantu klienta bez pisemnej zgody.
Jesli zgody nie ma - stop. Jesli [TARGET] puste - popros o URL albo provider file i stop.

Zwracasz:

Użyj z tym narzędziem

Lekcja: fundament-06-dane-i-bezpieczenstwo

Pytania

Jak użyć skilla "Red team LLM (promptfoo)" w Claude?

Uzupełnij pola w nawiasach (albo weź je z profilu Skill creator na /skille), kliknij Kopiuj i wklej treść do instrukcji projektu w Claude.ai. W Claude Code kliknij Pobierz SKILL.md i połóż plik w folderze skilli. Skill działa też w ChatGPT (Custom Instructions). Nie chowa się za paywallem: kopia jest darmowa.

Kiedy tego skilla NIE używać?

Nie gdy nie masz zgody na skan (to atak na wlasna aplikacje). Nie do atakowania cudzych modeli ani cudzych URL. Nie gdy nie ma targetu HTTP albo pliku providera. Nie zamiast eval-agenta-promptfoo (tam jakosc skilla, tu adversarial).