redprobe 0.1.4__tar.gz → 0.1.6__tar.gz

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.
Files changed (33) hide show
  1. {redprobe-0.1.4 → redprobe-0.1.6}/CONTRIBUTING.md +46 -8
  2. {redprobe-0.1.4 → redprobe-0.1.6}/PKG-INFO +18 -2
  3. {redprobe-0.1.4 → redprobe-0.1.6}/README.md +17 -1
  4. {redprobe-0.1.4 → redprobe-0.1.6}/pyproject.toml +1 -1
  5. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe.egg-info/PKG-INFO +18 -2
  6. {redprobe-0.1.4 → redprobe-0.1.6}/HISTORY.md +0 -0
  7. {redprobe-0.1.4 → redprobe-0.1.6}/LICENSE +0 -0
  8. {redprobe-0.1.4 → redprobe-0.1.6}/MANIFEST.in +0 -0
  9. {redprobe-0.1.4 → redprobe-0.1.6}/docs/cli.png +0 -0
  10. {redprobe-0.1.4 → redprobe-0.1.6}/docs/index.md +0 -0
  11. {redprobe-0.1.4 → redprobe-0.1.6}/docs/installation.md +0 -0
  12. {redprobe-0.1.4 → redprobe-0.1.6}/docs/usage.md +0 -0
  13. {redprobe-0.1.4 → redprobe-0.1.6}/setup.cfg +0 -0
  14. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/__init__.py +0 -0
  15. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/__main__.py +0 -0
  16. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/cli.py +0 -0
  17. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/client.py +0 -0
  18. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/consent.py +0 -0
  19. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/probes.py +0 -0
  20. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/redprobe.py +0 -0
  21. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/reporter.py +0 -0
  22. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/runner.py +0 -0
  23. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/utils.py +0 -0
  24. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe.egg-info/SOURCES.txt +0 -0
  25. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe.egg-info/dependency_links.txt +0 -0
  26. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe.egg-info/entry_points.txt +0 -0
  27. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe.egg-info/requires.txt +0 -0
  28. {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe.egg-info/top_level.txt +0 -0
  29. {redprobe-0.1.4 → redprobe-0.1.6}/tests/__init__.py +0 -0
  30. {redprobe-0.1.4 → redprobe-0.1.6}/tests/test_cli.py +0 -0
  31. {redprobe-0.1.4 → redprobe-0.1.6}/tests/test_probes.py +0 -0
  32. {redprobe-0.1.4 → redprobe-0.1.6}/tests/test_redprobe.py +0 -0
  33. {redprobe-0.1.4 → redprobe-0.1.6}/tests/test_runner.py +0 -0
@@ -161,17 +161,55 @@ To run a subset of tests:
161
161
  pytest tests.test_redprobe
162
162
  ```
163
163
 
164
- ## Deploying
164
+ ## Releasing to PyPI
165
165
 
166
- A reminder for the maintainers on how to deploy. Make sure all your changes are committed (including an entry in HISTORY.md). Then run:
166
+ ### First-Time Setup (One-Time)
167
167
 
168
- ```sh
169
- bump2version patch # possible: major / minor / patch
170
- git push
171
- git push --tags
172
- ```
168
+ Before you can publish, set up PyPI trusted publishing:
169
+
170
+ 1. Create a PyPI account at [pypi.org](https://pypi.org) if you don't have one
171
+ 2. Go to your PyPI account > Publishing > Add a new pending publisher
172
+ 3. Fill in the form:
173
+ - **PyPI Project Name:** `redprobe`
174
+ - **Owner:** Your GitHub username or organization
175
+ - **Repository name:** `redprobe`
176
+ - **Workflow name:** `publish.yml`
177
+ - **Environment name:** Leave blank
178
+ 4. Push your first tag to trigger the publish
179
+
180
+ ### Every Release
181
+
182
+ Releases are automated via GitHub Actions. When you push a tag, the workflow builds and publishes to PyPI using trusted publishing.
183
+
184
+ 1. Make sure all changes are committed and pushed
185
+ 2. Bump the version:
186
+
187
+ ```sh
188
+ uv version --bump patch # or: minor, major
189
+ ```
190
+
191
+ 3. Commit the version bump:
192
+
193
+ ```sh
194
+ git add pyproject.toml uv.lock
195
+ git commit -m "Release X.Y.Z"
196
+ git push
197
+ ```
198
+
199
+ 4. Tag and push (triggers the publish):
200
+
201
+ ```sh
202
+ just tag
203
+ ```
204
+
205
+ Or manually:
206
+
207
+ ```sh
208
+ git tag -a vX.Y.Z -m "Release vX.Y.Z"
209
+ git push origin vX.Y.Z
210
+ ```
173
211
 
174
- You can set up a [GitHub Actions workflow](https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-python#publishing-to-pypi) to automatically deploy your package to PyPI when you push a new tag.
212
+ 5. GitHub Actions publishes to PyPI automatically. Check the Actions tab to verify.
175
213
 
176
214
  ## Code of Conduct
177
215
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: redprobe
3
- Version: 0.1.4
3
+ Version: 0.1.6
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>
@@ -24,7 +24,7 @@ Dynamic: license-file
24
24
 
25
25
  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.
26
26
 
27
- ![RedProbe CLI](docs/cli.png)
27
+ ![RedProbe CLI](https://i.imgur.com/IAT0f7o.png)
28
28
 
29
29
  > **For authorized security testing only.** You must only test systems you own or have written permission to test. See [Responsible Use](#responsible-use) below.
30
30
 
@@ -351,6 +351,22 @@ uvx redprobe run probes/ \
351
351
 
352
352
  RedProbe works with any API that implements the OpenAI chat completions format (`/v1/chat/completions`). Set the base URL and model accordingly.
353
353
 
354
+ ## RedProbe vs PyRIT
355
+
356
+ | Aspect | RedProbe | [PyRIT](https://github.com/Azure/PyRIT) |
357
+ |--------|----------|-------|
358
+ | **Complexity** | Simple CLI, run with `uvx redprobe` | Full framework requiring Python setup and code |
359
+ | **Learning Curve** | Minutes: write YAML, run command | Hours/days: learn Python API, orchestrators, converters |
360
+ | **Probe Definition** | YAML files with patterns | Python code with attack strategies |
361
+ | **Target** | Any OpenAI-compatible API | Multi-modal, multi-platform (Azure, Hugging Face, etc.) |
362
+ | **Detection** | Regex/string pattern matching | LLM-based scoring, custom scorers |
363
+ | **Automation** | Run probes, get results | Multi-turn conversations, attack chaining, prompt mutation |
364
+ | **Use Case** | Quick safety validation, CI/CD checks | Deep red teaming operations, research |
365
+
366
+ **Use RedProbe** for quick safety checks, CI/CD integration, or testing specific prompts with minimal setup.
367
+
368
+ **Use PyRIT** for extensive multi-day red teaming, multi-turn attack strategies, or deep security research.
369
+
354
370
  ## License
355
371
 
356
372
  BUSL 1.1. See [RESPONSIBLE_USE.md](RESPONSIBLE_USE.md) for usage guidelines.
@@ -2,7 +2,7 @@
2
2
 
3
3
  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.
4
4
 
5
- ![RedProbe CLI](docs/cli.png)
5
+ ![RedProbe CLI](https://i.imgur.com/IAT0f7o.png)
6
6
 
7
7
  > **For authorized security testing only.** You must only test systems you own or have written permission to test. See [Responsible Use](#responsible-use) below.
8
8
 
@@ -329,6 +329,22 @@ uvx redprobe run probes/ \
329
329
 
330
330
  RedProbe works with any API that implements the OpenAI chat completions format (`/v1/chat/completions`). Set the base URL and model accordingly.
331
331
 
332
+ ## RedProbe vs PyRIT
333
+
334
+ | Aspect | RedProbe | [PyRIT](https://github.com/Azure/PyRIT) |
335
+ |--------|----------|-------|
336
+ | **Complexity** | Simple CLI, run with `uvx redprobe` | Full framework requiring Python setup and code |
337
+ | **Learning Curve** | Minutes: write YAML, run command | Hours/days: learn Python API, orchestrators, converters |
338
+ | **Probe Definition** | YAML files with patterns | Python code with attack strategies |
339
+ | **Target** | Any OpenAI-compatible API | Multi-modal, multi-platform (Azure, Hugging Face, etc.) |
340
+ | **Detection** | Regex/string pattern matching | LLM-based scoring, custom scorers |
341
+ | **Automation** | Run probes, get results | Multi-turn conversations, attack chaining, prompt mutation |
342
+ | **Use Case** | Quick safety validation, CI/CD checks | Deep red teaming operations, research |
343
+
344
+ **Use RedProbe** for quick safety checks, CI/CD integration, or testing specific prompts with minimal setup.
345
+
346
+ **Use PyRIT** for extensive multi-day red teaming, multi-turn attack strategies, or deep security research.
347
+
332
348
  ## License
333
349
 
334
350
  BUSL 1.1. See [RESPONSIBLE_USE.md](RESPONSIBLE_USE.md) for usage guidelines.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "redprobe"
3
- version = "0.1.4"
3
+ version = "0.1.6"
4
4
  description = "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
  readme = "README.md"
6
6
  authors = [
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: redprobe
3
- Version: 0.1.4
3
+ Version: 0.1.6
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>
@@ -24,7 +24,7 @@ Dynamic: license-file
24
24
 
25
25
  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.
26
26
 
27
- ![RedProbe CLI](docs/cli.png)
27
+ ![RedProbe CLI](https://i.imgur.com/IAT0f7o.png)
28
28
 
29
29
  > **For authorized security testing only.** You must only test systems you own or have written permission to test. See [Responsible Use](#responsible-use) below.
30
30
 
@@ -351,6 +351,22 @@ uvx redprobe run probes/ \
351
351
 
352
352
  RedProbe works with any API that implements the OpenAI chat completions format (`/v1/chat/completions`). Set the base URL and model accordingly.
353
353
 
354
+ ## RedProbe vs PyRIT
355
+
356
+ | Aspect | RedProbe | [PyRIT](https://github.com/Azure/PyRIT) |
357
+ |--------|----------|-------|
358
+ | **Complexity** | Simple CLI, run with `uvx redprobe` | Full framework requiring Python setup and code |
359
+ | **Learning Curve** | Minutes: write YAML, run command | Hours/days: learn Python API, orchestrators, converters |
360
+ | **Probe Definition** | YAML files with patterns | Python code with attack strategies |
361
+ | **Target** | Any OpenAI-compatible API | Multi-modal, multi-platform (Azure, Hugging Face, etc.) |
362
+ | **Detection** | Regex/string pattern matching | LLM-based scoring, custom scorers |
363
+ | **Automation** | Run probes, get results | Multi-turn conversations, attack chaining, prompt mutation |
364
+ | **Use Case** | Quick safety validation, CI/CD checks | Deep red teaming operations, research |
365
+
366
+ **Use RedProbe** for quick safety checks, CI/CD integration, or testing specific prompts with minimal setup.
367
+
368
+ **Use PyRIT** for extensive multi-day red teaming, multi-turn attack strategies, or deep security research.
369
+
354
370
  ## License
355
371
 
356
372
  BUSL 1.1. See [RESPONSIBLE_USE.md](RESPONSIBLE_USE.md) for usage guidelines.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes