Skip to content

cpuinfo/scanfs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

scanfs

This module scans the filesystem and provides custom hooks to handle each file type of your choice.

Installation

pip install scanfs

Example

How to write your own scanner enhancements?

This example scans the /usr/bin folder for ELF files and handles the callback to provide file stat info.

import os
from scanfs.fsscanner import FileSystemScanner
from scanfs.fsscannerex import FSScannerException


def callback(fpath, node):
    try:
        path = os.path.join(fpath, node.name)
        # Now do what you want on the instance of file
        # eg. stat
        statinfo = os.stat(path)
        print(statinfo)
    except FSScannerException as e:
        print("An exception occurred: " + str(e))


fss = FileSystemScanner("/usr/bin")
fss.scan_for_elfs(callback)

Simple way to scan ELF files for binary protection check using checksec utility

checksec utility can be downloaded here

import os
import subprocess
from scanfs.fsscanner import FileSystemScanner
from scanfs.scanners.checksecscanner import CheckSecScanner

css = CheckSecScanner("/usr/bin", "/tmp/checksec_results.json")
css.checksec_on_elfs()

css = CheckSecScanner("/usr/bin", "/tmp/checksec_results.csv", fformat="csv")
css.checksec_on_elfs()

Developer

python -m build
twine upload dist/*

Ref: https://packaging.python.org/tutorials/packaging-projects/

About

File system scanner in Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages