Skip to content

Commit 30e976b

Browse files
authored
Updated Contributing guidance (Velocidex#1266)
Consolidated all the information in one place so that we don't end up with inconsistency. Also added 0.77 release notes draft.
1 parent 751e822 commit 30e976b

8 files changed

Lines changed: 385 additions & 43 deletions

File tree

.wordlist.txt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2185,5 +2185,12 @@ lookaheads
21852185
lookbehind
21862186
storedQuery
21872187
subexpression
2188-
truthy
2189-
zulp
2188+
2189+
Dockerfile
2190+
HMAC
2191+
KQL
2192+
integrations
2193+
linter
2194+
misconfigurations
2195+
scrollable
2196+
submodule

README.md

Lines changed: 6 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,15 @@
22

33
This is the documentation site for Velociraptor - digging deeper!
44

5-
## Building this site
65

7-
The site uses the static website generator [Hugo](https://gohugo.io).
6+
## Contributing Content
87

9-
To develop on the site:
10-
1. clone this repository by running the following git clone command
11-
```
12-
git clone https://github.com/Velocidex/velociraptor-docs.git
13-
```
8+
For guidance on developing and contributing content, including
9+
Velociraptor community artifacts, please see the
10+
[Documentation Development Guidelines](https://docs.velociraptor.app/dev/)
11+
section on our documentation site.
1412

15-
2. Run Hugo:
16-
1. Run Hugo with a natively installed version
17-
```
18-
hugo serve
19-
```
20-
21-
2. Alternatively you can run hugo in docker as such:
22-
```
23-
docker run --rm -it -v $(pwd):/src -p 1313:1313 hugomods/hugo server
24-
```
25-
26-
3. Open your browser to http://localhost:1313.
27-
28-
This will bring up a local web server where you can see your changes.
29-
30-
In future sessions, you might need to run one or more of the Python
31-
scripts listed in the [Makefile](Makefile). Rebuilding the reference
32-
indices with these scripts should clear `REF_NOT_FOUND` errors during
33-
Hugo server startup. Scripts require `pyyaml`.
13+
---
3414

3515
Shield: [![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]
3616

config.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ theme: "hugo-theme-learn"
66
disqusShortname: velocidex-velociraptor
77
security:
88
allowContent:
9-
- text/html
10-
- text/markdown
11-
# enableInlineShortcodes: true
9+
- "text/html"
10+
- "text/markdown"
1211

1312
enableGitInfo: true
1413

Lines changed: 220 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,220 @@
1+
---
2+
title: "Velociraptor 0.77 Release"
3+
description: Velociraptor Release 0.77 is now available
4+
author: "Mike Cohen"
5+
date: 2026-05-31
6+
draft: true
7+
tags:
8+
- Release
9+
---
10+
11+
I am very excited to announce that the latest Velociraptor release
12+
0.77 is now available.
13+
14+
In this post I will discuss some of the new features introduced by
15+
this release.
16+
17+
## New Features
18+
19+
- **Interactive shell sessions.** The shell is no longer a one-shot
20+
affair. Commands now run inside persistent sessions where each
21+
command builds on the last, with all output visible in a single
22+
scrollable view. Each command appends to the same flow, replacing
23+
the previous approach where each interaction ran as a separate flow.
24+
Graceful timeouts, CSS improvements, and proper stdin lifecycle
25+
management have also been added. Flow requests are now stored in a
26+
separate data store file.
27+
28+
- **User messaging.** Messages can now be sent to GUI users via the
29+
`user_message()` VQL function, which means they can be packaged into
30+
server artifacts and set up by server operators. A new
31+
`Server.Monitoring.RSSFeeds` artifact is provided as an example: it
32+
polls RSS feeds (such as Velociraptor's own CVE and blog feeds) and
33+
automatically emits user notifications when new items appear.
34+
35+
- **Azure Data Explorer (ADX) upload.** A new `adx_upload()` VQL plugin
36+
uploads rows to Azure Data Explorer for KQL-based analysis, along
37+
with a `ADX Creds` secret type for securely managing credentials. A
38+
corresponding server event artifact (`ADX.Flows.Upload`) is provided
39+
that uses this plugin to forward flow results to ADX. This mirrors
40+
the existing Splunk and Elastic upload integrations, and has been
41+
tested in production engagements.
42+
43+
- **Artifact verifier overrides.** The artifact verifier now emits
44+
structured errors and warnings that can be selectively disabled on a
45+
per- artifact basis. To suppress a specific linter error, add a `//
46+
linter:` comment to the VQL snippet with the error name and an
47+
optional subject regex.
48+
49+
- **Loading artifact packs from zips.** Zip files can now be imported
50+
directly with the `--definitions` flag, avoiding the need to
51+
manually unzip them first. This is especially useful when
52+
distributing collections of artifacts as a single archive file.
53+
54+
- **OIDC role assignment rework.** Automated OIDC role assignment now
55+
supports removing access from users (roles are no longer treated as
56+
a minimum floor). Custom claims from Azure ID tokens can also be
57+
used for more granular role mapping.
58+
59+
- **Velociraptor Docker container.** An officially supported
60+
Docker-based container is now available, and a Dockerfile,
61+
compose.yaml, and supporting configuration files. This makes it
62+
easier to deploy Velociraptor in containerized environments.
63+
64+
## GUI Improvements
65+
66+
This release improves a number of GUI features.
67+
68+
- **Redesigned Shell interface** now uses sessions where each
69+
command builds on the previous one.
70+
71+
- **User messaging system** for sending notifications directly in the
72+
GUI.
73+
74+
![](notification.png)
75+
76+
The new `Server.Monitoring.RSSFeeds` artifact polls RSS feeds
77+
and alerts users about new items, such as critical CVEs or blog
78+
posts.
79+
80+
- **GUI state stored in sessionStorage**, preserving state when
81+
switching between screens.
82+
83+
- **Filters added to the user management screen** for easier user
84+
lookup.
85+
86+
## CLI Improvements
87+
88+
- **New CLI run syntax** with reworked command line parser.
89+
90+
The CLI has a new syntax for running artifacts from the command line.
91+
The new `--api_config` flag supports collecting artifacts remotely and
92+
fetching results via the API.
93+
94+
- **API support for the `artifacts collect` command**, allowing remote
95+
collection and result fetching over the API. Also added the
96+
`artifacts fetch` command for fetching remote artifact results.
97+
98+
- **Zip file import with the `--definitions` flag** for loading artifact
99+
packs.
100+
101+
### Performance and operational improvements
102+
103+
- **Memory allocation limits.** Velociraptor now places limits on memory
104+
allocations to prevent out of memory errors during large collections
105+
or data processing tasks.
106+
107+
- **EVTX preferred message language.** The EVTX parser has been updated to
108+
support a preferred message language, allowing Windows event log
109+
messages to be rendered in the specified language when available.
110+
111+
- **Refactored hunt dispatcher.** The hunt dispatcher internals have
112+
been reworked for improved tracking and reliability of hunt state
113+
management.
114+
115+
- **Refactored journal service.** The journal service has been updated
116+
with more efficient artifact type discovery and stricter validation
117+
of forwarded messages, ensuring messages reach only the artifact
118+
types they are authorized for.
119+
120+
- **Removed hunt dispatcher housekeeping thread.** The periodic
121+
housekeeping thread that tallied hunt stats has been removed,
122+
reducing IO overhead. The same functionality can now be triggered on
123+
demand via a VQL query when needed.
124+
125+
- **Removed old client API support.** Support for legacy client API
126+
versions has been removed, simplifying the server codebase. The
127+
server now falls back to `Frontend.Hostname` when `API.Hostname` is
128+
not specified.
129+
130+
- **Email client compatibility.** The `SendEmail` artifact now supports an
131+
alphanumeric-only MIME boundary mode. Some email clients (such as
132+
Evolution) struggle with the standard boundary characters prescribed
133+
by RFC 2045, so this option improves compatibility when sending
134+
multipart emails from Velociraptor.
135+
136+
- **Background dispatcher startup.** The dispatcher now starts in the
137+
background, avoiding pauses at server startup and making the
138+
initialization sequence faster and more responsive.
139+
140+
## Security improvements
141+
142+
- **Refactored event queues with caller tagging.** Each event is now
143+
tagged with the caller's ID, enabling listeners to verify the sender
144+
and reject messages from untrusted sources. This prevents users from
145+
sending events to privileged queues intended only for server-
146+
originated messages.
147+
148+
- **Zip directory traversal prevention.** The `unzip()` plugin has
149+
been hardened against directory traversal attacks, preventing
150+
malicious zip files from writing files outside the intended
151+
extraction directory.
152+
153+
- **YAML field validation for Secrets.** The secrets service now
154+
validates YAML fields more rigorously when creating or updating
155+
secrets, catching misconfigurations earlier.
156+
157+
## Artifact changes
158+
159+
### New Artifacts
160+
161+
- **`Server.Monitoring.RSSFeeds`.** Polls RSS feeds at a configurable
162+
interval and alerts users about new items via GUI messages.
163+
164+
- **`ADX.Flows.Upload`.** Forwards flow results to Azure Data Explorer
165+
(ADX) for analysis using KQL queries.
166+
167+
- **`Generic.Utils.Crypto`.** Utility artifact providing HMAC-SHA256 and
168+
other custom hash functions.
169+
170+
### Improved Artifacts
171+
172+
Aside from the new artifacts, which others has significant
173+
improvements? TO be checked.
174+
175+
### Removed Artifacts
176+
177+
- **`Server.Internal.Enrollment`, `Server.Internal.FrontendMetrics`,
178+
`Server.Internal.Label`, `Server.Internal.Notifications`,
179+
`Server.Internal.Ping`, `Server.Internal.Pong`,
180+
`Server.Internal.TimelineAdd`, and `System.Hunt.Participation`**
181+
were removed as part of event queue refactoring where each event is
182+
now tagged with the caller's ID for security.
183+
- **`Server.Import.ArtifactExchange`.** Renamed to
184+
`Server.Import.ArtifactBundle` (old name aliased for backward
185+
compatibility).
186+
187+
## Changes to VQL Plugins, Functions, and Accessors
188+
189+
### New
190+
191+
- **`user_message()`.** Sends messages to GUI users from VQL queries.
192+
193+
- **`user_messages()`.** Emits user console messages as a plugin.
194+
195+
- **`adx_upload()`.** Uploads rows to Azure Data Explorer (ADX).
196+
197+
### Improved
198+
199+
- **`cache()`.** Updated to use disk-based LRU, allowing persistent caches
200+
across different queries. API updated to use VQL lambda for more
201+
intuitive usage.
202+
203+
- **`memoize()`.** Updated to use disk-based LRU for persistence. Added
204+
`period` parameter for stale data refresh and `filename` parameter
205+
for file-backed storage.
206+
207+
- **`index()`.** Changed to batch mode, providing much faster indexing
208+
performance.
209+
210+
## Conclusions
211+
212+
There are many more new features and bug fixes in the latest release.
213+
214+
If you like the new features, take [Velociraptor for a
215+
spin](https://github.com/Velocidex/velociraptor)!
216+
217+
It is available on GitHub under an open source license. As always
218+
please file issues on the bug tracker or ask questions on our mailing
219+
list [velociraptor-discuss@googlegroups.com](mailto:velociraptor-discuss@googlegroups.com).
220+
You can also chat with us directly on [Discord](/discord/).
18.2 KB
Loading

content/dev/contributing-artifacts/_index.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,13 +204,26 @@ be devised that can assure their ongoing reliability.
204204
Exchange artifacts are currently stored in our
205205
[documentation repo](https://github.com/Velocidex/velociraptor-docs).
206206

207-
To submit your artifact for consideration, you follow basically the
207+
GitHub allows you to create a fork, add a single file, and then make a
208+
Pull Request without leaving their website. This is the most common
209+
workflow for contributing a single artifact and doesn't require much
210+
knowledge of git or version control.
211+
212+
For more advanced submissions, you should follow basically the
208213
same process as for a documentation contribution, as described
209214
[here](/dev/dev-server/#2-create-a-fork-of-the-velociraptor-docs-repo-and-clone-it-locally)
210-
except that you're just adding your YAML file into
215+
except that for artifacts you're just adding your YAML file into
211216
`velociraptor-docs/content/exchange/artifacts`
212217
so you don't need Hugo or any of the steps related to that.
213218

219+
We'll review your contribution and give you feedback in the Pull
220+
Request if anything needs changing.
221+
222+
_Note that we don't guarantee that all artifact submissions will be
223+
accepted_. So if you're considering making a contribution and you're
224+
not sure about it, then please chat to us on [Discord](/discord/)
225+
first, and we'll do our best to advise you and avoid wasting your
226+
efforts.
214227

215228
## Tips for writing better artifacts
216229

0 commit comments

Comments
 (0)