mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-19 13:10:03 +00:00
spec(access-control-prover): the checker gains an opt-in premise and the unguarded_path label
Codex stopped on a real conflict: with path records and no clause or sibling norm the checker returns no finding by design. The prover's premise (a recognised entry is protected unless declared public) is now an opt-in keyword with its own label and evidence, default off, existing behaviour and tests unchanged. Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
74a529825d
commit
e514551cb6
@@ -9,6 +9,15 @@
|
||||
- _Requirements: 3.1, 3.2, 3.3, 3.4, 3.5, 3.6_
|
||||
- _Boundary: obligations.paths_
|
||||
|
||||
- [ ] 1.2 Checker opt-in `assume_entries_protected` and label `unguarded_path` in `semantic/obligations/check.py`
|
||||
- Default off; `_finding` receives the entry records' access by handler; evidence as the design states;
|
||||
`findings_to_static` explains the label; `LABELS` updated
|
||||
- Done when the existing checker tests pass unchanged and a new test shows: with paths, no policy, no siblings,
|
||||
the default gives no finding and the opt-in gives one `unguarded_path` finding for a non-public entry and none
|
||||
for an entry whose record access is `public`
|
||||
- _Requirements: 4.1a_
|
||||
- _Boundary: obligations.check (opt-in only)_
|
||||
|
||||
- [ ] 2. Entry recognisers
|
||||
- [ ] 2.1 Stapler and Jetty recognisers in `mapping.py` (P)
|
||||
- Public `do[A-Z]...` methods on exposed types or with Stapler-typed or `@QueryParameter` parameters; Jetty
|
||||
|
||||
Reference in New Issue
Block a user