Releases: Yamato-Security/hayabusa
v3.7.0 - CODE BLUE Release
Anti-Virus False Positives
Warning: You will get false positives from certain anti-virus programs like Windows Defender and Web Browsers saying they have detected malicious files. They are detecting on Sigma .yml files that are not executable and just contain certain signatures from malware. They are not malicious. If you are running Hayabusa for live analysis and do not want to cause any anti-virus alerts, be sure to use the live response packages that use encoded Sigma rules.
3.7.0 [2025/11/15] - CODE BLUE Release
New Features:
- Added a
-V, --validate-checksumsoption to check chunk header checksums in thecsv-timelineandjson-timelinecommands. (#1709) (@fukusuket)
Enhancements:
- Added four new command-line options
--include-channel,--exclude-channel,--include-filename, and--exclude-filenameto thelog-metricscommand. (#1715) (@fukusuket) - Updated the Timesketch install readme to support Timesketch on ARM-based Macs. (#1719) (@fukusuket)
Bug Fixes:
- When
validate_checksumis disabled (default), an infinite loop and memory leak when the data_size of an event is set to zero was fixed. (omerbenamram/evtx#264) -t, --threadswas not working in thecomputer-metricsandsearchcommands. (#1563) (@hach1yon)computer-metricswas giving incorrect results when logs from multiple comuters were scanned. (#1713) (@fukusuket)
アンチウィルスの過検知
注意: ウェブブラウザやWindows Defenderのような一部のアンチウイルス製品が、悪意のあるファイルを検出したと誤検知を出すことがあります。これは実行可能ではない Sigmaの.ymlファイル内にマルウェアのシグネチャに該当する記述が含まれているためであって、当該ファイル自体は悪意のあるものではありません。Hayabusa をライブ調査で実行していてアンチウイルスのアラートを出したくない場合は、Sigmaルールをエンコードしたライブレスポンス用のパッケージを必ず使用してください。
3.7.0 [2025/11/15] - CODE BLUE Release
新機能:
csv-timelineおよびjson-timelineコマンドでチャンクヘッダーのチェックサムを確認する-V, --validate-checksumsオプションを追加した。 (#1709) (@fukusuket)
改善:
log-metricsコマンドに、4つの新しいコマンドラインオプション--include-channel、--exclude-channel、--include-filename、--exclude-filenameを追加した。 (#1715) (@fukusuket)- Timesketchのインストール用Readmeを更新し、ARMベースのMacでのTimesketchサポートを追加した。 (#1719) (@fukusuket)
バグ修正:
validate_checksumが無効(デフォルト設定)になっている場合、イベントのdata_sizeがゼロに設定されていると、無限ループとメモリリークが発生する問題が修正された。 (omerbenamram/evtx#264)-t, --threadsオプションがcomputer-metricsおよびsearchコマンドで機能していなかった。(#1563) (@hach1yon)- 複数のコンピュータからのログをスキャンした際、
log-metricsが誤った結果を返していた。 (#1713) (@fukusuket)
v3.6.0 - Nezamezuki Release
Anti-Virus False Positives
Warning: You will get false positives from certain anti-virus programs like Windows Defender saying they have detected malicious files. They are detecting on Sigma .yml files that are not executable and just contain certain signatures from malware. They are not malicious. If you are running Hayabusa for live analysis and do not want to cause any anti-virus alerts, be sure to use the live response packages that use encoded Sigma rules.
3.6.0 [2025/09/25] - Nezamezuki Release
Note: "Nezame-zuki" (寝覚月) means the "month where you easily wake up early" (due to the cool autumn weather starting in September)
Enhancements:
- Event and record IDs with multiple possibilities due to correlation rules are now outputted as empty strings instead of
-for easier parsing. (#1694) (@fukusuket) - We now output first and last detection timestamps instead of just the first and last timestamps found in the
Results Summaryof thecsv-timelineandjson-timelinecommands. (#1688) (@fukusuket) - The guide on how to import Hayabusa JSONL results into SOF-ELK (Elastic Stack) was updated. (#1091) (@YamatoSecurity)
- Output an empty string instead of
-in the rule's modified date if it is not defined to make importing into a SIEM easier. (#1702) (@YamatoSecurity) - Empty fields in rule metadata like
RuleModifiedDate, etc... are not outputted to JSON if they are empty in order to make parsing easier and decrease file size. (#1702) (@fukusuket)
Bug Fixes:
-T, --visualize-timelinewould output incorrect results if-s, --sortwas not specified so we now require-swhen-Tis used. (#1690) (@YamatoSecurity)- Records outside the range specified by the time range options (
--timeline-start/--timeline-end) were being displayed because we were filtering with the timestamps in the record headers instead of the timestamps in the records themselves. (#1689) (@fukusuket) - GeoIP lookup was not working with
json-timeline. (#1693) (@fukusuket) - The
searchcommand would not consistently abbreviate fields. (#1697) (@fukusuket)
アンチウィルスの過検知
注意: Windows Defenderのような一部のアンチウイルス製品が、悪意のあるファイルを検出したと誤検知を出すことがあります。これは実行可能ではない Sigmaの.ymlファイル内にマルウェアのシグネチャに該当する記述が含まれているためであって、当該ファイル自体は悪意のあるものではありません。Hayabusa をライブ調査で実行していてアンチウイルスのアラートを出したくない場合は、Sigmaルールをエンコードしたライブレスポンス用のパッケージを必ず使用してください。
3.6.0 [2025/09/25] - 寝覚月リリース
改善:
- 相関ルールにより複数の可能性を持つイベントIDおよびレコードIDは、パースしやすくするため、
-ではなく空文字列として出力されるようになった。 (#1694) (@fukusuket) csv-timelineおよびjson-timelineコマンドのResults Summaryに表示される最初のタイムスタンプと最後のタイムスタンプの後に、最初と最後の検出のタイムスタンプも出力するようにした。 (#1688) (@fukusuket)- SOF-ELK(Elastic Stack)へのHayabusa JSONL結果のインポート方法に関するガイドが更新された。 (#1091) (@YamatoSecurity)
- ルールの変更日時が定義されていない場合、SIEMへのインポートを容易にするため、
-の代わりに空文字列を出力する。 (#1702) (@YamatoSecurity) - ルールメタデータ内の
RuleModifiedDate等の空フィールドは、パースを容易にしファイルサイズを削減するため、JSONに出力されない。 (#1702) (@fukusuket)
バグ修正:
-T, --visualize-timelineは、-s, --sortが指定されていない場合、正しくない結果を出力するため、-Tを使用する際には-sの指定を必須とした。 (#1690) (@YamatoSecurity)- レコード自体のタイムスタンプではなく、レコードヘッダー内のタイムスタンプでフィルタリングしていたため、タイムレンジオプション(--timeline-start / --timeline-end)で指定した範囲外のレコードが表示されていた。 (#1689) (@fukusuket)
- GeoIP検索が
json-timelineで機能していなかった。 (#1693) (@fukusuket) searchコマンドにおける省略形処理は一貫していなかった。(#1697) (@fukusuket)
v3.5.0 - Obon Release
3.5.0 [2025/08/16] - Obon Release
Enhancements:
- Hayabusa now supports the
base64field modifier. (#1677) (@fukusuket)
改善:*
base64フィールド修飾子に対応した。 (#1677) (@fukusuket)
v3.4.0 - Black Hat Arsenal USA 2025 Release
3.4.0 [2025/08/01] - Black Hat Arsenal USA 2025 Release
Enhancements:
- Field names are now abbreviated in the
searchcommand. You can disable with-b, --disable-abbreviations. (#1627) (@hitenkoku) - 32-bit version of Hayabusa will now also run on 64-bit OSes. (#1665) (@akkuman)
- We now put a return character after the last line in JSON/L files so that filebeat will not miss the last event. (#1666) (@fukusuket)
Bug Fixes:
- Levels would be abbreviated even when
--disable-abbreviationswas enabled. (#1672) (@fukusuket)
改善:
searchコマンドでフィールド名が省略されるようになった。-b, --disable-abbreviationsで無効にできる。 (#1627) (@hitenkoku)- 32ビット版のHayabusaが64ビットOSでも動作するようになった。 (#1665) (@akkuman)
- Filebeatが最後のイベントを見逃さないように、JSON/Lファイルの最終行の後にリターン文字を置くようにした。 (#1666) (@fukusuket)
バグ修正:
- レベルは、
--disable-abbreviationsオプションが有効であっても省略されていた。(#1672) (@fukusuket)
v3.3.0 - AUSCERT/SINCON Release
3.3.0 [2025/05/22] - AUSCERT/SINCON Release
Enhancements:
- Now output file size in base 1024 (Ex:
KiB,MiB,GiB). (#1648) (@fukusuket) - Improved the uptime calculation in the
computer-metricscommand. (#1656) (@fukusuket)
Bug Fixes:
- The
computer-metricscommand was not working with the Windows live response package. (#1654) (@fukusuket) ruletypefield was returned to being an optional field. (#1660) (@fukusuket)
改善:
- ファイルサイズを1024ベースで出力するようにした。(例:
KiB,MiB,GiB等) (#1648) (@fukusuket) computer-metricsコマンドのアップタイムの計算を改善した。 (#1656) (@fukusuket)
バグ修正:
- Windowsのライブレスポンスパッケージでは、
computer-metricsコマンドが正しく動作しなかった。 (#1654) (@fukusuket) ruletypeフィールドは任意フィールドに戻された。 (#1660) (@fukusuket)
v3.2.0 🦅
3.2.0 [2025/04/02] - Vegemite Release
Enhancements:
- Added uptime and timezone info to the
computer-metricscommand. (#1638) (@fukusuket) - Improved checking and logging of invalid rules. (#1601) (@fukusuket)
- Added first and last timestamp to the default output. (#1616) (@fukusuket)
Bug Fixes:
- Scans would fail if the
.evtxfile was not able to be opened. (#1634) (@fukusuket) - Elapsed time and saved file information was not being outputted in the HTML report. (#1643) (@fukusuket)
改善:
computer-metricsコマンドにアップタイムとタイムゾーン情報を追加した。 (#1638) (@fukusuket)- 無効なルールのチェックとロギングを改善した。 (#1601) (@fukusuket)
- デフォルトの出力に最初と最後のタイムスタンプを追加した。 (#1616) (@fukusuket)
バグ修正:
.evtxファイルが開けない場合、スキャンは失敗していた。 (#1634) (@fukusuket)- 経過時間と保存されたファイル情報がHTMLレポートに出力されていなかった。 (#1643) (@fukusuket)
v3.1.1 🦅
3.1.1 [2025/03/12] - Laksa Release
Enhancements:
- Updated Rust edition to 2024. (@fukusuket)
- Added OS information to the
computer-metricscommand. (#1629) (@fukusuket)
Bug Fixes:
- The number of
expandrules was not being properly displayed on the terminal. (#1598) (@fukusuket) - Rules without the
statusfield defined would be loaded even if you specifiedstatus: test, stable, etc... in the Scan Wizard. (#1602) (@fukusuket) expandrules were being loaded without configuration. (#1606) (@fukusuket)- Detecting double Base64 encoding was not working properly with the
extract-base64command. (#1607) (@fukusuket) - The terminal text would sometimes turn red after an error message. (#1610) (@fukusuket)
- The progress bar would not display when
-doption was used but-owas not used for some commands. (#1617) (@fukusuket) - The
pivot-keywords-listcommand was broken. (#1619) (@fukusuket) - Field data mapping was not working when
detailswas not defined. (#1614) (@fukusuket) - When the
detailsfield was not set, duplicate data was outputted to both theDetailscolumn andExtraFieldInfocolumn. Now it is just outputted to theDetailscolumn. (#1623) (@fukusuket)
改善:
- Rustエディションを2024に更新した。(@fukusuket)
computer-metricsコマンドにOS情報を追加した。 (#1629) (@fukusuket)
バグ修正:
expandルールの数がターミナルに正しく表示されていなかった。 (#1598) (@fukusuket)statusフィールドが定義されていないルールは、スキャンウィザードでstatus: test, stableなどを指定しても読み込まれた。(#1602) (@fukusuket)expandルールが設定なしでロードされていた。 (#1606) (@fukusuket)extract-base64コマンドでダブルBase64エンコーディングの検出が正しく動作していなかった。 (#1607) (@fukusuket)- エラーメッセージの後、端末の文字が赤くなることがあった。 (#1610) (@fukusuket)
- いくつかのコマンドで
-dオプションが使用され、-oオプションが使用されなかった場合、プログレスバーが表示されなかった。 (#1617) (@fukusuket) pivot-keywords-listコマンドが壊れていた。(#1619) (@fukusuket)detailsが未定義の場合、フィールドデータマッピングが正常に機能しなかった。 (#1614) (@fukusuket)detailsフィールドが設定されていない場合、Details列とExtraFieldInfo列の両方に重複したデータが出力されていた。現在はDetails列だけに出力される。 (#1623) (@fukusuket)
v3.1.0 🦅
3.1.0 [2025/2/22] - Ninja Day Release
New Features:
-X, --remove-duplicate-detectionsoption toeid-metricsandlogon-summarycommands. (#1552) (@fukusuket)- New "Emergency Alerts" and severity level adjustment based on critical systems. Add a list of the computer names of critical systems (Ex: Domain Controllers, File Servers, etc...) to
config/critical_systems.txtand all of the alerts abovelowwill be adjusted one higher. That is,lowwill becomemedium,mediumwill becomehigh, etc...criticalalerts will become newemergencyalerts. (#1551) (@fukusuket) - New
config-critical-systemscommand to automatically find domain controllers and file servers to add to the./config/critical_systems.txtfile. (#1570) (@fukusuket) - Added a
-S, --tab-separatoroption in thecsv-timeline,searchandlog-metricscommands to separate field information by tabs. (#1587) (@fukusuket)
Enhancements:
- Added
--timeline-start/--timeline-endoptions to thesearchcommand. (#1543) (@fukuseket) - Significantly improved the speed of the
logon-summarycommand with channel filtering. (#1544) (@fukusuket) - The
extract-base64command now also works onPowerShell Classic EID 400events. (#1549) (@fukusuket) - The
extract-base64command now also scans PowerShell Core logs as well. (#1558) (@fukusuket) - The
extract-base64command now also scansSystem 7045(Service Creation) events. (#1583) (@fukusuket) searchcommand uses much less memory and is faster as it does not sort results by default now. You can sort results like before with the new-s, --sortoption. (#1475) (@hach1yon)
Bug Fixes:
- An unneeded file was being created with
logon-summaryandpivot-keywords-listcommands. (#1553) (@fukusuket) - MITRE tactics JSON output was not consistent for a few rules. (#1573) (@fukusuket)
- Rule authors would not be outputted to the HTML report in version
v3.0.x. (#1571) (@fukusuket) - The rule file name for correlation rules would not be outputted in the JSON timeline when the live response encoded rules were used. (#1572) (@fukusuket)
- The
level-tuningcommand was not working. (#1584) (@fukusuket)
Other:
- The
-s, --sort-eventsoptions have been renamed to-s, --sort. (@YamatoSecurity) - Added the
RuleIDto all profiles exceptminimal. (@YamatoSecurity) - Code refactoring: use default trait to reduce unnecessary initialization codes in StoredStatic. (#1588) (@fukusuket)
新機能:
eid-metricsとlogon-summaryコマンドに-X, --remove-duplicate-detectionsオプションを追加した。 (#1552) (@fukusuket)- 新しい「緊急アラート 」と重要なシステムに基づく重大度レベルの調整。
config/critical_systems.txtに重要なシステム(例: ドメインコントローラ、ファイルサーバ等々)のコンピュータ名のリストを追加すると、low以上のすべてのアラートが1つ高く調整される。つまり、lowはmediumに、mediumはhighに、criticalアラートは新しいemergencyアラートになる。 (#1551) (@fukusuket) ./config/critical_systems.txtファイルに追加するドメインコントローラーとファイルサーバーを自動的に見つけるconfig-critical-systemsコマンドを追加した。 (#1570) (@fukusuket)csv-timeline、search、log-metricsコマンドに、フィールド情報をタブで区切る-S, --tab-separatorオプションを追加した。 (#1587) (@fukusuket)
改善:
searchコマンドに--timeline-start/--timeline-endオプションを追加した。 (#1543) (@fukuseket)- チャンネルフィルタリングで
logon-summaryコマンドの速度を大幅に改善した。 (#1544) (@fukusuket) extract-base64コマンドがPowerShell Classic EID 400イベントも対象するようになった。 (#1549) (@fukusuket)extract-base64コマンドがPowerShell Coreログにも対応した。 (#1558) (@fukusuket)extract-base64コマンドがSystem 7045(サービス作成)イベントにも対応した。 (#1583) (@fukusuket)searchコマンドは、デフォルトでは結果をソートしないので、メモリ使用量が大幅に減り、より高速になった。新しい-s, --sortオプションを使えば、以前と同じように結果をソートできる。(#1475) (@hach1yon)
バグ修正:
logon-summaryとpivot-keywords-listコマンドが不要なファイルを出力していた。 (#1553) (@fukusuket)- JSON出力では、いくつかのルールでMITRE戦術の一貫性がなかった。 (#1573) (@fukusuket)
- バージョンv3.0.x`ではルール作者情報がHTMLレポートに出力されていなかった。 (#1571) (@fukusuket)
- ライブ調査用のエンコードされたルールが使用されている場合、相関ルールのルールファイル名がJSONタイムラインに出力されていなかった。 (#1572) (@fukusuket)
level-tuningコマンドが正しく動いていなかった。 (#1584) (@fukusuket)
その他:
-s, --sort-eventsオプションが-s, --sortに名前変更された。 (@YamatoSecurity)minimal以外のプロファイルにRuleIDを追加した。 (@YamatoSecurity)- コードのリファクタリング: StoredStaticの不要な初期化コードを減らすためにデフォルトのtraitを使用することにした。 (#1588) (@fukusuket)
v3.0.1 🦅
Note: Re-uploaded packages with the latest rules on December 31st, 2024.
3.0.1 [2024/12/29] - 3rd Year Anniversary Release
Bug Fixes:
- Hayabusa would fail in rule parse checking on the backend with
expandrules. (#1537) (@fukusuket)
バグ修正:
- Hayabusaはバックエンドで
expandルールのパースチェックに失敗していた。 (#1537) (@fukusuket)
v3.0.0 🦅
3.0.0 [2024/12/25] - 3rd Year Anniversary Release
New Features:
- New
extract-base64command to extract and decode base64 strings from events. (#1512) (@fukusuket) - New
expand-listcommand to output placeholder names used for rules with theexpandmodifier. (#1513) (@fukuseket) - Support for
expandfield modifiers. (#1434) (@fukusuket) - Support for Temporal Proximity (
temporal) correlation rules. (#1446) (@fukusuket) - Support for Temporal Ordered Proximity (
temporal_ordered) correlation rules. (#1447) (@fukusuket)
Enhancements:
- Log file size added to
log-metricscommand. (#1528) (@fukusuket)
Bug Fixes:
- Sorting with
csv-timelinewas not done perfectly when record IDs were outputted. (#1519) (@fukusuket) -J, --JSON-inputwould only accept.jsonfiles, not.jsonlfiles so now both are supported. (#1530) (@fukusuket)
新機能:
- Base64文字列を抽出して、デコードする
extract-base64コマンドを追加した。(#1512) (@fukusuket) expand修飾子が入っているルールで使用されるプレースホルダー名を出力するexpand-listコマンドを追加した。(#1513) (@fukuseket)expandフィールド修飾子に対応した。 (#1434) (@fukusuket)- Temporal Proximity(
temporal)の相関ルールに対応した。 (#1446) (@fukusuket) - Temporal Ordered Proximity (
temporal_ordered) の相関ルールに対応した。 (#1447) (@fukusuket)
改善:
log-metricsコマンドにファイルサイズを追加した。 (#1528) (@fukusuket)
バグ修正:
- レコードIDが出力されるとき、
csv-timelineによるソートが完璧に行われなかった。 (#1519) (@fukusuket) J, --JSON-inputは、.jsonファイルしか対応していなかったので、.jsonlファイルにも対応した。 (#1530) (@fukusuket)