{"id":23105791,"url":"https://github.com/maxwellmatthis/dmarc-report-analysis","last_synced_at":"2025-04-03T22:24:43.722Z","repository":{"id":158961274,"uuid":"301847363","full_name":"maxwellmatthis/dmarc-report-analysis","owner":"maxwellmatthis","description":"This tool helps analyse large amounts of DMARC reports.","archived":false,"fork":false,"pushed_at":"2022-02-08T15:03:34.000Z","size":50,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-09T10:21:47.499Z","etag":null,"topics":["aggregated-reports","dmarc","dmarc-reports","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxwellmatthis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-06T20:31:11.000Z","updated_at":"2022-02-08T15:00:15.000Z","dependencies_parsed_at":"2023-06-15T00:45:15.593Z","dependency_job_id":null,"html_url":"https://github.com/maxwellmatthis/dmarc-report-analysis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxwellmatthis%2Fdmarc-report-analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxwellmatthis%2Fdmarc-report-analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxwellmatthis%2Fdmarc-report-analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxwellmatthis%2Fdmarc-report-analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxwellmatthis","download_url":"https://codeload.github.com/maxwellmatthis/dmarc-report-analysis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247087492,"owners_count":20881403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aggregated-reports","dmarc","dmarc-reports","python"],"created_at":"2024-12-17T00:54:55.608Z","updated_at":"2025-04-03T22:24:43.714Z","avatar_url":"https://github.com/maxwellmatthis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dmarc-report-analysis\n## Warning\nThis program uses an XML parser (Minidom) that creates DOM objects. Minidom is one of the safer libraries but still vulnerable to some attacks. Malicious XML may be able to steal data, crash python or even your machine. Make sure this script does not have too many permissions.\n### Useful References:\n- https://docs.python.org/3/library/xml.html#xml-vulnerabilities\n- https://www.netsparker.com/blog/web-security/xxe-xml-external-entity-attacks/\n## add.py\n### About\nadd.py helps with adding new data from a varienty of sources to the buffer. The package inx contains all input sources.\n### Requirements\n- Python2.7 or later (python 3 recommended)\n- scripts\n    - in_gmail.py\n### Usage\n```bash\n# bash\n\n$ python3 add.py [input type]\n# input types: gmail\n```\n## query.py\n### About\nquery.py filters records by query. The package outx contains all output methods.\n### Requirements\n- Python2.7 or later (python 3 recommended)\n- scripts\n    - out_cli.py\n    - out_gmail.py\n### Usage\n```bash\n# bash\n\n$ python3 query.py [output type] [optional: query, query...]\n# output types: cli, gmail\n# query syntax: key=value\n```\n## rua_parser.py\n### About\nrua_parser.py takes XML as input and outputs a list of dictionaries.\n### Requirements\n- Python2.7 or later (python 3 recommended)\n### Usage\n```python\n# python\n\n# import \"rua_parser.py\" from package \"parser\"\nfrom parser import rua_parser\n\n# parse XML-String\nparsed = rua_parser.parse('\u003cfeedback\u003e...\u003cfeedback\u003e')\n```\nor\n```bash\n# bash\n\n$ python3 rua_parser.py [\"\u003cfeedback\u003e...\u003cfeedback\u003e\"]\n```\n## gmail_service.py\n### About\ngmail_service.py builds a Gmail API Service Object and returns it to be used in another Gmail API script.\n### Requirements\n- Python2.7 or later (python 3 recommended)\n- pip\n- google-api-python-client\n- google-auth-httplib2\n- google-auth-oauthlib\n- credentials.json file from Gmail API\n```bash\n# bash\n\n# run the following command to quickly install the google libraries\npip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib\n```\n### Helpful Resources\n- Python Gmail API Quickstart: https://developers.google.com/gmail/api/quickstart/python\n- Gmail API: https://console.developers.google.com/apis/library/gmail.googleapis.com?q=gmail\n### Usage\n```python\n# python\n\n# import service builder\nfrom services import gmail_service\n\n# build service object\nservice = gmail_service.buildService()\n```\n## in_gmail.py\n### About\nin_gmail.py fetches email attachments from the inbox and makes them readable.\n### Requirements\n- Python 2.7 or later (python 3 recommended)\n- scripts\n    - gmail_service.py\n### Usage\n```python\n# python\n\n# import gmail input\nfrom inx import in_gmail\n\n# get dictionary of files and contents\nfilesContents = in_gmail.get()\n```\n## out_cli.py\n### About\nout_cli.py \"pretty prints\" lists of dictionaries containing DMARC record data.\n### Requirements\n- Python 2.7 or later (python 3 recommended)\n### Usage\n```python\n# python\n\n# import cli output\nfrom outx import out_cli\n\n# print out records\nout_cli.printOut(records)\n```\n## out_gmail.py\n### About\nout_gmail.py sends HTML versions of lists of dictionaries containing DMARC record data.\n### Requirements\n- Python 2.7 or later (python 3 recommended)\n- scripts\n    - gmail_service.py\n### Usage\n```python\n# python\n\n# import gmail output\nfrom outx import out_gmail\n\n# build service object\nout_gmail.send(records)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxwellmatthis%2Fdmarc-report-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxwellmatthis%2Fdmarc-report-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxwellmatthis%2Fdmarc-report-analysis/lists"}