https://github.com/copyleftdev/5l4pp3r

forensic snapshot tool designed to capture a comprehensive view of your system's configuration environment. It's like a high-resolution camera for your system's state, providing IT professionals and forensic analysts with a powerful lens to examine system configurations at any given point in time.

https://github.com/copyleftdev/5l4pp3r

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.4%) to scientific vocabulary

Keywords

admin change-detection forensics it system
Last synced: 5 months ago · JSON representation

Repository

forensic snapshot tool designed to capture a comprehensive view of your system's configuration environment. It's like a high-resolution camera for your system's state, providing IT professionals and forensic analysts with a powerful lens to examine system configurations at any given point in time.

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
admin change-detection forensics it system
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme

README.md

5l4pp3r

📸 Your system's configuration, frozen in time.

🚀 High-Level Purpose

5l4pp3r is a forensic snapshot tool designed to capture a comprehensive view of your system's configuration environment. It's like a high-resolution camera for your system's state, providing IT professionals and forensic analysts with a powerful lens to examine system configurations at any given point in time.

🔍 What It Does

5l4pp3r meticulously collects and stores:

  • 🖥️ System Information: Hostname and timestamp
  • 🌐 Network Details: IP addresses, MAC addresses, interface names
  • 📁 Configuration Files: From standard system directories and user-specific locations

All this data is compressed and stored in a structured database (SQLite or PostgreSQL), creating a space-optimized, point-in-time record of your system's state.

🏗️ Architectural Overview

Key Components:

  1. Configuration Loading (internal/config)

  2. Reads config.toml for flexible customization

  3. Defines database settings, compression algorithms, scan directories, and more

  4. Logging and Instrumentation

  5. Utilizes zerolog for structured, timestamped logs

  6. Storage Setup (internal/storage)

  7. Supports SQLite (local) and PostgreSQL (centralized)

  8. Ensures proper schema creation and verification

  9. Data Gathering (internal/gatherer)

  10. Collects system info, network details, and configuration files

  11. Compresses file contents for space efficiency

💾 Data Ingestion and Persistence Flow

  1. Insert System Info (creates system_id)
  2. Assign system_id to Config Files
  3. Insert Network Interfaces (linked to system_id)
  4. Insert Config Files (compressed, with metadata)
  5. Commit the Transaction

🕵️ Forensic and IT Professional Value

  • Immutable Point-in-Time State: Reconstruct system settings at snapshot time
  • Relational Data Model: Powerful querying capabilities
  • Repeatable and Extensible: Track configuration evolution over time
  • Centralization and Aggregation: Create a global forensic data lake (with PostgreSQL)

🚀 Getting Started

  1. Clone the repository:

plaintext git clone https://github.com/copyleftdev/5l4pp3r.git

  1. Configure config.toml with your desired settings
  2. Build and run:

plaintext go build ./5l4pp3r

📊 Example Output

plaintext 11:25AM INF Starting 5l4pp3r... 11:26AM INF Snapshot completed successfully.

🛠️ Possible Enhancements

  • Filtering and Exclusions
  • Extended Metadata and Integrity Checks
  • Integration with CI/CD and Automation Tools

🤝 Contributing

We welcome contributions! Please see our CONTRIBUTING.md for details.

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • All the amazing open-source libraries that made this project possible
  • The forensic IT community for inspiration and use cases

Remember: With great power comes great responsibility. Use 5l4pp3r ethically and legally! 🦸‍♂️🦸‍♀️

Owner

  • Name: Donald Johnson
  • Login: copyleftdev
  • Kind: user
  • Location: Los Angeles

GitHub Events

Total
  • Push event: 1
  • Create event: 2
Last Year
  • Push event: 1
  • Create event: 2

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

go.mod go
  • github.com/dustin/go-humanize v1.0.1
  • github.com/fsnotify/fsnotify v1.7.0
  • github.com/google/uuid v1.6.0
  • github.com/hashicorp/golang-lru/v2 v2.0.7
  • github.com/hashicorp/hcl v1.0.0
  • github.com/lib/pq v1.10.9
  • github.com/magiconair/properties v1.8.7
  • github.com/mattn/go-colorable v0.1.13
  • github.com/mattn/go-isatty v0.0.20
  • github.com/mitchellh/mapstructure v1.5.0
  • github.com/ncruces/go-strftime v0.1.9
  • github.com/pelletier/go-toml v1.2.0
  • github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec
  • github.com/rs/zerolog v1.33.0
  • github.com/spf13/afero v1.11.0
  • github.com/spf13/cast v1.6.0
  • github.com/spf13/jwalterweatherman v1.0.0
  • github.com/spf13/pflag v1.0.5
  • github.com/spf13/viper v1.6.3
  • github.com/stretchr/testify v1.9.0
  • github.com/subosito/gotenv v1.6.0
  • golang.org/x/sys v0.22.0
  • golang.org/x/text v0.14.0
  • gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15
  • gopkg.in/ini.v1 v1.67.0
  • gopkg.in/yaml.v2 v2.2.4
  • modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6
  • modernc.org/libc v1.55.3
  • modernc.org/mathutil v1.6.0
  • modernc.org/memory v1.8.0
  • modernc.org/sqlite v1.34.2
  • modernc.org/strutil v1.2.0
  • modernc.org/token v1.1.0
go.sum go
  • 184 dependencies