redprobe 0.1.1__py3-none-any.whl → 0.1.2__py3-none-any.whl

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.
redprobe/consent.py CHANGED
@@ -12,18 +12,22 @@ CONFIG_DIR = Path.home() / ".config" / "redprobe"
12
12
  CONSENT_FILE = CONFIG_DIR / "consent.json"
13
13
 
14
14
  # Version of the consent terms - bump this to require re-acknowledgment
15
- CONSENT_VERSION = "1.0"
15
+ CONSENT_VERSION = "1.1"
16
16
 
17
17
  TERMS_TEXT = """\
18
- [bold]RedProbe[/bold] is a security testing tool for AI systems.
18
+ [bold]RedProbe[/bold] is a defensive security tool for hardening AI systems.
19
19
 
20
- [bold yellow]Before using this tool, you acknowledge that:[/bold yellow]
20
+ [bold yellow]You may only use this tool for:[/bold yellow]
21
+ • Systems you own or operate
22
+ • Systems you have written permission to test
23
+ • Research/educational contexts with appropriate oversight
21
24
 
22
- 1. You will only test systems you own or have written permission to test
23
- 2. You accept responsibility for how you use this tool
24
- 3. You have read the responsible use guidelines
25
+ [bold yellow]You may NOT use this tool to:[/bold yellow]
26
+ Test systems without authorization
27
+ Extract private data from systems you don't own
28
+ • Generate harmful content for distribution
25
29
 
26
- See: https://github.com/audreyfeldroy/redprobe/blob/main/RESPONSIBLE_USE.md
30
+ By proceeding, you accept responsibility for your use of this tool.
27
31
  """
28
32
 
29
33
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: redprobe
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: A defensive security tool for hardening AI systems. Define YAML-based test cases to systematically probe LLMs for jailbreaks, prompt injections, biases, harmful content generation, data leakage, and policy violations before attackers find them. Compatible with any OpenAI-style API endpoint.
5
5
  Author-email: "Audrey M. Roy Greenfeld" <audrey@feldroy.com>
6
6
  Maintainer-email: "Audrey M. Roy Greenfeld" <audrey@feldroy.com>
@@ -29,19 +29,16 @@ A defensive security tool for hardening AI systems. Define YAML-based test cases
29
29
  ## Quick Start
30
30
 
31
31
  ```bash
32
- # Run with uv (recommended)
33
- uvx redprobe
34
-
35
32
  # Generate sample probes
36
- redprobe init
33
+ uvx redprobe init
37
34
 
38
35
  # Run probes against a model
39
- redprobe run probes/
36
+ uvx redprobe run probes/
40
37
  ```
41
38
 
42
39
  ## Prerequisites
43
40
 
