140 lines
5.4 KiB
YAML
140 lines
5.4 KiB
YAML
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']
|