75 lines
1.8 KiB
Plaintext
75 lines
1.8 KiB
Plaintext
@startuml
|
|
!define AWSPUML https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/v14.0/dist
|
|
|
|
title Threat Model - AI Home Lab Productivity Tool
|
|
|
|
' Trust Boundaries
|
|
package "Home Lab Network" {
|
|
package "Productivity Tool" {
|
|
component "Web UI" as web
|
|
component "CLI Interface" as cli
|
|
component "Scheduler" as scheduler
|
|
database "Task/Goal Storage" as db
|
|
component "AI Engine\n(Local LLM)" as ai
|
|
component "Export/Summary" as export
|
|
}
|
|
|
|
actor "User" as user
|
|
actor "Other Home Lab Services" as other_services
|
|
}
|
|
|
|
actor "External Attacker" as attacker
|
|
cloud "External Services\n(Optional)" as external
|
|
|
|
' Trust relationships
|
|
user --> web : Daily check-ins\n(personal data)
|
|
user --> cli : Task management
|
|
scheduler --> user : Notifications\n(task reminders)
|
|
|
|
web --> db : Store conversations
|
|
cli --> db : CRUD operations
|
|
ai --> db : Read context\nGenerate insights
|
|
scheduler --> ai : Trigger interviews
|
|
export --> db : Read history
|
|
export --> user : Reports\n(sensitive summaries)
|
|
|
|
' Attack surfaces
|
|
attacker ..> web : Network attack\n(if exposed)
|
|
attacker ..> db : File access\n(if unencrypted)
|
|
other_services ..> web : Lateral movement
|
|
other_services ..> db : File system access
|
|
|
|
web ..> external : API calls?\n(data exfiltration risk)
|
|
ai ..> external : Model updates?\n(supply chain risk)
|
|
|
|
' Key threats
|
|
note right of db
|
|
**CRITICAL ASSETS**
|
|
- Conversation histories
|
|
- Goal failure interviews
|
|
- Personal patterns
|
|
- Work habits data
|
|
|
|
**THREATS**
|
|
- Unauthorized access
|
|
- Data exfiltration
|
|
- Unencrypted backups
|
|
end note
|
|
|
|
note right of ai
|
|
**AI-SPECIFIC RISKS**
|
|
- Prompt injection
|
|
- Model poisoning
|
|
- Context leakage
|
|
- Malicious output
|
|
end note
|
|
|
|
note left of web
|
|
**ACCESS CONTROL**
|
|
- Authentication?
|
|
- Session management?
|
|
- Rate limiting?
|
|
- HTTPS enforcement?
|
|
end note
|
|
|
|
@enduml |