At work I am responsible for creating information security reports that contain long narratives and reference what we refer to as "vulnerabilities". These vulnerabilities are presented in a table. I have been using Microsoft Word for a long time but I just stumbled into Latex and it looks like it could really help me save time and increase accuracy.
I have been doing some reading but there is a lot of material out there. When I found this stackexchange site I couldn't resist asking for some advice.
The reports that I put together average about 100 pages. They have multiple sections that outline the entire test at a high level (executive overview) as well as many other sections that describe in depth attack narratives.
I have a pretty good grasp on the typical syntax for marking a latex document up but what I am starting to wonder about is how I can create a cross reference (I am not sure if this is the correct term) in a paragraph that will link to a table that goes into detail about a particular vulnerability. Here is a short example of how I am doing things in Word.
This image shows a paragraph that is linked (in blue) to a specific "vulnerability" in a table.
And here is the table:
The blue bracketed text in the first image links to the table that shows that particular issue. Creating the links in Word is pretty time consuming and getting the data into the table is even worse.
My question is, can I use a "macro" or maybe some other latex mechanisim to easily create vulnerabilities in a table that can be quickly referenced in my long form narratives? Maybe something that would take parameters like:
{This is the title for the vulnerability, This explains the issues in question..., 8, INT, CONF, NO, NO, 6 H}
Is there a way to do computation on the actual values in the table? Something like multiplication of one value against another?
And finally is there a way to create graphs based on the information that comprise the tables?
Best Answer
Using
datatool
for the heavy lifting, and other packages for the formatting: