Skip to content

eudk/eugdatacore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Last Commit License Repo Size Python FastAPI

English version: README.en.md

Eugdata Core

 _____                 _       _        
| ____|_   _  __ _  __| | __ _| |_ __ _ 
|  _| | | | |/ _` |/ _` |/ _` | __/ _` |
| |___| |_| | (_| | (_| | (_| | || (_| |
|_____|\__,_|\__, |\__,_|\__,_|\__\__,_|
             |___/                      

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.

system overview

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.

Folderstruktur

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

Installation

Installer nødvendige Python-pakker:

py -m pip install -r requirements.txt

Generer syntetisk data:

py data\scripts\generate_data.py

Start 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

API-Struktur

Status og data

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

AI-agent og tools

POST /api/agent/run
POST /api/tools/read-document
POST /api/tools/send-email
POST /api/tools/send-document

Testscenarier

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

Policy-regler

GET /api/policy/rules

CRUD

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.

Reset

POST /api/reset-logs

Nulstiller runtime logs og fake email-events.

Versioner

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.

Fake Email

Systemet sender ikke rigtige emails. Emailhandlinger gemmes lokalt i:

data/generated/emails_sent.json

Dette bruges til sikker test af exfiltration uden rigtig afsendelse.

About

BSc-projekt: lokal sikkerhedsprototype til test af AI-agenters værktøjsadgang, runtime policy og audit-evidens i et simuleret virksomhedsmiljø.🇩🇰

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors