sentinelprobe 0.9.0__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 (35) hide show
  1. sentinelprobe-0.9.0/LICENSE +22 -0
  2. sentinelprobe-0.9.0/MANIFEST.in +1 -0
  3. sentinelprobe-0.9.0/PKG-INFO +147 -0
  4. sentinelprobe-0.9.0/README.md +130 -0
  5. sentinelprobe-0.9.0/docs/usage.md +581 -0
  6. sentinelprobe-0.9.0/prompt_injection_harness/README.md +22 -0
  7. sentinelprobe-0.9.0/prompt_injection_harness/__init__.py +3 -0
  8. sentinelprobe-0.9.0/prompt_injection_harness/browser_targets/claude_template.json +20 -0
  9. sentinelprobe-0.9.0/prompt_injection_harness/browser_targets/glean_template.json +20 -0
  10. sentinelprobe-0.9.0/prompt_injection_harness/cases/agent_file_prompt_injection.yaml +199 -0
  11. sentinelprobe-0.9.0/prompt_injection_harness/cases/codegen_boundary.yaml +98 -0
  12. sentinelprobe-0.9.0/prompt_injection_harness/cases/direct_advanced_prompt_injection.yaml +319 -0
  13. sentinelprobe-0.9.0/prompt_injection_harness/cases/direct_prompt_injection.yaml +187 -0
  14. sentinelprobe-0.9.0/prompt_injection_harness/cases/indirect_prompt_injection.yaml +304 -0
  15. sentinelprobe-0.9.0/prompt_injection_harness/cases/secret_boundary.yaml +62 -0
  16. sentinelprobe-0.9.0/prompt_injection_harness/cases.py +260 -0
  17. sentinelprobe-0.9.0/prompt_injection_harness/compare.py +104 -0
  18. sentinelprobe-0.9.0/prompt_injection_harness/doctor.py +179 -0
  19. sentinelprobe-0.9.0/prompt_injection_harness/examples/vulnerable_echo_target.py +46 -0
  20. sentinelprobe-0.9.0/prompt_injection_harness/html_reports.py +287 -0
  21. sentinelprobe-0.9.0/prompt_injection_harness/pi_harness.py +954 -0
  22. sentinelprobe-0.9.0/prompt_injection_harness/providers.py +266 -0
  23. sentinelprobe-0.9.0/prompt_injection_harness/reports.py +119 -0
  24. sentinelprobe-0.9.0/prompt_injection_harness/requirements.txt +2 -0
  25. sentinelprobe-0.9.0/prompt_injection_harness/scoring.py +115 -0
  26. sentinelprobe-0.9.0/prompt_injection_harness/wrappers/__init__.py +2 -0
  27. sentinelprobe-0.9.0/prompt_injection_harness/wrappers/claude_code_wrapper.py +273 -0
  28. sentinelprobe-0.9.0/pyproject.toml +49 -0
  29. sentinelprobe-0.9.0/sentinelprobe.egg-info/PKG-INFO +147 -0
  30. sentinelprobe-0.9.0/sentinelprobe.egg-info/SOURCES.txt +33 -0
  31. sentinelprobe-0.9.0/sentinelprobe.egg-info/dependency_links.txt +1 -0
  32. sentinelprobe-0.9.0/sentinelprobe.egg-info/entry_points.txt +5 -0
  33. sentinelprobe-0.9.0/sentinelprobe.egg-info/requires.txt +4 -0
  34. sentinelprobe-0.9.0/sentinelprobe.egg-info/top_level.txt +1 -0
  35. sentinelprobe-0.9.0/setup.cfg +4 -0
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 SentinelProbe contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
@@ -0,0 +1 @@
1
+ include docs/*.md
@@ -0,0 +1,147 @@
1
+ Metadata-Version: 2.4
2
+ Name: sentinelprobe
3
+ Version: 0.9.0
4
+ Summary: Authorized AI prompt-injection and agent-boundary testing CLI
5
+ Author: SentinelProbe contributors
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/jashidsany/sentinelprobe
8
+ Project-URL: Repository, https://github.com/jashidsany/sentinelprobe
9
+ Project-URL: Issues, https://github.com/jashidsany/sentinelprobe/issues
10
+ Requires-Python: >=3.10
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: PyYAML>=6.0.1
14
+ Provides-Extra: browser
15
+ Requires-Dist: playwright>=1.44.0; extra == "browser"
16
+ Dynamic: license-file
17
+
18
+ # SentinelProbe
19
+
20
+ SentinelProbe is a CLI for authorized AI prompt-injection and agent-boundary testing. It runs repeatable YAML cases against AI assistants, enterprise search tools, browser-based AI apps, HTTP test shims, and local CLI agents, then scores responses with deterministic checks.
21
+
22
+ Use it only with approved systems, approved accounts, fake documents, and fake secrets.
23
+
24
+ ## Install
25
+
26
+ From source:
27
+
28
+ ```bash
29
+ python3 -m pip install .
30
+ ```
31
+
32
+ For isolated installs:
33
+
34
+ ```bash
35
+ pipx install .
36
+ ```
37
+
38
+ For browser automation:
39
+
40
+ ```bash
41
+ python3 -m pip install '.[browser]'
42
+ python3 -m playwright install chromium
43
+ ```
44
+
45
+ After PyPI publishing:
46
+
47
+ ```bash
48
+ pipx install sentinelprobe
49
+ ```
50
+
51
+ ## Quick Start
52
+
53
+ Check local setup:
54
+
55
+ ```bash
56
+ sentinelprobe doctor
57
+ sentinelprobe doctor --target claude-code
58
+ sentinelprobe doctor --target browser
59
+ ```
60
+
61
+ List bundled suites:
62
+
63
+ ```bash
64
+ sentinelprobe list-suites
65
+ ```
66
+
67
+ Run the local mock baseline:
68
+
69
+ ```bash
70
+ sentinelprobe run --cases builtin --provider mock --verbose
71
+ ```
72
+
73
+ Run Claude Code with response-only defaults:
74
+
75
+ ```bash
76
+ sentinelprobe claude-code
77
+ ```
78
+
79
+ Run file-based coding-agent prompt injection against Claude Code:
80
+
81
+ ```bash
82
+ sentinelprobe claude-code --test agent-files --agent-files --verbose --only-findings --html-report
83
+ ```
84
+
85
+ Limit cost during smoke tests:
86
+
87
+ ```bash
88
+ sentinelprobe claude-code --test indirect --mutations --limit 5 --verbose --only-findings
89
+ ```
90
+
91
+ Create HTML and trace artifacts:
92
+
93
+ ```bash
94
+ sentinelprobe claude-code --test agent-files --agent-files --html-report --trace-file reports/agent_files_trace.txt
95
+ ```
96
+
97
+ Compare two reports:
98
+
99
+ ```bash
100
+ sentinelprobe compare --before reports/baseline.json --after reports/latest.json --html-report
101
+ ```
102
+
103
+ Run source-tree regression checks during development:
104
+
105
+ ```bash
106
+ python3 scripts/check.py
107
+ python3 scripts/check.py --build --wheel-smoke
108
+ ```
109
+
110
+ ## Test Suites
111
+
112
+ - `direct-basic`: basic direct prompt injection cases.
113
+ - `direct-advanced`: advanced direct prompt injection cases.
114
+ - `direct`: basic plus advanced direct prompt injection.
115
+ - `indirect`: inline retrieved-content prompt injection cases.
116
+ - `agent-files`: file-based coding-agent prompt injection cases.
117
+ - `builtin`: all bundled cases.
118
+
119
+ Use `--mutations` to expand suites that define deterministic variants.
120
+
121
+ ## Providers
122
+
123
+ - `mock`: local safe baseline.
124
+ - `http`: approved API or internal test shim.
125
+ - `command`: local wrapper around a CLI agent.
126
+ - `browser`: Playwright-driven browser session for approved browser-based AI tools.
127
+
128
+ ## Reports
129
+
130
+ SentinelProbe writes JSON reports by default. Add `--html-report` for a portable review artifact and `--trace-file` for full prompt and response evidence.
131
+
132
+ Findings use:
133
+
134
+ - `pass`: no deterministic issue found.
135
+ - `review`: suspicious output or incomplete safe handling that needs human triage.
136
+ - `fail`: deterministic unsafe behavior, including fake secret leakage.
137
+
138
+ ## Documentation
139
+
140
+ Detailed usage, provider setup, case format, scoring behavior, browser workflow, and PyPI notes are in [docs/usage.md](docs/usage.md).
141
+
142
+ ## Safety Scope
143
+
144
+ - Use only approved systems and accounts.
145
+ - Use fake documents, fake secrets, and sandbox data.
146
+ - Do not test destructive actions, credential theft, persistence, malware, or bypass logic.
147
+ - Treat automated findings as triage signals that need manual validation.
@@ -0,0 +1,130 @@
1
+ # SentinelProbe
2
+
3
+ SentinelProbe is a CLI for authorized AI prompt-injection and agent-boundary testing. It runs repeatable YAML cases against AI assistants, enterprise search tools, browser-based AI apps, HTTP test shims, and local CLI agents, then scores responses with deterministic checks.
4
+
5
+ Use it only with approved systems, approved accounts, fake documents, and fake secrets.
6
+
7
+ ## Install
8
+
9
+ From source:
10
+
11
+ ```bash
12
+ python3 -m pip install .
13
+ ```
14
+
15
+ For isolated installs:
16
+
17
+ ```bash
18
+ pipx install .
19
+ ```
20
+
21
+ For browser automation:
22
+
23
+ ```bash
24
+ python3 -m pip install '.[browser]'
25
+ python3 -m playwright install chromium
26
+ ```
27
+
28
+ After PyPI publishing:
29
+
30
+ ```bash
31
+ pipx install sentinelprobe
32
+ ```
33
+
34
+ ## Quick Start
35
+
36
+ Check local setup:
37
+
38
+ ```bash
39
+ sentinelprobe doctor
40
+ sentinelprobe doctor --target claude-code
41
+ sentinelprobe doctor --target browser
42
+ ```
43
+
44
+ List bundled suites:
45
+
46
+ ```bash
47
+ sentinelprobe list-suites
48
+ ```
49
+
50
+ Run the local mock baseline:
51
+
52
+ ```bash
53
+ sentinelprobe run --cases builtin --provider mock --verbose
54
+ ```
55
+
56
+ Run Claude Code with response-only defaults:
57
+
58
+ ```bash
59
+ sentinelprobe claude-code
60
+ ```
61
+
62
+ Run file-based coding-agent prompt injection against Claude Code:
63
+
64
+ ```bash
65
+ sentinelprobe claude-code --test agent-files --agent-files --verbose --only-findings --html-report
66
+ ```
67
+
68
+ Limit cost during smoke tests:
69
+
70
+ ```bash
71
+ sentinelprobe claude-code --test indirect --mutations --limit 5 --verbose --only-findings
72
+ ```
73
+
74
+ Create HTML and trace artifacts:
75
+
76
+ ```bash
77
+ sentinelprobe claude-code --test agent-files --agent-files --html-report --trace-file reports/agent_files_trace.txt
78
+ ```
79
+
80
+ Compare two reports:
81
+
82
+ ```bash
83
+ sentinelprobe compare --before reports/baseline.json --after reports/latest.json --html-report
84
+ ```
85
+
86
+ Run source-tree regression checks during development:
87
+
88
+ ```bash
89
+ python3 scripts/check.py
90
+ python3 scripts/check.py --build --wheel-smoke
91
+ ```
92
+
93
+ ## Test Suites
94
+
95
+ - `direct-basic`: basic direct prompt injection cases.
96
+ - `direct-advanced`: advanced direct prompt injection cases.
97
+ - `direct`: basic plus advanced direct prompt injection.
98
+ - `indirect`: inline retrieved-content prompt injection cases.
99
+ - `agent-files`: file-based coding-agent prompt injection cases.
100
+ - `builtin`: all bundled cases.
101
+
102
+ Use `--mutations` to expand suites that define deterministic variants.
103
+
104
+ ## Providers
105
+
106
+ - `mock`: local safe baseline.
107
+ - `http`: approved API or internal test shim.
108
+ - `command`: local wrapper around a CLI agent.
109
+ - `browser`: Playwright-driven browser session for approved browser-based AI tools.
110
+
111
+ ## Reports
112
+
113
+ SentinelProbe writes JSON reports by default. Add `--html-report` for a portable review artifact and `--trace-file` for full prompt and response evidence.
114
+
115
+ Findings use:
116
+
117
+ - `pass`: no deterministic issue found.
118
+ - `review`: suspicious output or incomplete safe handling that needs human triage.
119
+ - `fail`: deterministic unsafe behavior, including fake secret leakage.
120
+
121
+ ## Documentation
122
+
123
+ Detailed usage, provider setup, case format, scoring behavior, browser workflow, and PyPI notes are in [docs/usage.md](docs/usage.md).
124
+
125
+ ## Safety Scope
126
+
127
+ - Use only approved systems and accounts.
128
+ - Use fake documents, fake secrets, and sandbox data.
129
+ - Do not test destructive actions, credential theft, persistence, malware, or bypass logic.
130
+ - Treat automated findings as triage signals that need manual validation.