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.
- {redprobe-0.1.4 → redprobe-0.1.6}/CONTRIBUTING.md +46 -8
- {redprobe-0.1.4 → redprobe-0.1.6}/PKG-INFO +18 -2
- {redprobe-0.1.4 → redprobe-0.1.6}/README.md +17 -1
- {redprobe-0.1.4 → redprobe-0.1.6}/pyproject.toml +1 -1
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe.egg-info/PKG-INFO +18 -2
- {redprobe-0.1.4 → redprobe-0.1.6}/HISTORY.md +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/LICENSE +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/MANIFEST.in +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/docs/cli.png +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/docs/index.md +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/docs/installation.md +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/docs/usage.md +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/setup.cfg +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/__init__.py +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/__main__.py +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/cli.py +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/client.py +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/consent.py +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/probes.py +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/redprobe.py +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/reporter.py +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/runner.py +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe/utils.py +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe.egg-info/SOURCES.txt +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe.egg-info/dependency_links.txt +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe.egg-info/entry_points.txt +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe.egg-info/requires.txt +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/src/redprobe.egg-info/top_level.txt +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/tests/__init__.py +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/tests/test_cli.py +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/tests/test_probes.py +0 -0
- {redprobe-0.1.4 → redprobe-0.1.6}/tests/test_redprobe.py +0 -0
- {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
|
-
##
|
|
164
|
+
## Releasing to PyPI
|
|
165
165
|
|
|
166
|
-
|
|
166
|
+
### First-Time Setup (One-Time)
|
|
167
167
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-

|
|
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
|
-

|
|
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.
|
|
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.
|
|
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
|
-

|
|
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
|
|
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
|