Skip to content
Please update to the latest release 0.77.3 to address Multiple CVEs.
Server.Import.ArtifactExchange

Server.Import.ArtifactExchange

Imports a zipped package containing Velociraptor artifacts from a remote web server.

By default this artifact will automatically import the latest artifact exchange bundle into the server’s artifact repository.

Security of community-contributed exchange artifacts

The artifact exchange is not tested or officially supported by the Velociraptor team and contains contributions from the community. The quality, security and stability of artifacts from the exchange are not guaranteed. Some artifacts from the exchange will fetch external binaries and run them on your endpoints! These binaries are not reviewed or endorsed by the Velociraptor team or Rapid7!

Contributions to the exchange must meet a lower quality bar than built-in artifacts (for example lacking CI tests), which means that they may break at any time or not function as described!

All artifacts in the exchange are used purely at your own risk, should you choose to do so! We strongly suggest that you review exchange artifacts carefully before deploying them on your network!


name: Server.Import.ArtifactBundle
aliases:
- Server.Import.ArtifactExchange
description: |
   Imports a zipped package containing Velociraptor artifacts from a
   remote web server.

   By default this artifact will automatically import the latest
   artifact exchange bundle into the server's artifact repository.

   #### Security of community-contributed exchange artifacts

   The artifact exchange is not tested or officially supported by the
   Velociraptor team and contains contributions from the community.
   The quality, security and stability of artifacts from the exchange
   are not guaranteed. Some artifacts from the exchange will fetch
   external binaries and run them on your endpoints! These binaries
   are not reviewed or endorsed by the Velociraptor team or Rapid7!

   Contributions to the exchange must meet a lower quality bar than
   built-in artifacts (for example lacking CI tests), which means that
   they may break at any time or not function as described!

   All artifacts in the exchange are used purely at your own risk,
   should you choose to do so! We strongly suggest that you review
   exchange artifacts carefully before deploying them on your
   network!

type: SERVER

required_permissions:
- SERVER_ADMIN

parameters:
   - name: URL
     default: https://github.com/Velocidex/velociraptor-docs/raw/gh-pages/exchange/artifact_exchange_v2.zip
   - name: ArchiveGlob
     default: "/**/*.{yaml,yml}"
   - name: Tag
     description: |
       Tag artifacts with this tag.

       This applied in addition to any tags contained in the artifact
       description.
     default: "Exchange"

export: |
  LET _Tags(Data) = SELECT * FROM foreach(row={
    SELECT * FROM parse_lines(accessor="data", filename=Data, buffer_size=10000000)
    WHERE Line =~ '''^\s*tags:'''
  }, query={
    SELECT * FROM parse_records_with_regex(
       accessor="data", file=Line, regex="#(?P<Tag>[^ ]+)")
  })

  LET Tags(Data) = _Tags(Data=Data).Tag

sources:
  - query: |
        LET X = SELECT artifact_set(
          definition=Definition,
          tags=(Tag,) + Tags(Data=Definition) ) AS Definition
        FROM foreach(row={
          SELECT Content FROM http_client(
             remove_last=TRUE,
             tempfile_extension=".zip", url=URL)
        }, query={
          SELECT read_file(accessor="zip", filename=OSPath) AS Definition
          FROM glob(
             globs=ArchiveGlob,
             root=pathspec(
                DelegateAccessor="auto",
                DelegatePath=Content),
             accessor="zip")
        })

        SELECT Definition.name AS Name,
               Definition.description AS Description,
               Definition.author AS Author
        FROM X