Get desktop application:
View/edit binary Protocol Buffers messages
PropsReq is used to set, change, or remove properties.
Resolve a given entity via its MRN. Typically used to resolve assets. Can also be used to resolve query packs.
Store results for a given asset
Determines if this is the last batch of results for the asset
Retrieve data for a given set of entities which was previously stored
protolint:disable ENUM_FIELD_NAMES_PREFIX protolint:disable ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
Used in:
,Asset is a lean layer of information about an asset
Used in:
Assign a number of packs to an asset. All of these are identified by MRN. Generally query packs are assigned (via MRN).
Used as request type in: QueryConductor.Assign, QueryConductor.Unassign
Used in:
protolint:disable ENUM_FIELD_NAMES_PREFIX protolint:disable ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
Used in:
Author is used to identify the author of a query
Used in:
Name of the author
Email of the author
Used as request type in: QueryHub.SetBundle, QueryHub.ValidateBundle
Used as response type in: QueryHub.GetBundle
Used as field type in:
,Used in:
Used as response type in: QueryConductor.Assign, QueryConductor.SetProps, QueryConductor.StoreResults, QueryConductor.Unassign, QueryHub.DeleteQueryPack, QueryHub.SetBundle, QueryHub.ValidateBundle
(message has no fields)
Used in:
The status code.
A user-facing error message, which should be in English.
A list of messages that carry the error details.
The list of queries that an asset needs to execute May be identical amongst multiple packs
Used in:
map of all queries that should be executed, checksum => query
map of all datapoints to their info
A query which is part of an ExecutionJob Reduced to the bare minimum for the execution
Used in:
mapping from name => checksum, which is in the execution job
list of checksums that we collect as data points
User-defined and internal filters. Users may use: 1. filters: asset.name == /sth/ 2. filters: - mql: asset.name == /sth/ Internally we use: 3. filters: items: <checksum>: { ..mquery.. }
Used in:
, ,Impact explains how important certain queries are. They are especially useful in weighted testing where results need to be prioritized. They can also serve as a priority list for data that is collected.
Used in:
Value is between 0 to 100 (most impactful).
The scoring system to apply for evaluating multiple results
The weight of this query. Has to be > 0, otherwise counts as unset.
Action is copied into the impact to correctly reconstruct the v7 ScoringSpec
Used in:
Mquery represents the MQL and metadata that form a query
Used in:
, , , , , , ,FIXME: DEPRECATED, remove in v12.0 vv This is replaced by the field "mql"
This is moved into docs.refs
^^
UID is only needed on Mquery upload, when the MRN is computed. It is not be persisted.
Desc is only used if docs.desc is not defined. It is not persisted.
Action is used for all query overrides (eg: in packs, policies, APIs etc)
Documentation for Mquery
Used in:
Description of the query
Optional. Audit instructions to verify the query results
Optional. References to external sources, typical URLs
Optional. Remediation instructions for the query
MqueryRef is used to reference external sources
Used in:
, ,Title of the reference
URL of the reference
MRNs are used to uniquely identify resources. They are globally unique.
Used as request type in: QueryHub.DeleteQueryPack, QueryHub.GetBundle, QueryHub.GetFilters, QueryHub.GetQueryPack
Used in:
,Properties allow users to configure queries and bundles in pre-defined ways. They return one value only, have a type, and may specify which query they target, while used in querypacks (or other groupings like policies). They may contain additional metadata to provide more information. Note: At the time of writing properties do not pull from other properties. They may do that later.
Used in:
, , ,UID is only needed on Mquery upload, when the MRN is computed. It is not be persisted.
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
Used in:
filter for the assets this applies to
metadata
Used as response type in: QueryHub.GetQueryPack
Used as field type in:
,user-defined UID, which is used to generate the MRN
user-defined, only used during query ingest in case they have no context
MRN to universally identify this query. UIDs are local to QueryPacks, MRNs are global
auto-generated
auto-generated
internal fields
Used in:
Remediation is used to provide a fix for a check.
Used in:
items is a list of TypedDoc items that include the description of the remediation for different platforms.
The report of all the things collected for an entity (typically asset). The provided pack is used as the root to decide what data fields will be returned.
Used as response type in: QueryConductor.GetReport
Used as field type in:
ResolvedPack is returned from a resolve request. It includes the execution job with all things that need to be run.
Used as response type in: QueryConductor.Resolve
Used as field type in:
protolint:disable ENUM_FIELD_NAMES_PREFIX protolint:disable ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
Used in:
Default value, should not be used
Weighted scoring mechanism which uses the weight defined at the query level to calculate the score.
Worst scoring mechanism which uses the worst score of all findings to calculate the policy score.
Average scoring mechanism which uses the average score of all findings to calculate the policy score.
Treats the query as data only, no scoring is applied.
Ignore scoring mechanism which ignores the score of each query.
Experimental: BANDED scoring mechanism which creates a score based on the 4 categories of criticality (critical, high, medium, low) and positions scores so that: 1. Any critical/high issues won't generate a high score (upper limit) 2. Lower scoring categories can have an impact on the score (e.g. 1 crit + 200 medium failures will be lower than 1 crit only) 3. A large collection of medium findings won't generate a critical score
Experimental: DECAYED scoring uses a scaled decay function to estimate a score value. This means that a few critical findings will quickly reduce the resulting score, but it won't just drop it to the lowest value.
Used in:
A typed documentation for a remediation
Used in:
Identifier
Description
Optional. Language of the description (e.g. markdown, english)
Optional. Creation date of the description
Optional. Modification date of the description
Optional. Tags for the description
Update asset jobs forces all jobs for a given asset to get refreshed.