Ohad Shamir

248 papers A* 84A 8B 4C 1Misc 1Journal 131Unranked 18
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Daniel Barzilai, Ohad Shamir
2025 J jnl
CoRR
Guy Barzilai, Ohad Shamir, Moslem Zamani
2025 J jnl
Trans. Mach. Learn. Res.
Guy Barzilai, Ohad Shamir, Moslem Zamani
2025 J jnl
CoRR
Itamar Shoshani, Ohad Shamir
2025 A* conf
COLT
Amitsour Egosi, Gilad Yehudai, Ohad Shamir
2025 J jnl
CoRR
Amitsour Egosi, Gilad Yehudai, Ohad Shamir
2025 J jnl
CoRR
Daniel Barzilai, Guy Kornowski, Ohad Shamir
2025 A* conf
COLT
Guy Kornowski, Ohad Shamir
2025 J jnl
CoRR
Daniel Barzilai, Ohad Shamir
2024 J jnl
J. Mach. Learn. Res.
Guy Kornowski, Ohad Shamir
2024 A* conf
COLT
Suzanna Parkinson, Greg Ongie, Rebecca Willett, Ohad Shamir, Nathan Srebro
2024 J jnl
CoRR
Suzanna Parkinson, Greg Ongie, Rebecca Willett, Ohad Shamir, Nathan Srebro
2024 A* conf
ICML
Daniel Barzilai, Ohad Shamir
2024 J jnl
CoRR
Guy Kornowski, Swati Padmanabhan, Ohad Shamir
2024 A* conf
COLT
Guy Kornowski, Ohad Shamir
2024 J jnl
CoRR
Guy Kornowski, Ohad Shamir
2024 J jnl
CoRR
Daniel Barzilai, Ohad Shamir
2024 J jnl
CoRR
Guy Kornowski, Ohad Shamir
2023 A* conf
NeurIPS
Nikita Kornilov, Ohad Shamir, Aleksandr V. Lobanov, Darina Dvinskikh, Alexander V. Gasnikov, Innokentiy Shibaev, Eduard Gorbunov, Samuel Horváth
2023 J jnl
CoRR
Guy Kornowski, Ohad Shamir
2023 A* conf
COLT
Michael I. Jordan, Guy Kornowski, Tianyi Lin, Ohad Shamir, Manolis Zampetakis
2023 J jnl
CoRR
Michael I. Jordan, Guy Kornowski, Tianyi Lin, Ohad Shamir, Manolis Zampetakis
2023 A* conf
NeurIPS
Guy Kornowski, Gilad Yehudai, Ohad Shamir
2023 J jnl
CoRR
Guy Kornowski, Gilad Yehudai, Ohad Shamir
2023 J jnl
CoRR
Daniel Barzilai, Ohad Shamir
2023 B conf
ALT
Nadav Timor, Gal Vardi, Ohad Shamir
2023 A* conf
NeurIPS
Roey Magen, Ohad Shamir
2023 J jnl
CoRR
Roey Magen, Ohad Shamir
2023 J jnl
J. Mach. Learn. Res.
Ohad Shamir
2022 Misc conf
ISAIM
Ohad Shamir
2022 A* conf
NeurIPS
Gal Vardi, Gilad Yehudai, Ohad Shamir
2022 J jnl
CoRR
Gal Vardi, Gilad Yehudai, Ohad Shamir
2022 J jnl
CoRR
Nadav Timor, Gal Vardi, Ohad Shamir
2022 A* conf
NeurIPS
Gal Vardi, Ohad Shamir, Nati Srebro
2022 J jnl
CoRR
Guy Kornowski, Ohad Shamir
2022 A* conf
ICLR
Gal Vardi, Gilad Yehudai, Ohad Shamir
2022 J jnl
J. Mach. Learn. Res.
Guy Kornowski, Ohad Shamir
2022 A* conf
NeurIPS
Niv Haim, Gal Vardi, Gilad Yehudai, Ohad Shamir, Michal Irani
2022 J jnl
CoRR
Niv Haim, Gal Vardi, Gilad Yehudai, Ohad Shamir, Michal Irani
2022 A* conf
COLT
Ohad Shamir
2022 J jnl
CoRR
Ohad Shamir
2022 A* conf
IJCAI
Blake E. Woodworth, Brian Bullins, Ohad Shamir, Nathan Srebro
2022 A* conf
NeurIPS
Gal Vardi, Ohad Shamir, Nati Srebro
2022 J jnl
CoRR
Gal Vardi, Ohad Shamir, Nathan Srebro
2022 A* conf
COLT
Gal Vardi, Gilad Yehudai, Ohad Shamir
2022 J jnl
CoRR
Gal Vardi, Gilad Yehudai, Ohad Shamir
2021 A* conf
NeurIPS
Brian Bullins, Kumar Kshitij Patel, Ohad Shamir, Nathan Srebro, Blake E. Woodworth
2021 J jnl
CoRR
Brian Bullins, Kumar Kshitij Patel, Ohad Shamir, Nathan Srebro, Blake E. Woodworth
2021 J jnl
CoRR
Liran Szlak, Ohad Shamir
2021 J jnl
J. Mach. Learn. Res.
Ohad Shamir
2021 A* conf
COLT
Gal Vardi, Ohad Shamir
2021 A* conf
NeurIPS
Gal Vardi, Gilad Yehudai, Ohad Shamir
2021 J jnl
CoRR
Gal Vardi, Gilad Yehudai, Ohad Shamir
2021 J jnl
CoRR
Gal Vardi, Ohad Shamir, Nathan Srebro
2021 J jnl
CoRR
Gal Vardi, Gilad Yehudai, Ohad Shamir
2021 A* conf
NeurIPS
Guy Kornowski, Ohad Shamir
2021 J jnl
CoRR
Guy Kornowski, Ohad Shamir
2021 A* conf
NeurIPS
Itay Safran, Ohad Shamir
2021 J jnl
CoRR
Itay Safran, Ohad Shamir
2021 J jnl
CoRR
Liran Szlak, Ohad Shamir
2021 A* conf
COLT
Gal Vardi, Daniel Reichman, Toniann Pitassi, Ohad Shamir
2021 J jnl
CoRR
Gal Vardi, Daniel Reichman, Toniann Pitassi, Ohad Shamir
2021 A* conf
COLT
Eran Malach, Gilad Yehudai, Shai Shalev-Shwartz, Ohad Shamir
2021 J jnl
CoRR
Eran Malach, Gilad Yehudai, Shai Shalev-Shwartz, Ohad Shamir
2021 A* conf
COLT
Itay Safran, Gilad Yehudai, Ohad Shamir
2021 A* conf
COLT
Blake E. Woodworth, Brian Bullins, Ohad Shamir, Nathan Srebro
2021 J jnl
CoRR
Blake E. Woodworth, Brian Bullins, Ohad Shamir, Nathan Srebro
2020 B conf
ALT
Yossi Arjevani, Ohad Shamir, Nathan Srebro
2020 J jnl
CoRR
Ohad Shamir
2020 J jnl
CoRR
Ohad Shamir
2020 J jnl
CoRR
Guy Kornowski, Ohad Shamir
2020 A* conf
COLT
Itay Safran, Ohad Shamir
2020 J jnl
CoRR
Gal Vardi, Ohad Shamir
2020 A* conf
ICML
Blake E. Woodworth, Kumar Kshitij Patel, Sebastian U. Stich, Zhen Dai, Brian Bullins, H. Brendan McMahan, Ohad Shamir, Nathan Srebro
2020 J jnl
CoRR
Blake E. Woodworth, Kumar Kshitij Patel, Sebastian U. Stich, Zhen Dai, Brian Bullins, H. Brendan McMahan, Ohad Shamir, Nathan Srebro
2020 A* conf
COLT
Gilad Yehudai, Ohad Shamir
2020 J jnl
CoRR
Gilad Yehudai, Ohad Shamir
2020 A* conf
NeurIPS
Gal Vardi, Ohad Shamir
2020 J jnl
CoRR
Gal Vardi, Ohad Shamir
2020 J jnl
Electron. Colloquium Comput. Complex.
Gal Vardi, Ohad Shamir
2020 A* conf
ICML
Eran Malach, Gilad Yehudai, Shai Shalev-Shwartz, Ohad Shamir
2020 J jnl
CoRR
Eran Malach, Gilad Yehudai, Shai Shalev-Shwartz, Ohad Shamir
2020 A* conf
ICML
Yoel Drori, Ohad Shamir
2020 J jnl
CoRR
Itay Safran, Gilad Yehudai, Ohad Shamir
2019 A* conf
COLT
Itay Safran, Ronen Eldan, Ohad Shamir
2019 J jnl
CoRR
Itay Safran, Ronen Eldan, Ohad Shamir
2019 A* conf
COLT
Ohad Shamir
2019 J jnl
CoRR
Itay Safran, Ohad Shamir
2019 A* conf
NeurIPS
Gilad Yehudai, Ohad Shamir
2019 J jnl
CoRR
Gilad Yehudai, Ohad Shamir
2019 J jnl
Math. Program.
Yossi Arjevani, Ohad Shamir, Ron Shiff
2019 A* conf
COLT
Yuval Dagan, Gil Kur, Ohad Shamir
2019 J jnl
CoRR
Yuval Dagan, Gil Kur, Ohad Shamir
2019 J jnl
CoRR
Yoel Drori, Ohad Shamir
2019 A* conf
COLT
Dylan J. Foster, Ayush Sekhari, Ohad Shamir, Nathan Srebro, Karthik Sridharan, Blake E. Woodworth
2019 J jnl
CoRR
Dylan J. Foster, Ayush Sekhari, Ohad Shamir, Nathan Srebro, Karthik Sridharan, Blake E. Woodworth
2018 J jnl
CoRR
Yossi Arjevani, Ohad Shamir, Nathan Srebro
2018 A* conf
NeurIPS
Ohad Shamir
2018 J jnl
CoRR
Ohad Shamir
2018 B conf
ALT
Nicolò Cesa-Bianchi, Ohad Shamir
2018 A* conf
COLT
Yuval Dagan, Ohad Shamir
2018 J jnl
CoRR
Yuval Dagan, Ohad Shamir
2018 J jnl
J. Mach. Learn. Res.
Ohad Shamir
2018 J jnl
CoRR
Ohad Shamir
2018 A* conf
NeurIPS
Murat A. Erdogdu, Lester Mackey, Ohad Shamir
2018 J jnl
CoRR
Murat A. Erdogdu, Lester Mackey, Ohad Shamir
2018 A* conf
COLT
Noah Golowich, Alexander Rakhlin, Ohad Shamir
2018 A* conf
ICML
Itay Safran, Ohad Shamir
2017 J jnl
J. Mach. Learn. Res.
Ohad Shamir
2017 J jnl
CoRR
Nicolò Cesa-Bianchi, Ohad Shamir
2017 A* conf
ICML
Dan Garber, Ohad Shamir, Nathan Srebro
2017 J jnl
CoRR
Dan Garber, Ohad Shamir, Nathan Srebro
2017 A* conf
ICML
Itay Safran, Ohad Shamir
2017 J jnl
CoRR
Shai Shalev-Shwartz, Ohad Shamir, Shaked Shammah
2017 A* conf
ICML
Shai Shalev-Shwartz, Ohad Shamir, Shaked Shammah
2017 J jnl
SIAM J. Comput.
Noga Alon, Nicolò Cesa-Bianchi, Claudio Gentile, Shie Mannor, Yishay Mansour, Ohad Shamir
2017 A* conf
ICML
Ohad Shamir, Liran Szlak
2017 J jnl
CoRR
Ohad Shamir, Liran Szlak
2017 A* conf
ICML
Yossi Arjevani, Ohad Shamir
2017 A* conf
COLT
Satyen Kale, Ohad Shamir
2017 A* ed.
COLT
Satyen Kale, Ohad Shamir
2017 J jnl
CoRR
Noah Golowich, Alexander Rakhlin, Ohad Shamir
2017 J jnl
CoRR
Itay Safran, Ohad Shamir
2017 J jnl
CoRR
Shai Shalev-Shwartz, Ohad Shamir, Shaked Shammah
2016 A* conf
ICML
Ohad Shamir
2016 J jnl
CoRR
Itay Safran, Ohad Shamir
2016 conf
NIPS
Yossi Arjevani, Ohad Shamir
2016 J jnl
CoRR
Yossi Arjevani, Ohad Shamir
2016 J jnl
CoRR
Ohad Shamir
2016 A* conf
ICML
Ohad Shamir
2016 A* conf
ICML
Jonathan Rosenski, Ohad Shamir, Liran Szlak
2016 J jnl
J. Mach. Learn. Res.
Yossi Arjevani, Shai Shalev-Shwartz, Ohad Shamir
2016 A* conf
ICML
Yossi Arjevani, Ohad Shamir
2016 J jnl
CoRR
Yossi Arjevani, Ohad Shamir
2016 A* conf
ICML
Itay Safran, Ohad Shamir
2016 J jnl
CoRR
Yossi Arjevani, Ohad Shamir
2016 A* ed.
COLT
Vitaly Feldman, Alexander Rakhlin, Ohad Shamir
2016 A* conf
COLT
Ronen Eldan, Ohad Shamir
2016 J jnl
Math. Oper. Res.
Niv Buchbinder, Shahar Chen, Joseph Naor, Ohad Shamir
2016 conf
NIPS
Ohad Shamir
2016 J jnl
CoRR
Ohad Shamir
2015 A* conf
ICML
Ohad Shamir
2015 J jnl
CoRR
Ohad Shamir
2015 A* conf
ICML
Doron Kukliansky, Ohad Shamir
2015 conf
NIPS
Yossi Arjevani, Ohad Shamir
2015 J jnl
CoRR
Yossi Arjevani, Ohad Shamir
2015 J jnl
CoRR
Ohad Shamir
2015 J jnl
CoRR
Ohad Shamir
2015 A conf
AISTATS
Ethan Fetaya, Ohad Shamir, Shimon Ullman
2015 J jnl
CoRR
Jonathan Rosenski, Ohad Shamir, Liran Szlak
2015 J jnl
CoRR
Yossi Arjevani, Shai Shalev-Shwartz, Ohad Shamir
2015 A* conf
COLT
Ohad Shamir
2015 A* conf
COLT
Nicolò Cesa-Bianchi, Yishay Mansour, Ohad Shamir
2015 J jnl
CoRR
Itay Safran, Ohad Shamir
2015 J jnl
CoRR
Ronen Eldan, Ohad Shamir
2015 J jnl
J. Mach. Learn. Res.
Ohad Shamir
2014 J jnl
CoRR
Ohad Shamir
2014 J jnl
CoRR
Doron Kukliansky, Ohad Shamir
2014 A* conf
ICML
Ohad Shamir, Nathan Srebro, Tong Zhang
2014 conf
Allerton
Ohad Shamir, Nathan Srebro
2014 conf
NIPS
Ohad Shamir
2014 J jnl
CoRR
Ethan Fetaya, Ohad Shamir, Shimon Ullman
2014 J jnl
J. Mach. Learn. Res.
Ohad Shamir, Shai Shalev-Shwartz
2014 J jnl
CoRR
Noga Alon, Nicolò Cesa-Bianchi, Claudio Gentile, Shie Mannor, Yishay Mansour, Ohad Shamir
2014 J jnl
CoRR
Ohad Shamir
2014 J jnl
CoRR
Nicolò Cesa-Bianchi, Yishay Mansour, Ohad Shamir
2014 conf
NIPS
Roi Livni, Shai Shalev-Shwartz, Ohad Shamir
2014 J jnl
CoRR
Roi Livni, Shai Shalev-Shwartz, Ohad Shamir
2014 conf
ICAC
Ishai Menache, Ohad Shamir, Navendu Jain
2014 J jnl
CoRR
Ohad Shamir
2013 J jnl
CoRR
Roi Livni, Shai Shalev-Shwartz, Ohad Shamir
2013 C conf
SPIRE
Or Zuk, Amnon Amir, Amit Zeisel, Ohad Shamir, Noam Shental
2013 J jnl
CoRR
Or Zuk, Amnon Amir, Amit Zeisel, Ohad Shamir, Noam Shental
2013 J jnl
CoRR
Ohad Shamir, Nathan Srebro, Tong Zhang
2013 conf
Empirical Inference
Nicolò Cesa-Bianchi, Ohad Shamir
2013 J jnl
CoRR
Ohad Shamir
2013 A conf
AISTATS
Alexander Rakhlin, Ohad Shamir, Karthik Sridharan
2013 A* conf
COLT
Ohad Shamir
2013 J jnl
CoRR
Oren Anava, Elad Hazan, Shie Mannor, Ohad Shamir
2013 A* conf
COLT
Oren Anava, Elad Hazan, Shie Mannor, Ohad Shamir
2013 J jnl
CoRR
Nicolò Cesa-Bianchi, Ofer Dekel, Ohad Shamir
2013 conf
NIPS
Nicolò Cesa-Bianchi, Ofer Dekel, Ohad Shamir
2013 A* conf
CVPR
Baoyuan Liu, Fereshteh Sadeghi, Marshall F. Tappen, Ohad Shamir, Ce Liu
2013 conf
ICML (1)
Ohad Shamir, Tong Zhang
2012 J jnl
CoRR
Orly Avner, Shie Mannor, Ohad Shamir
2012 A* conf
ICML
Orly Avner, Shie Mannor, Ohad Shamir
2012 A conf
AISTATS
Ruth Urner, Shai Ben-David, Ohad Shamir
2012 A* conf
ICML
Alexander Rakhlin, Ohad Shamir, Karthik Sridharan
2012 J jnl
CoRR
Ohad Shamir
2012 A* conf
COLT
Ohad Shamir
2012 J jnl
J. Mach. Learn. Res.
Ofer Dekel, Ran Gilad-Bachrach, Ohad Shamir, Lin Xiao
2012 J jnl
CoRR
Alexander Rakhlin, Ohad Shamir, Karthik Sridharan
2012 conf
NIPS
Alexander Rakhlin, Ohad Shamir, Karthik Sridharan
2012 J jnl
CoRR
Ohad Shamir, Tong Zhang
2012 A conf
AISTATS
Ofer Dekel, Ohad Shamir
2012 A* conf
COLT
Niv Buchbinder, Shahar Chen, Joseph Naor, Ohad Shamir
2012 A conf
AISTATS
Shai Shalev-Shwartz, Ohad Shamir, Eran Tromer
2011 J jnl
CoRR
Ohad Shamir
2011 J jnl
CoRR
Omer Tamuz, Ce Liu, Serge J. Belongie, Ohad Shamir, Adam Tauman Kalai
2011 A* conf
ICML
Omer Tamuz, Ce Liu, Serge J. Belongie, Ohad Shamir, Adam Kalai
2011 J jnl
CoRR
Andrew Cotter, Ohad Shamir, Nathan Srebro, Karthik Sridharan
2011 conf
NIPS
Andrew Cotter, Ohad Shamir, Nati Srebro, Karthik Sridharan
2011 A* conf
COLT
Ohad Shamir, Shai Shalev-Shwartz
2011 J jnl
CoRR
Sham M. Kakade, Adam Tauman Kalai, Varun Kanade, Ohad Shamir
2011 conf
NIPS
Sham M. Kakade, Adam Kalai, Varun Kanade, Ohad Shamir
2011 J jnl
J. Mach. Learn. Res.
Nicolò Cesa-Bianchi, Shai Shalev-Shwartz, Ohad Shamir
2011 J jnl
CoRR
Nicolò Cesa-Bianchi, Ohad Shamir
2011 conf
NIPS
Nicolò Cesa-Bianchi, Ohad Shamir
2011 J jnl
CoRR
Shie Mannor, Ohad Shamir
2011 conf
NIPS
Shie Mannor, Ohad Shamir
2011 J jnl
CoRR
Shai Shalev-Shwartz, Alon Gonen, Ohad Shamir
2011 A* conf
ICML
Shai Shalev-Shwartz, Alon Gonen, Ohad Shamir
2011 J jnl
SIAM J. Comput.
Shai Shalev-Shwartz, Ohad Shamir, Karthik Sridharan
2011 A* conf
IJCAI
Shai Shalev-Shwartz, Ohad Shamir, Karthik Sridharan
2011 J jnl
CoRR
Rina Foygel, Ruslan Salakhutdinov, Ohad Shamir, Nathan Srebro
2011 conf
NIPS
Rina Foygel, Ruslan Salakhutdinov, Ohad Shamir, Nati Srebro
2011 J jnl
CoRR
Ohad Shamir
2011 J jnl
IEEE Trans. Inf. Theory
Nicolò Cesa-Bianchi, Shai Shalev-Shwartz, Ohad Shamir
2011 A* conf
ICML
Ofer Dekel, Ran Gilad-Bachrach, Ohad Shamir, Lin Xiao
2011 A* conf
AAAI
Nicolò Cesa-Bianchi, Shai Shalev-Shwartz, Ohad Shamir
2011 A conf
AISTATS
Ohad Shamir, Naftali Tishby
2011 J jnl
CoRR
Shai Shalev-Shwartz, Ohad Shamir, Eran Tromer
2010 J jnl
CoRR
Nicolò Cesa-Bianchi, Shai Shalev-Shwartz, Ohad Shamir
2010 A* conf
ICML
Nicolò Cesa-Bianchi, Shai Shalev-Shwartz, Ohad Shamir
2010 J jnl
J. Mach. Learn. Res.
Shai Shalev-Shwartz, Ohad Shamir, Nathan Srebro, Karthik Sridharan
2010 A conf
AISTATS
Sham M. Kakade, Ohad Shamir, Karthik Sindharan, Ambuj Tewari
2010 J jnl
CoRR
Shai Shalev-Shwartz, Ohad Shamir, Karthik Sridharan
2010 A* conf
COLT
Shai Shalev-Shwartz, Ohad Shamir, Karthik Sridharan
2010 J jnl
Theor. Comput. Sci.
Ohad Shamir, Sivan Sabato, Naftali Tishby
2010 J jnl
Mach. Learn.
Ofer Dekel, Ohad Shamir, Lin Xiao
2010 A conf
AISTATS
Ofer Dekel, Ohad Shamir
2010
Ohad Shamir
2010 J jnl
CoRR
Nicolò Cesa-Bianchi, Shai Shalev-Shwartz, Ohad Shamir
2010 A* conf
COLT
Nicolò Cesa-Bianchi, Shai Shalev-Shwartz, Ohad Shamir
2010 J jnl
CoRR
Ofer Dekel, Ran Gilad-Bachrach, Ohad Shamir, Lin Xiao
2010 J jnl
CoRR
Ofer Dekel, Ran Gilad-Bachrach, Ohad Shamir, Lin Xiao
2010 J jnl
Mach. Learn.
Ohad Shamir, Naftali Tishby
2009 A* conf
ICML
Ofer Dekel, Ohad Shamir
2009 A* conf
COLT
Shai Shalev-Shwartz, Ohad Shamir, Nathan Srebro, Karthik Sridharan
2009 J jnl
CoRR
Sham M. Kakade, Ohad Shamir, Karthik Sridharan, Ambuj Tewari
2009 A* conf
COLT
Shai Shalev-Shwartz, Ohad Shamir, Nathan Srebro, Karthik Sridharan
2009 A* conf
COLT
Shai Shalev-Shwartz, Ohad Shamir, Karthik Sridharan
2009 A* conf
COLT
Ofer Dekel, Ohad Shamir
2008 B conf
ALT
Ohad Shamir, Sivan Sabato, Naftali Tishby
2008 A* conf
ICML
Ofer Dekel, Ohad Shamir
2008 A* conf
COLT
Ohad Shamir, Naftali Tishby
2008 conf
NIPS
Ohad Shamir, Naftali Tishby
2007 conf
NIPS
Ohad Shamir, Naftali Tishby
yara/README.md
← Index yara/README.md markdown
# YARA Rules Directory