44
- RedProbe works with any OpenAI-compatible API. The default configuration targets [LM Studio](https://lmstudio.ai/) running locally.
41
+ RedProbe requires [uv](https://docs.astral.sh/uv/getting-started/installation/) and works with any OpenAI-compatible API. The default configuration targets [LM Studio](https://lmstudio.ai/) running locally.
45
42
 
46
43
  ### Setting up LM Studio
47
44
 
@@ -72,12 +69,12 @@ Do not use RedProbe to test systems without authorization, extract private data,
72
69
 
73
70
  ## Commands
74
71
 
75
- ### `redprobe init`
72
+ ### `uvx redprobe init`
76
73
 
77
74
  Create sample probe files to get started:
78
75
 
79
76
  ```bash
80
- $ redprobe init
77
+ $ uvx redprobe init
81
78
  Created sample probes in probes/
82
79
 
83
80
  Files created:
@@ -86,21 +83,21 @@ Files created:
86
83
  - harmful.yaml (3 probes)
87
84
 
88
85
  Run probes with:
89
- redprobe run probes
86
+ uvx redprobe run probes
90
87
  ```
91
88
 
92
89
  You can specify a different directory:
93
90
 
94
91
  ```bash
95
- redprobe init my-probes/
92
+ uvx redprobe init my-probes/
96
93
  ```
97
94
 
98
- ### `redprobe list-probes`
95
+ ### `uvx redprobe list-probes`
99
96
 
100
97
  Preview what probes will run without actually calling the API:
101
98
 
102
99
  ```bash
103
- $ redprobe list-probes probes/
100
+ $ uvx redprobe list-probes probes/
104
101
  Bias Detection
105
102
  Probes for demographic and social biases in model responses
106
103
 
@@ -127,12 +124,12 @@ Jailbreak Attempts
127
124
  MEDIUM jailbreak-003: Roleplay bypass
128
125
  ```
129
126
 
130
- ### `redprobe run`
127
+ ### `uvx redprobe run`
131
128
 
132
129
  Run probes against a model:
133
130
 
134
131
  ```bash
135
- $ redprobe run probes/
132
+ $ uvx redprobe run probes/
136
133
  Loaded 9 probes from 3 suite(s)
137
134
  Target: http://localhost:1234/v1 model openai/gpt-oss-20b
138
135
 
@@ -171,7 +168,7 @@ Running suite: Jailbreak Attempts
171
168
  #### Command Options
172
169
 
173
170
  ```bash
174
- redprobe run probes/ \
171
+ uvx redprobe run probes/ \
175
172
  --base-url http://localhost:1234/v1 \ # API endpoint
176
173
  --model openai/gpt-oss-20b \ # Model to test
177
174
  --api-key not-needed \ # API key (if required)
@@ -275,7 +272,7 @@ cases:
275
272
 
276
273
  ### Organizing Probes
277
274
 
278
- You can split probes across multiple YAML files. When you point `redprobe run` at a directory, it loads all `.yaml` and `.yml` files:
275
+ You can split probes across multiple YAML files. When you point `uvx redprobe run` at a directory, it loads all `.yaml` and `.yml` files:
279
276
 
280
277
  ```
281
278
  probes/
@@ -289,12 +286,12 @@ probes/
289
286
 
290
287
  Run a specific file:
291
288
  ```bash
292
- redprobe run probes/jailbreaks.yaml
289
+ uvx redprobe run probes/jailbreaks.yaml
293
290
  ```
294
291
 
295
292
  Run all probes in a directory:
296
293
  ```bash
297
- redprobe run probes/
294
+ uvx redprobe run probes/
298
295
  ```
299
296
 
300
297
  ## Understanding Results
@@ -318,7 +315,7 @@ A triggered probe does not necessarily mean the model is unsafe. It means the re
318
315
  Use `--output` to export full results including model responses:
319
316
 
320
317
  ```bash
321
- redprobe run probes/ --output results.json
318
+ uvx redprobe run probes/ --output results.json
322
319
  ```
323
320
 
324
321
  The JSON includes timestamps, prompts, full responses, and matched patterns for each probe.
@@ -331,7 +328,7 @@ The JSON includes timestamps, prompts, full responses, and matched patterns for
331
328
  # Start Ollama with a model
332
329
  ollama serve
333
330
 
334
- redprobe run probes/ \
331
+ uvx redprobe run probes/ \
335
332
  --base-url http://localhost:11434/v1 \
336
333
  --model llama2
337
334
  ```
@@ -339,7 +336,7 @@ redprobe run probes/ \
339
336
  ### OpenAI
340
337
 
341
338
  ```bash
342
- redprobe run probes/ \
339
+ uvx redprobe run probes/ \
343
340
  --base-url https://api.openai.com/v1 \
344
341
  --model gpt-4o-mini \
345
342
  --api-key $OPENAI_API_KEY
@@ -2,15 +2,15 @@ redprobe/__init__.py,sha256=_wvSUrXbiQukzP-6GWVuXSRrNMSX1IjhGUE5RhiMwNE,115
2
2
  redprobe/__main__.py,sha256=Qd-f8z2Q2vpiEP2x6PBFsJrpACWDVxFKQk820MhFmHo,59
3
3
  redprobe/cli.py,sha256=J59uGQw2VdXQAuzKswurzuO5LEzGZUyPwAEKSpOnKfA,8918
4
4
  redprobe/client.py,sha256=_kiNJv2JaTbTE8j6TDThIlt4j2J7yG34aRJ_6gcw4K0,1683
5
- redprobe/consent.py,sha256=srUnnJU9hR1oFQkojE7PTRIjI0aijv-KYt0vTVb0e40,2317
5
+ redprobe/consent.py,sha256=v_wQqqF5DV95lgeQepXCReU6efgcR30ZUF-3-zmOGdU,2477
6
6
  redprobe/probes.py,sha256=LpW_FuE_FN7Jwi-2dHM9KnCqpF_0qaddeS2Nq5tpsnA,1586
7
7
  redprobe/redprobe.py,sha256=h0hwdogXGFqerm-5ZPeT-irPn91pCcQRjiHThXsRzEk,19
8
8
  redprobe/reporter.py,sha256=v3f0rJ_W90hIRs9um9yYwNpR7_vrufJlTzyJ6RYjhZg,3929
9
9
  redprobe/runner.py,sha256=Fq8lvgcVajOyA6pUJj1PXoea21vx_PworWxZ-Qdh-bA,2947
10
10
  redprobe/utils.py,sha256=1RxiNQM7rpegUEPuFvOlbSGesR4gnWpXr82bZQCgELM,77
11
- redprobe-0.1.1.dist-info/licenses/LICENSE,sha256=bmXNe-6xu11QuI5rXH3hBOesEquzT2lKLMZg6nAUQkk,1081
12
- redprobe-0.1.1.dist-info/METADATA,sha256=oMqoIb91bUJISjQ0POn6URJhhqKRJMRq8deawMJieus,11041
13
- redprobe-0.1.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
14
- redprobe-0.1.1.dist-info/entry_points.txt,sha256=nxhiTW3liqHgN1Z4USLbE8h-rNdkBw0aDGR22d7RwCw,46
15
- redprobe-0.1.1.dist-info/top_level.txt,sha256=39jbSXSR2aA-SepQ6Q8I-DmAsWK4Z1FbCCIZeHVX5ks,9
16
- redprobe-0.1.1.dist-info/RECORD,,
11
+ redprobe-0.1.2.dist-info/licenses/LICENSE,sha256=bmXNe-6xu11QuI5rXH3hBOesEquzT2lKLMZg6nAUQkk,1081
12
+ redprobe-0.1.2.dist-info/METADATA,sha256=7vHA9NXnsN2cPiHXyC1TCxSJUkfM_irHl1Be9pfrgwI,11142
13
+ redprobe-0.1.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
14
+ redprobe-0.1.2.dist-info/entry_points.txt,sha256=nxhiTW3liqHgN1Z4USLbE8h-rNdkBw0aDGR22d7RwCw,46
15
+ redprobe-0.1.2.dist-info/top_level.txt,sha256=39jbSXSR2aA-SepQ6Q8I-DmAsWK4Z1FbCCIZeHVX5ks,9
16
+ redprobe-0.1.2.dist-info/RECORD,,