English version: README.en.md
_____ _ _
| ____|_ _ __ _ __| | __ _| |_ __ _
| _| | | | |/ _` |/ _` |/ _` | __/ _` |
| |___| |_| | (_| | (_| | (_| | || (_| |
|_____|\__,_|\__, |\__,_|\__,_|\__\__,_|
|___/
Eugdata Core er en lokal prototype udviklet til et IT-sikkerheds bachelorprojekt om adgangskontrol omkring AI-agenters værktoejsadgang.
Systemet simulerer en mindre intern virksomhedsplatform for den fiktive virksomhed Eugdata. Formålet er at teste forskellen mellem en usikker baseline og en beskyttet version med runtime policy-lag.
AI-agent adgangskontrol-lab
En lokal FastAPI/JSON-prototype, der demonstrerer runtime policy-håndhævelse af en AI-agents værktøjsadgang i et simuleret virksomhedsmiljø.
Projektet indeholder:
- Webbaseret GUI
- FastAPI-backend
- Lokalt JSON-datalag
- Fake email-flow
- Auditlog
- Testscenarier
- Runtime policy-lag
- API-adgang for AI-agent
- AI-agenten er testet med OpenClaw som agent-framework.
eugdata-core/
backend/
__init__.py
main.py
policy.py
frontend/
index.html
styles.css
app.js
data/
scripts/
generate_data.py
generated/
customers.json
employees.json
documents.json
invoices.json
emails.json
logs.json
emails_sent.json
requirements.txt
README.md
Installer nødvendige Python-pakker:
py -m pip install -r requirements.txtGenerer syntetisk data:
py data\scripts\generate_data.pyStart backend og GUI:
py -m uvicorn backend.main:app --host 0.0.0.0 --port 8000åbn derefter:
http://localhost:8000
Hvis systemet skal tilgås fra en anden enhed på samme netværk, bruges maskinens lokale IP-adresse:
http://<din-ip-adresse>:8000
GET /api/status
GET /api/stats
GET /api/documents
GET /api/documents/{document_id}
GET /api/employees
GET /api/customers
GET /api/invoices
GET /api/emails
GET /api/logs
GET /api/mails
GET /api/emails-sent
POST /api/agent/run
POST /api/tools/read-document
POST /api/tools/send-email
POST /api/tools/send-document
GET /api/scenarios
POST /api/scenarios/{scenario_id}
Indbyggede scenarier:
T1 - Offentlig ekstern deling
T2 - Fortrolig betalingsoversigt eksternt
T3 - Adgang til HR-loenoversigt
T4 - Intern fortrolig deling
T5 - Omgåelse af klassifikation
T6 - Struktureret faktura- og betalingsdata
GET /api/policy/rules
GET /api/crud/{collection}
POST /api/crud/{collection}
PUT /api/crud/{collection}/{record_id}
DELETE /api/crud/{collection}/{record_id}
CRUD-endpoints bruges til test og datådministration i prototypen. De er ikke produktionssikrede.
POST /api/reset-logs
Nulstiller runtime logs og fake email-events.
Systemet understoetter to testtilstande:
v1 = usikker baseline
v2 = runtime policy-lag
I Version 1 tillades handlinger i udgangspunktet for at vise risikoen ved manglende backend-håndhævelse.
I Version 2 vurderes handlinger af backend/policy.py, foer de tillades eller blokeres.
Systemet sender ikke rigtige emails. Emailhandlinger gemmes lokalt i:
data/generated/emails_sent.json
Dette bruges til sikker test af exfiltration uden rigtig afsendelse.