This folder contains YARA rules for scanning binary samples.

## Setting Up YARA-Forge Rules

To use the YARA-Forge rules from [https://github.com/YARAHQ/yara-forge](https://github.com/YARAHQ/yara-forge):

```bash
# Download the latest release
cd /path/to/redb/yara
# wget https://github.com/YARAHQ/yara-forge/releases/latest/download/yara-forge-rules-core.zip
wget https://github.com/YARAHQ/yara-forge/releases/latest/download/yara-forge-rules-extended.zip

# Extract rules
# unzip yara-forge-rules-core.zip
unzip yara-forge-rules-extended.zip
```

Available packages:
- `yara-forge-rules-core.zip` - Core rules (~5,000 rules)
- `yara-forge-rules-extended.zip` - Extended rules (~10,000 rules)
- `yara-forge-rules-full.zip` - Full rules (~11,000+ rules)

## Pre-compiling Rules (Recommended for Production)

For large rulesets like YARA-Forge, pre-compiling rules significantly improves startup time:

```bash
# Pre-compile all rules into a single .yarac file
python -m redb.extractors.yara --compile

# Or specify custom paths
python -m redb.extractors.yara --compile --rules-path /path/to/rules --output /path/to/output.yarac
```

This creates `yara/compiled_rules.yarac` which is loaded automatically on subsequent runs.

### Performance Comparison

| Method | First Scan Startup | Subsequent Scans |
|--------|-------------------|------------------|
| Source files (.yar) | ~10-30 seconds (11k rules) | Instant (cached) |
| Pre-compiled (.yarac) | ~1-2 seconds | Instant (cached) |

## Directory Structure

```
yara/
├── README.md
├── .gitkeep
├── compiled_rules.yarac    # (optional) Pre-compiled rules
├── packages/               # YARA-Forge packages
│   └── core/
│       └── *.yar
└── custom/                 # Your custom rules
    └── my_rules.yar
```

Rules are loaded in this priority:
1. `compiled_rules.yarac` (if exists) - fastest
2. All `.yar` and `.yara` files recursively - compiles on first run

## Usage

### Scan with YARA only

```bash
# Scan local files
python start.py --path /path/to/samples -y --repo my_repo --index_prefix redb

# Scan S3 samples
python start.py --s3 --repo bazaar -y --index_prefix redb

# Dry-run (print results instead of storing in ClickHouse)
python start.py --path /path/to/samples -y --dry-run --repo test --index_prefix redb
```

### Scan already-analyzed samples

Run YARA on samples that were previously analyzed (already in `basic_properties`).
Deduplication is handled by the `yara_matches` table — samples already scanned are
automatically excluded before processing begins:

```bash
# Scan all analyzed macho samples with YARA
python start.py --analyzed --magika macho -y --index_prefix redb

# Scan all analyzed PE samples with YARA
python start.py --analyzed --magika pe -y --index_prefix redb

# Scan all analyzed samples (no filetype filter)
python start.py --analyzed -y --index_prefix redb
```

### Partition large YARA runs by date

Combine `--analyzed` with `--range` to partition millions of samples into
manageable batches. Only samples in `basic_properties` AND within the date
range (by `first_seen` in `catalog_samples`) are processed:

```bash
# Scan analyzed PE samples from Feb 2025
python start.py --range 2025-02-01 2025-02-28 --analyzed --magika pebin -y --index_prefix redb

# Scan analyzed PE samples from first week of March 2025
python start.py --range 2025-03-01 2025-03-08 --analyzed --magika pebin -y --index_prefix redb
```

YARA dedup still applies — re-running a range safely skips already-scanned samples.

### Combined Features + YARA

Run feature extraction and YARA scanning together on the same samples:

```bash
# Local files with features + YARA
python start.py --path /path/to/samples --with-yara --repo my_repo --index_prefix redb

# S3 samples with features + YARA
python start.py --s3 --repo bazaar --with-yara --index_prefix redb
```

### Pre-compile Rules

```bash
# Compile and save to default location (yara/compiled_rules.yarac)
python -m redb.extractors.yara --compile

# Compile with custom paths
python -m redb.extractors.yara --compile --rules-path ./my_rules --output ./compiled.yarac
```

### Sync Rules to Database

Before batch scanning, sync rules to ensure all rule metadata is stored:

```bash
# Sync rules to database
python -m redb.extractors.yara --sync-rules

# Sync with custom source collection name
python -m redb.extractors.yara --sync-rules --source-collection yara-forge-core

# Compile and sync in one command
python -m redb.extractors.yara --compile --sync-rules
```

## ClickHouse Table Schema

YARA data uses a **normalized schema** with two tables for efficient storage.

### Matches Table: `yara_matches`

Stores one row per sample-rule match (optimized with binary sha256 and rule_id):

| Column | Type | Description |
|--------|------|-------------|
| sha256 | FixedString(32) | Binary SHA256 (32 bytes, use `hex(sha256)` to display) |
| rule_id | UInt64 | Unique rule identifier (xxHash64 of canonical rule content) |
| rule_name | LowCardinality(String) | YARA rule name (denormalized for convenience) |
| scan_date | DateTime64(3, 'UTC') | Scan timestamp |
| match_strings | Array(String) | Matched string identifiers |

### Rules Table: `yara_rules`

Stores rule metadata once per unique rule (deduplicated by rule_id):

| Column | Type | Description |
|--------|------|-------------|
| rule_id | UInt64 | Unique rule identifier (xxHash64 of canonical rule content) |
| rule_name | String | YARA rule name |
| source_collection | LowCardinality(String) | Source collection (e.g., 'yara-forge-core', 'malpedia') |
| ingested_at | DateTime64(3, 'UTC') | When this rule was ingested |
| rule_text | String | Full rule source code |
| rule_meta | JSON | Rule metadata (author, description, reference, etc.) |
| rule_tags | Array(LowCardinality(String)) | Rule tags |

### Schema Benefits

- **Binary SHA256**: 32 bytes vs 64 bytes (50% storage savings on hash columns)
- **UInt64 rule_id**: Fast joins and lookups via integer key
- **Content-based rule_id**: xxHash64 of canonical rule content (excluding metadata) for deduplication
- **Denormalized rule_name**: Allows queries without joins for common use cases

### Example Queries

```sql
-- Get matches with hex sha256
SELECT
    hex(m.sha256) as sha256,
    m.rule_name,
    m.match_strings
FROM yara_matches m
WHERE m.sha256 = unhex('abc123...')

-- Join with rules for full metadata
SELECT
    hex(m.sha256) as sha256,
    m.rule_name,
    m.match_strings,
    r.rule_meta,
    r.source_collection
FROM yara_matches m
JOIN yara_rules r ON m.rule_id = r.rule_id
WHERE m.sha256 = unhex('abc123...')

-- Find all samples matching a specific rule
SELECT hex(sha256), scan_date
FROM yara_matches
WHERE rule_name = 'APT_Lazarus_Loader'
ORDER BY scan_date DESC
```

## Environment Variables

| Variable | Description | Default |
|----------|-------------|---------|
| `YARA_RULES_PATH` | Override the YARA rules directory | `yara/` |
| `YARA_COMPILED_RULES` | Compiled rules filename | `compiled_rules.yarac` |
| `YARA_SOURCE_COLLECTION` | Default source collection name | `default` |