Abstract
Parsnip has three parts. The first part is the front-end user experience. The front end will be a graphical representation of the intermediate language. Once a user is satisfied with the information on the front end, Parsnip translates the data from the visual application into the second part of Parsnip - the intermediate language. More advanced users may skip the front end and generate their own intermediate language files. The final part is the backend which takes the intermediate language files and generates Zeek and Spicy code.
Parsnip will not completely replace parser developers. Many protocols have unique challenges requiring manual effort; however, the goal of Parsnip is to automate at least 90% of the development that largely consists of repetitive tasks. Parsnip output will compile a functioning parser but may not include all PDU types or parse all data.
- Developers:
-
Huddleston, Timothy [1] ; Pierce, Melanie [1] ;
[1]
;
Williams, Taegan
[1]
;
Grover, Seth
[1]
;
Harmon, Payton
[1]
;
Hudson, David
[1]
- Idaho National Laboratory (INL), Idaho Falls, ID (United States)
- Release Date:
- 2024-01-11
- Project Type:
- Open Source, Publicly Available Repository
- Software Type:
- Scientific
- Programming Languages:
-
JavaScript
Python
Jinja2
- Licenses:
-
BSD 3-clause "New" or "Revised" License
- Sponsoring Org.:
-
USDOE Office of Nuclear Energy (NE)Primary Award/Contract Number:AC07-05ID14517
- Code ID:
- 126740
- Research Org.:
- Idaho National Laboratory (INL), Idaho Falls, ID (United States)
- Country of Origin:
- United States
- Keywords:
- Spicy; Zeek Parser; ICS Protocols; ICS Protocol Parsers; ICSNPP; Parsnip
Citation Formats
Huddleston, Timothy A., Pierce, Melanie A., Becker, Christopher D., Williams, Taegan M., Grover, Seth D., Harmon, Payton N., and Hudson, David A.
Parsnip Parser Creation Application.
Computer Software.
https://github.com/cisagov/parsnip.
USDOE Office of Nuclear Energy (NE).
11 Jan. 2024.
Web.
doi:10.11578/dc.20240430.2.
Huddleston, Timothy A., Pierce, Melanie A., Becker, Christopher D., Williams, Taegan M., Grover, Seth D., Harmon, Payton N., & Hudson, David A.
(2024, January 11).
Parsnip Parser Creation Application.
[Computer software].
https://github.com/cisagov/parsnip.
https://doi.org/10.11578/dc.20240430.2.
Huddleston, Timothy A., Pierce, Melanie A., Becker, Christopher D., Williams, Taegan M., Grover, Seth D., Harmon, Payton N., and Hudson, David A.
"Parsnip Parser Creation Application." Computer software.
January 11, 2024.
https://github.com/cisagov/parsnip.
https://doi.org/10.11578/dc.20240430.2.
@misc{
doecode_126740,
title = {Parsnip Parser Creation Application},
author = {Huddleston, Timothy A. and Pierce, Melanie A. and Becker, Christopher D. and Williams, Taegan M. and Grover, Seth D. and Harmon, Payton N. and Hudson, David A.},
abstractNote = {Parsnip has three parts. The first part is the front-end user experience. The front end will be a graphical representation of the intermediate language. Once a user is satisfied with the information on the front end, Parsnip translates the data from the visual application into the second part of Parsnip - the intermediate language. More advanced users may skip the front end and generate their own intermediate language files. The final part is the backend which takes the intermediate language files and generates Zeek and Spicy code.
Parsnip will not completely replace parser developers. Many protocols have unique challenges requiring manual effort; however, the goal of Parsnip is to automate at least 90% of the development that largely consists of repetitive tasks. Parsnip output will compile a functioning parser but may not include all PDU types or parse all data.},
doi = {10.11578/dc.20240430.2},
url = {https://doi.org/10.11578/dc.20240430.2},
howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20240430.2}},
year = {2024},
month = {jan}
}