De app kijkt naar zijn eigen voordeur, en meet minder dan het plan beloofde
Open punt 5 van Webinterface, goedgekeurd en gebouwd. De agent verbindt met de eigen TLS-poort, maakt de handdruk af en vergelijkt het getoonde certificaat byte voor byte met het gekozen bestand. Die vergelijking blijkt waardevoller dan de handdruk. Ze vangt een certificaatwissel die nginx nooit heeft toegepast, en dat is precies het geval waar een controle op vertrouwen blind voor is. Er wordt daarom bewust niet tegen de certificaatwinkel van het besturingssysteem geverifieerd: een zelfondertekend certificaat uploaden is een ondersteunde bron en die opstelling zou dan als kapot gemeld worden. Twee dingen liepen anders dan het plan zei en staan nu rechtgezet in PLAN 4a2, OPEN punt 5 en de changelog. De belofte "luisteren, certificaat en doorverbinding in een keer" klopt voor twee van de drie: na de handdruk wordt er niets verstuurd. Een echt verzoek zou de sessie bytes geven, en sessies met bytes worden nooit uit het activiteitenlog gefilterd, want die kunnen een storing zijn. En dat filteren was de tweede verrassing. Elke meting is voor nginx een gewone sessie en levert dus een logregel op; zonder rem ging het log over onszelf in plaats van over wallets. Er zit nu een rem van vijf minuten op, er wordt niet gemeten vlak na een herlading omdat het vorige certificaat er dan nog staat, en de eigen regels worden weggelaten op grond van het moment. Tests: 22 nieuw, met de nadruk op de niet-gelukkige paden en op de rem, want dat is wat het log bruikbaar houdt. Alle vier de beslissende regels mutatie-getest. De changelog kreeg ook de ontbrekende 0.0.15 erbij. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -231,11 +231,20 @@ deze indeling zelf oproept.
|
||||
**Volgorde: eerst de zelfcontrole, dan de opmaak.** Die eerste is het enige echte nieuwe werk en hij levert
|
||||
de vijfde widget; de rest is de pagina verbouwen om wat er dan staat.
|
||||
|
||||
- [ ] **De zelfcontrole bouwen (open punt 5, goedgekeurd 27-08-2026).** De agent zet een TLS-verbinding naar
|
||||
zijn eigen poort 50022 op en maakt de handdruk af. Dat bewijst luisteren, certificaat en
|
||||
doorverbinding in één keer. Raakt de agent, dus **mét test, en de test gaat over het niet-gelukkige
|
||||
pad**: geen certificaat, poort niet open, handdruk geweigerd. Wat de widget bij een mislukking toont,
|
||||
hoort bij het bouwen bedacht te worden en niet erna
|
||||
- [x] **De zelfcontrole gebouwd in 0.0.16 (27-08-2026).** De agent verbindt met poort 50022 van de
|
||||
nginx-container ernaast, maakt de handdruk af en vergelijkt het getoonde certificaat byte voor byte
|
||||
met het gekozen bestand. Die vergelijking is het punt: een herlading die niet aankwam ziet er van
|
||||
buiten goed uit. Vier toestanden in `status.json` onder `tls.self_check`: `off`, `ok`,
|
||||
`wrong-certificate`, `failed`. Bij een wijziging komt er een regel in het activiteitenlog
|
||||
|
||||
**Twee dingen die bij het bouwen anders liepen dan het plan zei.** Ten eerste bewijst de controle de
|
||||
doorverbinding naar de Electrum-server **niet**; zie §4a2 voor waarom dat een bewuste ruil is. Ten
|
||||
tweede bleek elke meting een sessieregel op te leveren, dus er zit nu een rem op (vijf minuten) en
|
||||
een filter die de eigen regels weglaat. Zonder die twee ging het activiteitenlog over onszelf
|
||||
|
||||
Getest in `tests/test_agent_zelfcontrole.py`, 22 toetsen, met de nadruk op de niet-gelukkige paden:
|
||||
geen certificaat, dichte poort, iets dat luistert maar geen TLS spreekt, en een ander certificaat aan
|
||||
de lijn. Alle vier de beslissende regels zijn mutatie-getest
|
||||
- [ ] Rij 1 wordt vijf gelijke widgets: Electrum-server, blokhoogte, reactietijd, certificaat, zelfcontrole
|
||||
- [ ] Een eigen raster van vijf kolommen voor die rij, en beslissen wat er tussen "vijf naast elkaar" en
|
||||
"gestapeld op mobiel" gebeurt. Vijf valt niet netjes in twaalf kolommen; dit is nieuw werk
|
||||
|
||||
Reference in New Issue
Block a user