Documentation
¶
Index ¶
- type Activity
- type ActivityType
- type AttackPlan
- type AttackStep
- type BoardElement
- type CollaborationPlatform
- func (cp *CollaborationPlatform) AddFinding(ctx context.Context, projectID string, finding *Finding) error
- func (cp *CollaborationPlatform) CreateProject(ctx context.Context, teamID string, projectDef *Project) (*Project, error)
- func (cp *CollaborationPlatform) CreateTeam(ctx context.Context, name string, admin *TeamMember) (*Team, error)
- func (cp *CollaborationPlatform) JoinSession(ctx context.Context, sessionID string, member *TeamMember) error
- func (cp *CollaborationPlatform) ShareResource(ctx context.Context, projectID string, resource *Resource) error
- func (cp *CollaborationPlatform) StartCollaborationSession(ctx context.Context, projectID string, initiator *TeamMember) (*CollaborationSession, error)
- type CollaborationSession
- type Cursor
- type Evidence
- type FileVersion
- type Finding
- type FindingStatus
- type GlobalKnowledgeBase
- type KnowledgeBase
- type Message
- type MessageChannel
- type Milestone
- type Note
- type PlatformConfig
- type Position
- type Practice
- type Project
- type ProjectScope
- type ProjectSpace
- type ProjectStatus
- type ProjectTimeline
- type Report
- type Resource
- type ResourceType
- type SavedPayload
- type SessionParticipant
- type SeverityLevel
- type SharedBoard
- type SharedFile
- type SharedWorkspace
- type TargetSystem
- type Task
- type TaskManager
- type TaskPriority
- type TaskStatus
- type Team
- type TeamKnowledgeBase
- type TeamMember
- type TeamMessenger
- type TeamRole
- type TeamSpace
- type Technique
- type TestResult
- type Tool
- type UserStatus
- type Vulnerability
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Activity ¶
type Activity struct {
ID string `json:"id"`
UserID string `json:"user_id"`
Type ActivityType `json:"type"`
Description string `json:"description"`
Target string `json:"target"`
Metadata map[string]interface{} `json:"metadata"`
Timestamp time.Time `json:"timestamp"`
}
Activity represents a user activity
type ActivityType ¶
type ActivityType string
ActivityType defines activity types
const ( ActivityCreate ActivityType = "create" ActivityUpdate ActivityType = "update" ActivityDelete ActivityType = "delete" ActivityExecute ActivityType = "execute" ActivityComment ActivityType = "comment" )
type AttackPlan ¶
type AttackPlan struct {
ID string
Name string
Description string
Steps []*AttackStep
Status string
}
AttackPlan represents an attack plan
type AttackStep ¶
type BoardElement ¶
type CollaborationPlatform ¶
type CollaborationPlatform struct {
// contains filtered or unexported fields
}
CollaborationPlatform manages team collaboration for LLM red teaming
func NewCollaborationPlatform ¶
func NewCollaborationPlatform(config PlatformConfig) *CollaborationPlatform
NewCollaborationPlatform creates a new collaboration platform
func (*CollaborationPlatform) AddFinding ¶
func (cp *CollaborationPlatform) AddFinding(ctx context.Context, projectID string, finding *Finding) error
AddFinding adds a finding to a project
func (*CollaborationPlatform) CreateProject ¶
func (cp *CollaborationPlatform) CreateProject(ctx context.Context, teamID string, projectDef *Project) (*Project, error)
CreateProject creates a new project
func (*CollaborationPlatform) CreateTeam ¶
func (cp *CollaborationPlatform) CreateTeam(ctx context.Context, name string, admin *TeamMember) (*Team, error)
CreateTeam creates a new team
func (*CollaborationPlatform) JoinSession ¶
func (cp *CollaborationPlatform) JoinSession(ctx context.Context, sessionID string, member *TeamMember) error
JoinSession allows a user to join a collaboration session
func (*CollaborationPlatform) ShareResource ¶
func (cp *CollaborationPlatform) ShareResource(ctx context.Context, projectID string, resource *Resource) error
ShareResource shares a resource within a project
func (*CollaborationPlatform) StartCollaborationSession ¶
func (cp *CollaborationPlatform) StartCollaborationSession(ctx context.Context, projectID string, initiator *TeamMember) (*CollaborationSession, error)
StartCollaborationSession starts a new collaboration session
type CollaborationSession ¶
type CollaborationSession struct {
ID string `json:"id"`
ProjectID string `json:"project_id"`
Participants []*SessionParticipant `json:"participants"`
Activities []*Activity `json:"activities"`
StartedAt time.Time `json:"started_at"`
LastActivity time.Time `json:"last_activity"`
}
CollaborationSession represents an active collaboration session
type Cursor ¶
type Cursor struct {
X int `json:"x"`
Y int `json:"y"`
View string `json:"view"`
Selected string `json:"selected"`
}
Cursor represents user cursor position in shared workspace
type Evidence ¶
type Evidence struct {
Type string `json:"type"`
Data string `json:"data"`
Screenshot []byte `json:"screenshot,omitempty"`
Timestamp time.Time `json:"timestamp"`
CollectedBy string `json:"collected_by"`
Metadata map[string]interface{} `json:"metadata"`
}
Evidence represents evidence for a finding
type FileVersion ¶
type Finding ¶
type Finding struct {
ID string `json:"id"`
Title string `json:"title"`
Description string `json:"description"`
Severity SeverityLevel `json:"severity"`
Category string `json:"category"`
Evidence []*Evidence `json:"evidence"`
Reproducible bool `json:"reproducible"`
DiscoveredBy string `json:"discovered_by"`
DiscoveredAt time.Time `json:"discovered_at"`
Status FindingStatus `json:"status"`
}
Finding represents a discovered vulnerability or issue
type FindingStatus ¶
type FindingStatus string
FindingStatus defines finding status
const ( FindingNew FindingStatus = "new" FindingConfirmed FindingStatus = "confirmed" FindingInProgress FindingStatus = "in_progress" FindingResolved FindingStatus = "resolved" FindingFalsePositive FindingStatus = "false_positive" )
type GlobalKnowledgeBase ¶
type GlobalKnowledgeBase struct {
CommonVulnerabilities map[string]*Vulnerability
BestPractices map[string]*Practice
Tools map[string]*Tool
}
GlobalKnowledgeBase represents global knowledge
type KnowledgeBase ¶
type KnowledgeBase struct {
// contains filtered or unexported fields
}
KnowledgeBase manages shared knowledge
func NewKnowledgeBase ¶
func NewKnowledgeBase() *KnowledgeBase
NewKnowledgeBase creates a new knowledge base
func (*KnowledgeBase) CreateTeamKB ¶
func (kb *KnowledgeBase) CreateTeamKB(teamID string)
CreateTeamKB creates a team knowledge base
func (*KnowledgeBase) ShareFinding ¶
func (kb *KnowledgeBase) ShareFinding(teamID string, finding *Finding)
ShareFinding shares a finding with the team knowledge base
type Message ¶
type Message struct {
ID string
Type string
Content string
From string
To []string
Data map[string]string
Timestamp time.Time
}
Message represents a team message
type MessageChannel ¶
MessageChannel represents a message channel
type Milestone ¶
type Milestone struct {
Name string `json:"name"`
Description string `json:"description"`
DueDate time.Time `json:"due_date"`
Completed bool `json:"completed"`
CompletedAt time.Time `json:"completed_at"`
}
Milestone represents a project milestone
type Note ¶
type Note struct {
ID string
Title string
Content string
Author string
CreatedAt time.Time
Tags []string
}
Note represents a shared note
type PlatformConfig ¶
type PlatformConfig struct {
MaxTeams int
MaxProjectsPerTeam int
SessionTimeout time.Duration
AutoSyncInterval time.Duration
EncryptionEnabled bool
}
PlatformConfig holds configuration for collaboration platform
type Project ¶
type Project struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
TeamID string `json:"team_id"`
Target *TargetSystem `json:"target"`
Scope *ProjectScope `json:"scope"`
Timeline *ProjectTimeline `json:"timeline"`
Findings []*Finding `json:"findings"`
Status ProjectStatus `json:"status"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
Project represents a red team project
type ProjectScope ¶
type ProjectScope struct {
InScope []string `json:"in_scope"`
OutOfScope []string `json:"out_of_scope"`
Objectives []string `json:"objectives"`
Limitations []string `json:"limitations"`
RulesOfEngagement string `json:"rules_of_engagement"`
}
ProjectScope defines the scope of testing
type ProjectSpace ¶
type ProjectSpace struct {
ProjectID string
AttackPlans map[string]*AttackPlan
TestResults map[string]*TestResult
}
ProjectSpace represents a project's workspace
type ProjectStatus ¶
type ProjectStatus string
ProjectStatus defines project status
const ( ProjectPlanning ProjectStatus = "planning" ProjectActive ProjectStatus = "active" ProjectPaused ProjectStatus = "paused" ProjectCompleted ProjectStatus = "completed" ProjectArchived ProjectStatus = "archived" )
type ProjectTimeline ¶
type ProjectTimeline struct {
StartDate time.Time `json:"start_date"`
EndDate time.Time `json:"end_date"`
Milestones []*Milestone `json:"milestones"`
CurrentPhase string `json:"current_phase"`
}
ProjectTimeline defines project timeline
type Resource ¶
type Resource struct {
ID string `json:"id"`
Name string `json:"name"`
Type ResourceType `json:"type"`
Content string `json:"content"`
Owner string `json:"owner"`
Permissions []string `json:"permissions"`
Version int `json:"version"`
UpdatedAt time.Time `json:"updated_at"`
}
Resource represents a shared resource
type ResourceType ¶
type ResourceType string
ResourceType defines resource types
const ( ResourcePayload ResourceType = "payload" ResourceScript ResourceType = "script" ResourceTemplate ResourceType = "template" ResourceReport ResourceType = "report" ResourceNote ResourceType = "note" ResourceTool ResourceType = "tool" )
type SavedPayload ¶
type SavedPayload struct {
ID string
Name string
Description string
Payload string
SuccessRate float64
Tags []string
}
SavedPayload represents a saved payload
type SessionParticipant ¶
type SessionParticipant struct {
UserID string `json:"user_id"`
Username string `json:"username"`
Role string `json:"role"`
JoinedAt time.Time `json:"joined_at"`
Active bool `json:"active"`
Cursor *Cursor `json:"cursor,omitempty"`
}
SessionParticipant represents a session participant
type SeverityLevel ¶
type SeverityLevel string
SeverityLevel defines finding severity
const ( SeverityCritical SeverityLevel = "critical" SeverityHigh SeverityLevel = "high" SeverityMedium SeverityLevel = "medium" SeverityLow SeverityLevel = "low" SeverityInfo SeverityLevel = "info" )
type SharedWorkspace ¶
type SharedWorkspace struct {
// contains filtered or unexported fields
}
SharedWorkspace manages shared workspace functionality
func NewSharedWorkspace ¶
func NewSharedWorkspace() *SharedWorkspace
NewSharedWorkspace creates a new shared workspace
func (*SharedWorkspace) CreateProjectSpace ¶
func (sw *SharedWorkspace) CreateProjectSpace(projectID string)
CreateProjectSpace creates a project workspace
func (*SharedWorkspace) CreateTeamSpace ¶
func (sw *SharedWorkspace) CreateTeamSpace(teamID string)
CreateTeamSpace creates a team workspace
type TargetSystem ¶
type TargetSystem struct {
Name string `json:"name"`
Type string `json:"type"`
Version string `json:"version"`
Endpoints []string `json:"endpoints"`
Credentials map[string]string `json:"credentials"`
Constraints []string `json:"constraints"`
Metadata map[string]interface{} `json:"metadata"`
}
TargetSystem represents the LLM system being tested
type Task ¶
type Task struct {
ID string
Title string
Description string
AssignedTo []string
Status TaskStatus
Priority TaskPriority
DueDate time.Time
Dependencies []string
Subtasks []*Task
}
Task represents a collaborative task
type TaskManager ¶
type TaskManager struct {
// contains filtered or unexported fields
}
TaskManager manages collaborative tasks
type TaskPriority ¶
type TaskPriority string
TaskPriority defines task priority
const ( PriorityCritical TaskPriority = "critical" PriorityHigh TaskPriority = "high" PriorityMedium TaskPriority = "medium" PriorityLow TaskPriority = "low" )
type TaskStatus ¶
type TaskStatus string
TaskStatus defines task status
const ( TaskTodo TaskStatus = "todo" TaskInProgress TaskStatus = "in_progress" TaskReview TaskStatus = "review" TaskDone TaskStatus = "done" )
type Team ¶
type Team struct {
ID string `json:"id"`
Name string `json:"name"`
Members []*TeamMember `json:"members"`
Projects []string `json:"projects"`
Permissions map[string][]string `json:"permissions"`
CreatedAt time.Time `json:"created_at"`
Metadata map[string]interface{} `json:"metadata"`
}
Team represents a red team group
type TeamKnowledgeBase ¶
type TeamKnowledgeBase struct {
TeamID string
Techniques map[string]*Technique
Payloads map[string]*SavedPayload
Reports map[string]*Report
}
TeamKnowledgeBase represents team-specific knowledge
type TeamMember ¶
type TeamMember struct {
ID string `json:"id"`
Username string `json:"username"`
Email string `json:"email"`
Role TeamRole `json:"role"`
Specialties []string `json:"specialties"`
Status UserStatus `json:"status"`
LastActive time.Time `json:"last_active"`
Contributions int `json:"contributions"`
}
TeamMember represents a team member
type TeamMessenger ¶
type TeamMessenger struct {
// contains filtered or unexported fields
}
TeamMessenger handles team communication
func NewTeamMessenger ¶
func NewTeamMessenger() *TeamMessenger
NewTeamMessenger creates a new team messenger
func (*TeamMessenger) BroadcastToTeam ¶
func (tm *TeamMessenger) BroadcastToTeam(teamID string, message *Message) error
BroadcastToTeam broadcasts a message to team
type TeamSpace ¶
type TeamSpace struct {
TeamID string
}
TeamSpace represents a team's shared workspace
type Technique ¶
type Technique struct {
ID string
Name string
Description string
Category string
Steps []string
Examples []string
References []string
}
Technique represents an attack technique
type TestResult ¶
TestResult represents test results
type UserStatus ¶
type UserStatus string
UserStatus defines user status
const ( StatusOnline UserStatus = "online" StatusAway UserStatus = "away" StatusBusy UserStatus = "busy" StatusOffline UserStatus = "offline" )