netanelcyber / netanelcyber/AdPentestAI-Python

Reporting: CSV export for discovered users and credentials

Open
#23 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

data-export good-first-issue output-formats reporting v1.1.0
Dominant language
Python
Stars
5
Forks
2
Avg merge
22h 25m
Merged PRs (30d)
7

Description

Description

Implement CSV export functionality for easy consumption of discovered users, valid credentials, and email addresses in spreadsheet applications.

Exports

  1. Users CSV

    • Username
    • Email address
    • Full name (if discovered)
    • Discovery method (LDAP, SMTP VRFY, etc.)
    • Last password change (if available)
    • Account status (enabled/disabled)
    • Group membership (comma-separated)
  2. Valid Credentials CSV

    • Username
    • Email
    • Password (ENCRYPTED or redacted in default)
    • Protocol tested (SMTP/POP3/IMAP)
    • Server/host
    • Port used
    • TLS version
    • Test timestamp
    • Confidence level
  3. Email Servers CSV

    • Server hostname
    • IP address
    • Port
    • Protocol (SMTP/POP3/IMAP)
    • Banner/version
    • Service type (Exchange/O365/etc)
    • TLS support
    • Authentication methods
  4. Domain Summary CSV

    • Target domain
    • DC count
    • User count
    • Computer count
    • Forest level
    • Domain functional level

Features

  • RFC 4180 compliant CSV format
  • Proper escaping of special characters
  • UTF-8 encoding
  • Optional: Excel-compatible format
  • Optional: Encrypt sensitive columns
  • Headers with descriptions

Files to Create

  • adpentest/exporters/csv_exporter.py
  • Update: run() function to call exporter

Implementation

  • Use Python csv module (standard library)
  • Optional: openpyxl for Excel export
  • Separate exporters for each data type
  • Unified export function

Success Criteria

  • All discovered data exportable
  • Compatible with Excel, Google Sheets, LibreOffice
  • No data corruption on special characters
  • Optional encryption for credentials
  • < 100MB file size for 10k+ users

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

Trace the existing run() entry point and the structures holding discovered users, credentials, email servers, and domain summaries before creating adpentest/exporters/csv_exporter.py. Define the four CSV outputs around the listed columns, then verify RFC 4180 escaping, UTF-8 output, sensitive-value handling, and export of 10k+ users against the stated compatibility and size criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, data, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.