$ shellfirm
Protection Coverage

Filesystem

Protection patterns for filesystem operations including rm, chmod, mkfs, and dd

shellfirm provides two groups of filesystem checks: fs (standard) for clearly dangerous operations and fs-strict for broader coverage.

Standard filesystem checks (fs)

Recursive delete

IDfs:recursively_delete
SeverityCritical
Patternrm with flags like -rf, -Rf, -fr, --force targeting *, ., or /
FilterPathExists -- only fires if the target path exists on disk
Alternativetrash <path> -- moves to trash instead of permanent deletion
Blast radiusFile count + total size at target path
# Triggers
rm -rf /
rm -rf .
rm -Rf *

# Does not trigger (path doesn't exist)
rm -rf /nonexistent/path

Move to /dev/null

IDfs:move_to_dev_null
SeverityCritical
FilterPathExists
# Triggers
mv important-file.txt /dev/null
mv --force data.db /dev/null

Flush file content

IDfs:flush_file_content
SeverityHigh
FilterPathExists

Detects the > file redirect pattern that empties a file.

Recursive chmod

IDfs:recursively_chmod
SeverityCritical
Blast radiusCounts files affected by recursive permission change
# Triggers
chmod -R 777 /
chmod --recursive 755 *

Find with -delete

IDfs:delete_find_files
SeverityCritical
Alternativefind <path> -name '<pattern>' -print -- preview what would be deleted first
Blast radiusCounts files under the search path
# Triggers
find . -delete
find /var/log -name "*.log" -delete

Block device writes (dd)

IDfs:dd_block_device
SeverityCritical
# Triggers
dd if=/dev/zero of=/dev/sda
dd if=image.iso of=/dev/mmcblk0

Filesystem formatting (mkfs)

IDfs:mkfs_format
SeverityCritical
# Triggers
mkfs.ext4 /dev/sda1
mkfs -t xfs /dev/sdb
mkfs.btrfs /dev/mmcblk0p1

Disk partition tools

IDToolSeverity
fs:parted_disk_modifypartedCritical
fs:fdisk_disk_modifyfdiskCritical
fs:sfdisk_disk_modifysfdiskCritical
fs:gdisk_disk_modifygdisk (GPT)Critical
fs:dd_advanced_disk_writedd with conv=notrunc/seek/skipCritical

Other disk and volume operations

IDDescriptionSeverity
fs:partprobe_disk_updatepartprobe -- inform OS of partition changesHigh
fs:blockdev_disk_modifyblockdev -- modify block device parametersHigh
fs:mount_operationsmount a block deviceHigh
fs:lvm_operationslvremove, pvremove, vgremove -- delete logical volumesCritical
fs:filesystem_backupdump/restore operations on block devicesHigh
fs:encryption_operationscryptsetup -- encrypt/decrypt devicesCritical

Strict filesystem checks (fs-strict)

These patterns provide broader coverage for teams that want more visibility into file operations. They are enabled by default but can be disabled if they create too much noise.

Any file permission change

IDfs-strict:change_permissions
SeverityMedium
# Triggers
chmod 644 file.txt
chmod +x script.sh

Any deletion

IDfs-strict:any_deletion
SeverityMedium
FilterPathExists
Blast radiusFile count + size for directories, file size for single files
# Triggers
rm file.txt
rm -r directory/
sudo rm -rf old-backups/

Directory deletion

IDfs-strict:folder_deletion
SeverityMedium
FilterPathExists
Blast radiusFile count + size
# Triggers
rmdir empty-directory/
rmdir old-build/