osq-exts/tables/ima/ima_linux.go (30 lines of code) (raw):

package ima import ( "context" "github.com/osquery/osquery-go/plugin/table" ) const ( _ENABLED = "enabled" _COUNT = "runtime_measurements_count" _VIOLATIONS = "violations" _IMA_BASEPATH = "/sys/kernel/security/ima/" ) func (m *IMA) osCompat() error { return nil } func (m *IMA) osColumns() []table.ColumnDefinition { return []table.ColumnDefinition{ table.TextColumn(_ENABLED), table.BigIntColumn(_COUNT), table.BigIntColumn(_VIOLATIONS), } } func (m *IMA) osGenerate(ctx context.Context, queryContext table.QueryContext) ([]map[string]string, error) { return []map[string]string{ { _ENABLED: pathExists(_IMA_BASEPATH), _COUNT: readFile(_IMA_BASEPATH, _COUNT), _VIOLATIONS: readFile(_IMA_BASEPATH, _VIOLATIONS), }, }, nil }