- DNS: pilot.landvex.com -> 16.170.83.169 - TLS: Let's Encrypt certificate (expires 2026-09-30) - Nginx: reverse proxy with SSL termination - API: https://pilot.landvex.com/api/v1/missions - UI: https://pilot.landvex.com/ - Upload: POST /api/v1/missions/import (multipart/form-data) Verified: ✅ https://pilot.landvex.com/health ✅ https://pilot.landvex.com/version ✅ https://pilot.landvex.com/api/v1/missions (list) ✅ https://pilot.landvex.com/api/v1/missions/:id (get) ✅ POST /api/v1/missions/import (video upload) ✅ UI loads with title 'LandveX Intelligence Lab' Next: Pilot 001 — Break the system!
4.9 KiB
SÄKERHETSINCIDENT — STOP-005-CRIT
ID: STOP-005-CRIT Datum upptäckt: 2026-07-01T13:19Z Datum öppnad: 2026-07-01T13:19Z Status: OPEN — väntar på kontrollerad rotationsprocess Allvarlighetsgrad: CRITICAL Upptäckt av: Autonom systemrevision (Bernt) Ägare: Erik Svensson (tills dess att ansvarig tilldelas)
Tidslinje
| Tid | Händelse | Aktör |
|---|---|---|
| 2026-07-01T13:19Z | Incident upptäckt vid autonom revision | Bernt |
| 2026-07-01T13:19Z | Nya hemligheter genererade (TEMPORÄRA) | Bernt |
| 2026-07-01T13:19Z | Incidentrapport skapad | Bernt |
| 2026-07-01T13:22Z | Erik granskade och godkände agentens beteende (stoppade deploy) | Erik |
| 2026-07-01T13:22Z | Beslut: Ingen manuell systemd-redigering | Erik |
| 2026-07-01T13:22Z | Beslut: Terraform-bas prioriteras före rotation | Erik |
| TBD | Kontrollerad rotationsprocess genomförs | TBD |
| TBD | Verifiering att gamla hemligheter ej fungerar | TBD |
| TBD | Post mortem | TBD |
Potentiell exponering
Vad som exponerats
Hemligheter har lagrats i klartext i systemd-servicefil på EC2-instans.
Vem som kan ha läst dem
- Användare med root-access på servern
- Användare med sudo-access
- Processer som läser systemd-konfiguration
- Eventuella loggar som sparat miljövariabler
Okänt
- Om filen har kopierats/lästs av obehöriga
- Om hemligheter loggats vid service-start
- Om hemligheter finns i backup/snapshot
Påverkade system
| System | Påverkan | Status |
|---|---|---|
| aamos-ledger (port 3250) | JWT_SECRET exponerad | NEDSTÄNGD |
| aamos-bank-import | Använder samma JWT | AKTIV — risk |
| PostgreSQL (RDS) | Lösenord exponerat | AKTIV — risk |
| Redis | Lösenord exponerat | AKTIV — risk |
| 20 ticket-agenter | Kan använda JWT | AKTIV — risk |
Berörda hemligheter
| Hemlighet | Plats | Risknivå |
|---|---|---|
| JWT_SECRET | /etc/systemd/system/aamos-ledger.service |
Kritisk |
| LEDGER_INTERNAL_TOKEN | /etc/systemd/system/aamos-ledger.service |
Kritisk |
| DATABASE_URL (med lösenord) | /etc/systemd/system/aamos-ledger.service |
Kritisk |
| REDIS_URL (med lösenord) | /etc/systemd/system/aamos-ledger.service |
Kritisk |
Riskbedömning
| Risk | Betyg | Motivering |
|---|---|---|
| Exponering | HÖG | Filen är läsbar för root och alla med sudo-access |
| Påverkan | Kritisk | JWT_SECRET ger full access till alla tjänster |
| Sannolikhet för missbruk | Okänd | Kan inte fastställa om filen har läsats av obehöriga |
| Total risk | CRITICAL | S × K × E = 5 × 5 × 4 = 100 |
Beslut
Beslut 1: Ingen manuell systemd-redigering
Fattad av: Erik Svensson Datum: 2026-07-01T13:22Z Motivering: Undvika ytterligare manuella avvikelser. Lösning ska gå genom IaC.
Beslut 2: Terraform-bas prioriteras
Fattad av: Erik Svensson Datum: 2026-07-01T13:22Z Motivering: Säkerhetsarbete blir enklare när infrastrukturen är versionshanterad.
Beslut 3: Temporära hemligheter förstörs
Fattad av: Erik Svensson Datum: 2026-07-01T13:22Z Motivering: Hemligheter skapade under revision är temporära tills kontrollerad process genomförs.
Åtgärdsplan
Omedelbart (inom 24h)
- Förstör temporära hemligheter (
/tmp/secret-rotation-2026-07-01/) - Skapa Terraform-bas för aamos-ledger
- Definiera hemlighetshantering i Terraform (AWS Secrets Manager)
Kortsiktigt (inom 1 vecka)
- Implementera kontrollerad rotationsprocess
- Rotera alla berörda hemligheter genom processen
- Uppdatera systemd-service att läsa från Secrets Manager
- Verifiera att gamla hemligheter inte fungerar
- Starta aamos-ledger med nya hemligheter
Långsiktigt (inom 1 månad)
- Implementera automatisk secret rotation
- EOS-policy som blockerar deploy om hemligheter hittas i konfiguration
- Post mortem
Verifiering efter rotation
curlmed gammalt JWT → 401 Unauthorizedcurlmed nytt JWT → 200 OK- Databasanslutning med gammalt lösenord → nekad
- Databasanslutning med nytt lösenord → godkänd
- Redis-anslutning med gammalt lösenord → nekad
- Redis-anslutning med nytt lösenord → godkänd
- aamos-ledger startar och svarar på health check
- Ingen hemlighet i klartext i systemd-fil
Post mortem (efter avslutad rotation)
Datum: TBD Deltagare: TBD
Vad som gick fel
TBD
Varför det upptäcktes nu
TBD
Hur det kan förhindras i framtiden
TBD
Lärdomar
TBD
Referenser
- Engineering Contract §5: "Ingen hemlighet i konfiguration"
- STOP-005-CRIT i EOS/audit-findings-2026-07-01.jsonl
- Revisionsrapport: EOS/audit-summary-2026-07-01.md
Incident skapad av autonom revision Senast uppdaterad: 2026-07-01T13:22Z Nästa granskning: Efter Terraform-bas är klar