groups: - id: registry.file type: attribute_group display_name: File Attributes brief: "Describes file attributes." attributes: - id: file.accessed type: string brief: > Time when the file was last accessed, in ISO 8601 format. note: > This attribute might not be supported by some file systems — NFS, FAT32, in embedded OS, etc. stability: experimental examples: ['2021-01-01T12:00:00Z'] - id: file.attributes type: string[] brief: > Array of file attributes. note: > Attributes names depend on the OS or file system. Here’s a non-exhaustive list of values expected for this attribute: `archive`, `compressed`, `directory`, `encrypted`, `execute`, `hidden`, `immutable`, `journaled`, `read`, `readonly`, `symbolic link`, `system`, `temporary`, `write`. stability: experimental examples: - ['readonly', 'hidden'] - id: file.created type: string brief: > Time when the file was created, in ISO 8601 format. note: > This attribute might not be supported by some file systems — NFS, FAT32, in embedded OS, etc. stability: experimental examples: ['2021-01-01T12:00:00Z'] - id: file.changed type: string brief: > Time when the file attributes or metadata was last changed, in ISO 8601 format. note: > `file.changed` captures the time when any of the file's properties or attributes (including the content) are changed, while `file.modified` captures the timestamp when the file content is modified. stability: experimental examples: ['2021-01-01T12:00:00Z'] - id: file.directory type: string brief: > Directory where the file is located. It should include the drive letter, when appropriate. stability: experimental examples: ['/home/user', 'C:\Program Files\MyApp'] - id: file.extension type: string brief: > File extension, excluding the leading dot. stability: experimental examples: ['png', 'gz'] note: > When the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz"). - id: file.fork_name type: string brief: > Name of the fork. A fork is additional data associated with a filesystem object. note: > On Linux, a resource fork is used to store additional data with a filesystem object. A file always has at least one fork for the data portion, and additional forks may exist. On NTFS, this is analogous to an Alternate Data Stream (ADS), and the default data stream for a file is just called $DATA. Zone.Identifier is commonly used by Windows to track contents downloaded from the Internet. An ADS is typically of the form: C:\path\to\filename.extension:some_fork_name, and some_fork_name is the value that should populate `fork_name`. `filename.extension` should populate `file.name`, and `extension` should populate `file.extension`. The full path, `file.path`, will include the fork name. stability: experimental examples: ['Zone.Identifer'] - id: file.group.id type: string brief: > Primary Group ID (GID) of the file. stability: experimental examples: ["1000"] - id: file.group.name type: string brief: > Primary group name of the file. stability: experimental examples: ['users'] - id: file.inode type: string brief: > Inode representing the file in the filesystem. stability: experimental examples: ['256383'] - id: file.mode type: string brief: > Mode of the file in octal representation. stability: experimental examples: ['0640'] - id: file.modified type: string brief: > Time when the file content was last modified, in ISO 8601 format. stability: experimental examples: ['2021-01-01T12:00:00Z'] - id: file.name type: string brief: > Name of the file including the extension, without the directory. stability: experimental examples: ['example.png'] - id: file.owner.id type: string brief: > The user ID (UID) or security identifier (SID) of the file owner. stability: experimental examples: ["1000"] - id: file.owner.name type: string brief: > Username of the file owner. stability: experimental examples: ['root'] - id: file.path type: string brief: > Full path to the file, including the file name. It should include the drive letter, when appropriate. stability: experimental examples: ['/home/alice/example.png', 'C:\Program Files\MyApp\myapp.exe'] - id: file.size type: int brief: > File size in bytes. stability: experimental - id: file.symbolic_link.target_path type: string brief: > Path to the target of a symbolic link. note: > This attribute is only applicable to symbolic links. stability: experimental examples: ['/usr/bin/python3']