Tracium API Reference

Main package-level references for Tracium based on the current repository.

Module

github.com/ilexum-group/tracium

Packages

PackagePurpose
internal/configCLI flag parsing and validation
internal/acquisitionSystem/hardware/network/security collection
internal/forensicsArtifact collection orchestration
internal/osCollector interface and OS-specific implementations
internal/senderHTTP transmission
pkg/modelsData structures

internal/acquisition

New

func New(collector osinfo.Collector, custodyChain *models.CustodyChainEntry, forensicsCollector *forensics.Forensics) *Acquisition

Acquire

func (a *Acquisition) Acquire() models.SystemData

internal/forensics

New

func New(collector osinfo.Collector, custodyChain *models.CustodyChainEntry) *Forensics

Collect

func (f *Forensics) Collect() models.ForensicsData

internal/config

Config Struct

type Config struct {
  ServerURL  string
  AgentToken string
  CaseID     string
  ImagePath  string
}

Usage Example

package main

import (
    "fmt"
    "github.com/ilexum-group/tracium/internal/acquisition"
    "github.com/ilexum-group/tracium/internal/config"
    "github.com/ilexum-group/tracium/internal/forensics"
  osinfo "github.com/ilexum-group/tracium/internal/os"
    "github.com/ilexum-group/tracium/internal/sender"
    "github.com/ilexum-group/tracium/pkg/models"
)

func main() {
    cfg := config.ParseFlags()

  collector := osinfo.New()
    custody := models.NewCustodyChainEntry("tracium", "1.0.0")
  f := forensics.New(collector, custody)

  acq := acquisition.New(collector, custody, f)
  systemData := acq.Acquire()
  systemData.CaseID = cfg.CaseID

    s := sender.New(cfg.ServerURL, cfg.AgentToken)
    s.SendData(systemData)

    fmt.Printf("Collection complete\n")
}