Commit c48e0fc
Add processContainer.captureDenials config for Windows denial capture (#663)
* Add processContainer.captureDenials config for Windows denial capture
Introduce a captureDenials object under processContainer that enables the
Windows deny-and-record learning-mode trace. Presence enables capture; an
optional outputPath names where the ETL trace is sealed (validated absolute
with an existing parent), otherwise the runner falls back to a managed
per-run temp file. Config plumbing only: wire model, ContainerPolicy, parser
validation, regenerated dev schema + SDK wire types, docs, and an example.
Capability auto-injection and the runner trace wiring land in the follow-up
integration PR (on top of #622 + #661).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Allow-list processContainer.captureDenials as a wire-only field in SDK conformance oracle
Mirror the existing learningMode treatment: captureDenials is a wire field the SDK does not surface through the policy API yet, so the compile-time conformance test must include it in the ProcessContainer OnlyInWire allow-list.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address PR review: reject root outputPath, fix doc/example, rename test
- validate_capture_denials_output_path now rejects filesystem-root paths (Path::parent()==None), with a new unit test.
- wire.rs doc drops the unverified 'and be writable' claim (validation only checks parent existence); schema + SDK types regenerated.
- Example 29 and docs/schema.md no longer show a C:\\logs path whose parent may not exist (example omits outputPath; docs note the parent must already exist).
- Renamed capture_denials_threads_... test to capture_denials_accepts_... for clarity.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add captureDenials.mode selector (block-and-log / allow-and-log)
Introduce a CaptureDenialsMode enum on the captureDenials config object so a single learning-mode surface chooses between block-and-log (default; deny-by-default preserved) and allow-and-log (audit; relaxes deny-by-default, emits a security warning). Both modes record every ungranted access check; mode only decides block vs allow.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Shorten capture denial mode names
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: dfea4d42-e8a5-42ef-978a-6434e8bf89ec
* Reject directory paths for denial traces
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: dfea4d42-e8a5-42ef-978a-6434e8bf89ec
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: dfea4d42-e8a5-42ef-978a-6434e8bf89ec1 parent 657c2c8 commit c48e0fc
8 files changed
Lines changed: 439 additions & 8 deletions
File tree
- docs
- schemas/dev
- sdk/node
- src/generated
- tests/unit
- src/core/wxc_common/src
- tests/examples
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
63 | 71 | | |
64 | 72 | | |
65 | 73 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
47 | 91 | | |
48 | 92 | | |
49 | 93 | | |
| |||
646 | 690 | | |
647 | 691 | | |
648 | 692 | | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
649 | 704 | | |
650 | 705 | | |
651 | 706 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
40 | 59 | | |
41 | 60 | | |
42 | 61 | | |
| |||
299 | 318 | | |
300 | 319 | | |
301 | 320 | | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
302 | 325 | | |
303 | 326 | | |
304 | 327 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
199 | 199 | | |
200 | 200 | | |
201 | 201 | | |
202 | | - | |
203 | | - | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
204 | 205 | | |
205 | | - | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
206 | 210 | | |
207 | 211 | | |
208 | 212 | | |
| |||
0 commit comments