Harden SSH and profile resolution boundaries
Some checks failed
ci / validate (push) Has been cancelled
Some checks failed
ci / validate (push) Has been cancelled
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a0233b-178d-7162-b92f-31a31ea8ca9b
This commit is contained in:
parent
60564fda68
commit
695438019c
8 changed files with 176 additions and 10 deletions
66
workplans/GLAS-WP-0010-transport-and-resolution-hardening.md
Normal file
66
workplans/GLAS-WP-0010-transport-and-resolution-hardening.md
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
---
|
||||
id: GLAS-WP-0010
|
||||
type: workplan
|
||||
title: "Harden SSH transport and profile refusal coverage"
|
||||
domain: infotech
|
||||
repo: glas-harness
|
||||
status: finished
|
||||
owner: codex
|
||||
topic_slug: transport-and-resolution-hardening
|
||||
created: "2026-08-23"
|
||||
updated: "2026-08-23"
|
||||
---
|
||||
|
||||
# Harden SSH transport and profile refusal coverage
|
||||
|
||||
## Reject option-like SSH targets
|
||||
|
||||
```task
|
||||
id: GLAS-WP-0010-T01
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
Require the optional SSH user and host components to begin with an
|
||||
alphanumeric character, terminate SSH option parsing explicitly, and cover
|
||||
both descriptor validation and direct transport construction with regression
|
||||
tests.
|
||||
|
||||
**Completed 2026-08-23:** SSH user and host components must now start with an
|
||||
alphanumeric character, the constructed command includes the `--` option
|
||||
terminator, and both factory-created and directly constructed transports reject
|
||||
option-like targets. Focused transport tests pass.
|
||||
|
||||
## Pin multi-revision profile selection semantics
|
||||
|
||||
```task
|
||||
id: GLAS-WP-0010-T02
|
||||
status: done
|
||||
priority: medium
|
||||
```
|
||||
|
||||
Retain the safer resolver behavior in which every revision, including a
|
||||
disabled revision, makes an unpinned selector ambiguous. Correct the profile
|
||||
documentation and add mixed enabled/disabled coverage.
|
||||
|
||||
**Completed 2026-08-23:** documentation now matches the existing fail-closed
|
||||
resolver: every revision participates in unpinned ambiguity, while a pinned
|
||||
disabled revision refuses. A mixed enabled/disabled catalog test locks in both
|
||||
properties.
|
||||
|
||||
## Prove pre-sandbox refusal and publish
|
||||
|
||||
```task
|
||||
id: GLAS-WP-0010-T03
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
Add gateway tests proving disabled and ambiguous selections cannot call
|
||||
sand-boxer, run the full suite and catalog validation, synchronize the
|
||||
workplan, publish, and retain any actionable leftovers as live residuals.
|
||||
|
||||
**Completed 2026-08-23:** real-catalog gateway tests prove disabled and
|
||||
ambiguous selectors return normalized resolution refusals without calling
|
||||
sand-boxer. All 72 tests, catalog validation, and whitespace checks pass. No
|
||||
actionable leftover was discovered, so no residual was created.
|
||||
Loading…
Add table
Add a link
Reference in a new issue