https://github.com/eidorb/sans-index
Automated SANS course indexes for GIAC exams
https://github.com/eidorb/sans-index
Last synced: 12 months ago
JSON representation
Automated SANS course indexes for GIAC exams
- Host: GitHub
- URL: https://github.com/eidorb/sans-index
- Owner: eidorb
- License: mit
- Created: 2021-11-17T01:50:55.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-02-15T01:49:16.000Z (over 1 year ago)
- Last Synced: 2025-04-09T01:32:56.362Z (about 1 year ago)
- Language: Python
- Homepage: https://brodie.id.au/blog/sans-course-index.html
- Size: 12.7 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sans-index
Generates a colourful Excel workbook from a YAML file containing SANS course content.
Read this [blog post](https://brodie.id.au/blog/sans-course-index.html)
for more information about this project.
## Quick start
1. Install Python 3.8+.
2. Install [Poetry](https://python-poetry.org/docs/).
3. Clone this repository.
4. Run `poetry install`.
5. Run `poetry shell`.
6. Generate an Excel workbook (`sans-course.xlsx`) from a YAML file (`sans-course.yml`):
python sans-index.py sans-course.yml
## SANS course outline
Create a YAML document of SANS course content. The root of the document is a sequence of the course's books.
```yaml
-
-
-
```
Books map a book title to a sequence of chapters.
```yaml
- Threat intelligence:
-
-
-
```
Chapters map a chapter name to a sequence of topics/keywords.
```yaml
- Threat intelligence:
- Case study - Stuxnet:
-
-
-
```
Topics map a page number to topic.
```yaml
- Threat intelligence:
- Case study - Stuxnet:
- 10: Stuxnet
- 10: Case study - Stuxnet
- 10: Iran's nuclear program
- Introduction to active defense and incident response:
- 18: Sliding scale of cyber security
- 18: Architecture
- 18: Passive defense
```
## `sans-index.py`
% python sans-index.py --help
Usage: sans-index.py [OPTIONS] COURSE_CONTENT_PATH
Creates an Excel workbook containing SANS course contents and index.
The workbook is written to the current directory. It's filename is the same
as COURSE_CONTENT_PATH, except it's file extension is .xlsx.
Arguments:
COURSE_CONTENT_PATH Location of YAML document containing SANS course
content [required]
Options:
--install-completion [bash|zsh|fish|powershell|pwsh]
Install completion for the specified shell.
--show-completion [bash|zsh|fish|powershell|pwsh]
Show completion for the specified shell, to
copy it or customize the installation.
--help Show this message and exit.