OWASP / OWASP/Nettacker

feat(reporting): Enhance CSV, extend JSON schema, and add Markdown export

Open
#1,394 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
5.6k
Forks
1.2k
Avg merge
1d 21h
Merged PRs (30d)
16

Description

Description:

Nettacker already supports HTML, CSV and JSON exports as part of its comprehensive reporting features. These formats are a major strength compared to other tools. However, there are opportunities to enhance and extend reporting to make results more reliable and more useful for modern workflows.

Motivation:

  • CSV: While supported, there have been bug reports (e.g., API crashes) and inconsistencies. Stabilizing CSV export will improve reliability.

  • JSON: Current JSON output is useful, but extending it into a SIEM‑friendly schema (with fields like severity, CVE, tags, timestamp) would allow direct ingestion into Splunk/ELK.

  • Markdown: A new format, useful for sharing results in GitHub issues, documentation, or wikis.

Scope:
  • Keep implementation modular in a new reporting module (e.g., nettacker/lib/report_export/).

  • Avoid changes to core scanning logic.

  • Add CLI option --report-format with choices: html, json, csv, markdown, siem-json.

  • Default remains HTML/JSON for backward compatibility.

Deliverables:
  • CSV stabilization — fix bugs and ensure consistent schema across CLI and API.

  • Markdown export — generate tables for easy sharing.

  • Extended JSON schema — add SIEM‑friendly fields.

  • Documentation updates in docs/Usage.md.

  • Unit tests for each format.

Example outputs for each format.

Non‑Goals:

No changes to core scanning logic.

No external dependencies beyond Python standard library.

No dashboard or visualization work (future scope).

Benefits:

  • Builds on Nettacker’s existing strengths (CSV/JSON).

  • Adds new formats (Markdown, SIEM‑JSON) for broader usability.

  • Improves reliability and integration with modern security workflows.

Testing:
  • Verify CSV export works for CLI and API across multiple modules/targets.

  • Validate JSON schema against SIEM ingestion requirements.

  • Confirm Markdown tables render correctly.

  • Add unit tests for each format.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the existing CLI and API report-export paths, then review the proposed nettacker/lib/report_export/ module and docs/Usage.md. Identify current format tests before defining the modular scope. Done means the requested formats, CLI option, documentation, examples, and unit tests are covered without changing scanning logic.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, cli, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.