Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Deploy and configure Velociraptor for scalable endpoint forensic artifact collection during incident response using VQL queries, hunts, and pre-built artifact packs across Windows, Linux, and macOS environments.
.claude/skills/implementing-velociraptor-for-ir-collection/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | — | — |
| case-16 | ✗→✓ | ▲ Improved | — | — |
| case-15 | ✗→✓ | ▲ Improved | — | — |
| case-08 | ✗→✓ | ▲ Improved | — | — |
| case-02 | ✗→✓ | ▲ Improved | — | — |
Velociraptor is an advanced open-source endpoint monitoring, digital forensics, and incident response platform developed by Rapid7. It uses the Velociraptor Query Language (VQL) to create custom artifacts that collect, query, and monitor almost any aspect of an endpoint. Velociraptor enables incident response teams to rapidly collect and examine forensic artifacts from across a network, supporting large-scale deployments with minimal performance impact. The client-server architecture with Fleetspeak communication enables real-time data collection from thousands of endpoints simultaneously, with offline endpoints picking up hunts when they reconnect.
bash# Download latest release wget https://github.com/Velocidex/velociraptor/releases/latest/download/velociraptor-linux-amd64 # Generate server configuration ./velociraptor-linux-amd64 config generate -i # Start the server ./velociraptor-linux-amd64 --config server.config.yaml frontend # Or run as systemd service sudo cp velociraptor-linux-amd64 /usr/local/bin/velociraptor sudo velociraptor --config /etc/velociraptor/server.config.yaml service install
bash# Repack client MSI for Windows deployment velociraptor --config server.config.yaml config client > client.config.yaml velociraptor config repack --msi velociraptor-windows-amd64.msi client.config.yaml output.msi # Deploy via Group Policy, SCCM, or Intune # Client runs as a Windows service: "Velociraptor" # Linux client deployment velociraptor --config client.config.yaml client -v # macOS client deployment velociraptor --config client.config.yaml client -v
bashdocker run --name velociraptor \ -v /opt/velociraptor:/velociraptor/data \ -p 8000:8000 -p 8001:8001 -p 8889:8889 \ velocidex/velociraptor
sql-- Collect Windows Event Logs SELECT * FROM Artifact.Windows.EventLogs.EvtxHunter( EvtxGlob="C:/Windows/System32/winevt/Logs/*.evtx", IDRegex="4624|4625|4648|4672|4688|4698|4769|7045" ) -- Collect Prefetch files for execution evidence SELECT * FROM Artifact.Windows.Forensics.Prefetch() -- Collect Shimcache entries SELECT * FROM Artifact.Windows.Registry.AppCompatCache() -- Collect Amcache entries SELECT * FROM Artifact.Windows.Forensics.Amcache() -- Collect UserAssist data SELECT * FROM Artifact.Windows.Forensics.UserAssist() -- Collect NTFS MFT timestamps SELECT * FROM Artifact.Windows.NTFS.MFT( MFTFilename="C:/$MFT", FileRegex=".(exe|dll|ps1|bat|cmd)$" ) -- Collect scheduled tasks SELECT * FROM Artifact.Windows.System.TaskScheduler() -- Collect running processes with hashes SELECT * FROM Artifact.Windows.System.Pslist() -- Collect network connections SELECT * FROM Artifact.Windows.Network.Netstat() -- Collect DNS cache SELECT * FROM Artifact.Windows.Network.DNSCache() -- Collect browser history SELECT * FROM Artifact.Windows.Applications.Chrome.History() -- Collect PowerShell history SELECT * FROM Artifact.Windows.Forensics.PowerShellHistory() -- Collect autoruns/persistence SELECT * FROM Artifact.Windows.Persistence.PermanentWMIEvents() SELECT * FROM Artifact.Windows.System.Services() SELECT * FROM Artifact.Windows.System.StartupItems()
sql-- Collect auth logs SELECT * FROM Artifact.Linux.Sys.AuthLogs() -- Collect bash history SELECT * FROM Artifact.Linux.Forensics.BashHistory() -- Collect crontab entries SELECT * FROM Artifact.Linux.Sys.Crontab() -- Collect running processes SELECT * FROM Artifact.Linux.Sys.Pslist() -- Collect network connections SELECT * FROM Artifact.Linux.Network.Netstat() -- Collect SSH authorized keys SELECT * FROM Artifact.Linux.Ssh.AuthorizedKeys() -- Collect systemd services SELECT * FROM Artifact.Linux.Services()
sql-- Windows Triage Collection artifact -- Collects event logs, prefetch, registry, browser data, and more SELECT * FROM Artifact.Windows.KapeFiles.Targets( Device="C:", _AllFiles=FALSE, _EventLogs=TRUE, _Prefetch=TRUE, _RegistryHives=TRUE, _WebBrowsers=TRUE, _WindowsTimeline=TRUE )
1. Navigate to Hunt Manager in Velociraptor Web UI
2. Click "New Hunt"
3. Configure:
- Description: "IR Triage - Case 2025-001"
- Include/Exclude labels for targeting
- Artifact selection (e.g., Windows.Forensics.Prefetch)
- Resource limits (CPU, IOPS, timeout)
4. Launch hunt
5. Monitor progress in real-timesql-- Hunt for specific file hash across all endpoints SELECT * FROM Artifact.Generic.Detection.HashHunter( Hashes="e99a18c428cb38d5f260853678922e03" ) -- Hunt for YARA signatures in memory SELECT * FROM Artifact.Windows.Detection.Yara.Process( YaraRule='rule malware { strings: $s1 = "malicious_string" condition: $s1 }' ) -- Hunt for Sigma rule matches in event logs SELECT * FROM Artifact.Server.Import.SigmaRules() -- Hunt for suspicious scheduled tasks SELECT * FROM Artifact.Windows.System.TaskScheduler() WHERE Command =~ "powershell|cmd|wscript|mshta|rundll32" -- Hunt for processes with network connections to suspicious IPs SELECT * FROM Artifact.Windows.Network.Netstat() WHERE RemoteAddr =~ "10\\.13\\.37\\."
sql-- Monitor for new process creation SELECT * FROM watch_etw(guid="{22fb2cd6-0e7b-422b-a0c7-2fad1fd0e716}") WHERE EventData.ImageName =~ "powershell|cmd|wscript" -- Monitor file system changes SELECT * FROM watch_directory(path="C:/Windows/Temp/") -- Monitor registry changes SELECT * FROM watch_registry(key="HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Run/**")
Velociraptor Server --> Elastic/OpenSearch --> Splunk HEC
--> Direct syslog forwarding
--> Velociraptor API --> Custom scripts --> Splunkyaml# Velociraptor server config for Elastic output Monitoring: elastic: addresses: - https://elastic.local:9200 username: velociraptor password: secure_password index: velociraptor
| Technique | VQL Artifact | |-----------|-------------| | T1059 - Command Scripting | Windows.EventLogs.EvtxHunter (4104, 4688) | | T1053 - Scheduled Task | Windows.System.TaskScheduler | | T1547 - Boot/Logon Autostart | Windows.Persistence.PermanentWMIEvents | | T1003 - OS Credential Dumping | Windows.Detection.Yara.Process | | T1021 - Remote Services | Windows.EventLogs.EvtxHunter (4624 Type 3/10) | | T1070 - Indicator Removal | Windows.EventLogs.Cleared |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +64 percentage points is the difference between those two pass rates over the 21 comparable cases.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.