Contributing
Thank you for your interest in contributing to the Ilexum forensic tools!
Getting Started
Prerequisites
- Go 1.25 or later
- Git
- The Sleuth Kit (TSK) - for Bitex development
Repository Structure
ilexum-group/
├── Bitex/ # Disk analysis tool
├── Tracium/ # System forensics tool
├── Evidex/ # Evidence acquisition tool
└── Docs/ # Documentation site
Setting Up
git clone https://github.com/ilexum-group/Bitex.git
git clone https://github.com/ilexum-group/Tracium.git
git clone https://github.com/ilexum-group/Evidex.git
cd Bitex && go mod download
Running Tests
go test ./... -v
Development Guidelines
Code Style
- Follow Go conventions (run
gofmtbefore committing) - Add comments for complex logic
- Keep functions small and focused
Linting
All projects use golangci-lint. Run golangci-lint run before committing.
Adding New Extractors (Evidex)
type CustomExtractor struct {
logger CommandLogger
}
func (e *CustomExtractor) CanHandle(filePath string) bool {
ext := strings.ToLower(filepath.Ext(filePath))
return ext == ".custom"
}
func (e *CustomExtractor) Extract(filePath string, logger CommandLogger) interface{} {
return &CustomMetadata{...}
}
func (e *CustomExtractor) GetType() string {
return "CustomType"
}
registry.Register(&CustomExtractor{logger: logger})
Security Considerations
Forensic Tools
These tools handle sensitive evidence:
- Never modify source evidence
- Protect authentication tokens
- Use secure transmission (HTTPS)
Questions?
- GitHub Issues: For bugs and feature requests
- Discussions: For questions and community support