Skip to content

Achiefs/fim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

770 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FIM — File Integrity Monitoring

Chat - Join us on Slack License Coverage Docs Platform


FIM is a high-performance File Integrity Monitoring tool written in Rust. It runs silently in the background, watching your files and alerting you the instant anything changes — creating a complete, searchable history of every modification.

Think of it as a 24/7 security camera for your filesystem. If someone modifies a config file, drops a malicious script, or accidentally deletes something important, FIM catches it all.


Why FIM?

Traditional tools (e.g. OSSEC) FIM
Language C / legacy stacks Rust — memory safe & blazing fast
Resource usage High overhead Minimal footprint
Integration Limited ElasticSearch, OpenSearch, Wazuh
Modern audit Basic logging Full auditd event data — who, what, how

⚡ Quick Start

Install

Download the latest release package for your platform from the Releases page.

Platform Package Install command
Debian / Ubuntu .deb dpkg -i fim*.deb
CentOS / RHEL .rpm yum install fim-*.rpm
Windows .msi .\fim-VERSION-x64.msi /q
macOS .pkg sudo installer -pkg fim*.pkg -target /

Start FIM

Platform Command
Linux (systemd) systemctl start fim
Windows NET START FimService
macOS (launchd) sudo launchctl load -w /Library/LaunchDaemons/com.Achiefs.fim.launchd.plist

Verify

After starting FIM, it begins monitoring immediately. Check for events:

  • Linux: cat /var/lib/fim/events.json
  • Logs: cat /var/log/fim/fim.log
  • Test: touch /etc/fake_file.txt and check the events file — then rm /etc/fake_file.txt

For full setup instructions, see the Installation guide.


🔒 Features

Continuous Monitoring

  • File watcher — detects any action on watched files: read, write, create, delete, rename, move.
  • Real-time alerting — events are emitted instantly. No polling delays.
  • Recursive scanning — monitors entire directories with a single rule.

Deep Visibility

  • Content & metadata changes — detects modifications to file content, attributes, ownership, and permissions.
  • Extended audit data — when the Linux auditd daemon is available, FIM captures the full chain: which user, which process, and which command triggered the change.
  • Historical storage — every event is stored, giving you a complete timeline you can query at any time.

Seamless Integration

  • Native indexers — ships with built-in ingesters for ElasticSearch, OpenSearch, and Wazuh. Your events are search-ready out of the box.
  • Extensible architecture — add custom integrations by implementing the ingester interface.

Built on Rust

  • Fast — zero-cost abstractions and no garbage collection.
  • Safe — memory safety guaranteed by the Rust compiler.
  • Reliable — developed with a strict TDD methodology and comprehensive test suite.

Cross-Platform

  • Linux, macOS, and Windows — one tool, every environment.

📖 Documentation

Resource Link
Getting Started https://documentation.achiefs.com/#how-to-install-fim
Configuration Guide https://documentation.achiefs.com/docs/configuration-file.html
Development Setup https://documentation.achiefs.com/docs/development.html
Full Docs https://documentation.achiefs.com/

🧱 Configuration

Sample configuration files for all platforms are included in the config/ directory:

config/
├── index_template.json    # Search index template
├── linux/                 # Linux examples
├── macos/                 # macOS examples
└── windows/               # Windows examples

Customize paths, watch rules, and indexer targets to match your environment.


🤝 Contribute

We welcome feedback and contributions!


📄 License

This project is distributed under the terms of the GNU General Public License v3.

About

FIM is an Open Source Host-based file integrity monitoring tool that performs file system analysis, file integrity checking, real time alerting and provides Audit daemon data.

Topics

Resources

Stars

Watchers

Forks

Releases

Used by

Contributors

Languages