-
-
Notifications
You must be signed in to change notification settings - Fork 2
Continue #981
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Continue #981
Conversation
…report sections - Introduced `DaneWordSectionWriter` and `DnssecWordSectionWriter` to generate Word document sections for DANE and DNSSEC analysis. - Enhanced `WordCompositionReport` to include DANE and DNSSEC in the report generation process. - Implemented multi-resolver capabilities in `DnsConfiguration` allowing for multiple DNS endpoints with strategies like FirstSuccess and FastestWins. - Updated health check settings to support multi-resolver configurations. - Added examples for multi-resolver usage in both C# and PowerShell. - Improved DNSSEC analysis with timeout handling and cancellation tokens. - Enhanced documentation to reflect new features and usage examples.
* Implemented `MailTlsWordSectionWriter` to generate detailed Mail TLS (SMTP/IMAP/POP3) sections in Word documents. * Enhanced export functionality for DNSSEC, IMAP TLS, POP3 TLS, and SMTP TLS to support Word format. * Updated existing cmdlets to include subject information in analyses for better report context.
…eports - Implemented SoaWordSectionWriter to generate SOA parameter reports. - Created WildcardWordSectionWriter for Wildcard DNS detection summaries. - Added ZoneTransferWordSectionWriter for AXFR exposure summaries. - Enhanced WordCompositionReport to include new sections for SOA, Wildcard, and Zone Transfer. - Updated RPKI analysis to emit positive assessments when all IPs are valid. - Introduced new recommendation codes and diagnostics for RPKI and DNSSEC. - Added unit tests for RPKI analysis to ensure correct behavior. - Improved error handling in Mail TLS analysis for better logging. - Updated example PowerShell script to demonstrate new report generation features. - Cleaned up TODO.md to reflect completed tasks and outstanding items.
* Added `AsnDistinctCount` to track distinct ASNs in NS analysis. * Updated `NsWordSectionWriter` to include ASN diversity in reports. * Introduced unit tests for ASN diversity analysis.
…t472 * Replaced Linq usage with a manual loop to build the hosts array in `VerifyMTASTS`. * Ensured compatibility with .NET Framework 4.7.2 by eliminating the dependency on `ToArray()`. * Initialized nullable DateTime fields in `ThreatIntelAnalysis` to null for clarity.
…lets - Updated cmdlet parameters to initialize string fields with empty strings to prevent null reference exceptions. - Applied null-forgiving operator to logger and health check fields to indicate they will be initialized before use. - Enhanced nullability handling in InternalLoggerPowerShell class by making action delegates nullable. - Improved error handling in various cmdlets to provide clearer warnings and error messages. - Adjusted Word report generation to handle potential null values gracefully.
- Updated various cmdlets to initialize properties with default values to prevent null reference exceptions. - Changed `RunDmarcBuilder` method to return a Task instead of an int. - Added null checks and improved handling of highlights and positives in HTML report writers. - Enhanced DNSSEC analysis with additional probing for AD status using public resolvers. - Improved documentation and comments for clarity. - General code cleanup and formatting adjustments across multiple files.
…n method signatures * Updated various methods to ensure proper nullability handling with `!` operator. * Added missing parameters to method documentation for better clarity. * Enhanced code readability and maintainability across multiple files.
- Introduced a new email provider detection system with interfaces and capabilities to better classify email providers based on MX records, SPF tokens, and DKIM hints. - Updated MX analysis to utilize the new provider detection, providing warnings and information based on the number of MX records and the specific provider's capabilities. - Improved DNSSEC analysis with fallback mechanisms for more robust querying. - Added multiple email provider implementations, including Microsoft 365, Google Workspace, and others, with specific configurations for MX patterns, SPF tokens, and DKIM settings. - Enhanced narrative generation to include inferred email provider information based on MX records. - Updated views to display provider-related information in reports.
…ions * Introduced `TestEmailProviderDetector` to validate detection of M365 and SendGrid. * Added `TestProviderRecommendations` to ensure proper registration of MTA-STS and TLSRPT codes. * Enhanced `MtaStsCodes` and `TlsRptCodes` with `ProviderRecommended` constants. * Updated recommendation classes to provide guidance for detected providers.
* Added DMARC enforcement recommendations for domains with outbound providers. * Introduced subdomain policy guidance for email providers. * Updated email provider classes to include `DmarcHelpUrl` and `SubdomainPolicyRecommendation`. * Improved console output for email provider details in `WizardScanCommand`.
* Introduced `ProviderHelpLinks` class to encapsulate help URLs for DMARC, SPF, DKIM, MTA-STS, TLS-RPT, and deliverability. * Updated existing providers to include relevant help URLs. * Enhanced `MxInfo` and `SpfRecordInfo` to include provider help information. * Implemented provider help rendering in `MxHtmlSectionWriter` and `MxWordSectionWriter`.
- Replaced individual help URLs with a unified ProviderDocumentation structure across multiple email provider classes. - Added detailed documentation links for DMARC, SPF, DKIM, MTA-STS, TLS-RPT, and Deliverability for various providers including Barracuda, Cisco, Cloudflare, Fastmail, Google Workspace, Mailgun, Microsoft 365, Mimecast, NullMx, Postmark, Proofpoint Essentials, ProtonMail, SendGrid, and Zoho Mail. - Updated the Converters for Mx and SPF views to utilize the new documentation structure, ensuring help topics are dynamically generated based on available documentation. - Introduced a new ProviderHelpTopic model to encapsulate help topic details, including title, summary, and verification date.
- Implemented a section in the Word report to display mail provider information including primary, gateways, and outbound providers. - Added quick links for primary provider topics (DMARC/SPF/DKIM) to enhance user navigation.
- Updated NullMxProvider, PostmarkProvider, ProofpointEssentialsProvider, ProtonMailProvider, SendGridProvider, and ZohoMailProvider to include detailed documentation links for ARC, BIMI, DMARC, SPF, DKIM, MTA-STS, TLS-RPT, and Deliverability. - Introduced new ArcInfo class and conversion logic in Converters.Arc.cs to handle ARC analysis. - Modified existing converters to include ARC and BIMI documentation links in output. - Added example PowerShell scripts for generating reports with provider help topics including ARC and BIMI. - Implemented a new internal tooling feature for verifying provider documentation links and ensuring they are up-to-date.
* Improved handling of pipeline inputs to avoid nested arrays. * Added unwrapping logic for `PSObject` to ensure correct data processing. * Updated `ExtractSubjects` method to accommodate flattened input structure.
…neration * Introduced `DomainOrder` and `SectionOrderMode` parameters to control the ordering of domains and sections in the generated reports. * Updated `Export-DDSecurityReport` command in the example script to demonstrate the new options.
…ition reports * Introduced `ExcelCompositionReport` and `MarkdownCompositionReport` classes. * Implemented `Generate` method with placeholders for future functionality. * Added `OrderingOptions` class to manage shared ordering configurations across formats.
* Updated `Spectre.Console` and `Spectre.Console.Cli` to version `0.51.1` across multiple projects. * Updated `MatejKafka.XmlDoc2CmdletDoc` to version `0.7.0` in PowerShell project. * Updated `HtmlForgeX` to version `0.4.0` in HTML reports project. * Updated `OfficeIMO.Word` to version `1.0.8` in Office reports project. * Updated `Microsoft.PowerShell.SDK` to version `7.5.2` and `xunit.runner.visualstudio` to version `3.1.4` in tests project.
- Implemented MarkdownReportGenerator to generate reports in Markdown format. - Integrated Markdown composition functionality for domain health checks. - Updated ReportDispatcher to include Markdown report format handling. - Added Markdown report format to ReportFormat enum. - Enhanced ReportPathHelper to generate appropriate file extensions for Markdown. - Removed placeholder MarkdownCompositionReport as functionality is now implemented. - Updated Excel report generation to utilize OfficeIMO.Excel for .NET 8.0. - Added ExcelCompositionReport for comprehensive Excel reporting across domains. - Updated example PowerShell scripts to demonstrate new report formats.
…rmats - Updated ExportFormat property in ExportableAsyncPSCmdlet to accept an array of ReportFormat. - Modified export logic in various cmdlets (e.g., CmdletTestMailDomainClassification, CmdletTestArc, CmdletTestBlackList, etc.) to handle multiple export formats. - Introduced helper methods for resolving output paths and determining requested formats. - Enhanced HTML report generation to include KPI cards and improved layout. - Added unique sheet name generation for Excel reports to prevent name collisions. - Updated example scripts to reflect changes in export format handling.
…idation - Added mail provider details section in MarkdownCompositionReport, including primary, gateways, and outbound providers. - Implemented top provider links for DMARC/SPF/DKIM in Markdown reports. - Updated ExcelCompositionReport to use dynamic object for summary rows and added document validation for Excel files. - Refactored domain ordering and section ordering into separate enums: DomainOrder and SectionOrderMode. - Modified WordCompositionReport to utilize new enums for domain and section ordering. - Updated example PowerShell scripts to include multiple domains and changed export formats to HTML for better reporting.
…ll Script - Added conditional formatting and data visualization features to the Excel composition report, including: - Numeric formatting for Warnings and Errors columns. - Data bars for visual representation of Warnings and Errors. - Background colors for text statuses in various columns. - Added a totals row at the end of the overview table. - Implemented traffic light icon set for the Errors column. - Introduced helper methods for parsing A1 range coordinates. - Updated PowerShell script to change the export format from HTML to Excel for the combined SPF, DMARC, and DKIM reports.
- Implemented sections for MX, DNSBL, NS, SOA, CAA, RPKI, and ARC details. - Enhanced summary and status matrix sheets for better visibility of domain control statuses. - Added support for displaying SPF provider counts and recommendations in the report.
…ree-collections
- Updated `HtmlCompositionReport.Sections.Providers.cs` to ensure topics are handled correctly when generating HTML reports. - Improved `HtmlCompositionReport.Sections.SingleDomain.cs` to include detailed findings and references for SPF, DMARC, DKIM, MTA-STS, and TLS-RPT sections. - Revised `README.md` to reflect the updated dependency on HtmlForgeX 0.4.0. - Added comprehensive Markdown report generation capabilities in `MarkdownCompositionReport.cs`, including detailed sections for SPF, DMARC, DKIM, and more. - Introduced `MarkdownHtmlReportGenerator.cs` to generate HTML from Markdown reports, saving both formats side by side. - Updated project references in `DomainDetective.Reports.Office.csproj` to use the published OfficeIMO.Excel package. - Refactored `ReportDispatcher.cs` and `ReportFormat.cs` to accommodate the new MarkdownHtml report format. - Enhanced logging in `NSAnalysis.cs` to provide clearer information on NS diversity. - Created example PowerShell scripts in `Example.Report.All.ps1` to demonstrate report generation for multiple domains. - Updated `README.md` with new usage examples for inline report generation. - Cleaned up TODO.md to reflect completed tasks related to provider positives and PowerShell output conventions.
- Implemented CompositionBuilder to normalize mixed view inputs into domain buckets and provide consistent ordering and title utilities. - Created SectionProjectors to build structured sections for various domain-related findings, including SPF, DMARC, DKIM, MX, and more. - Each section includes properties for status, summaries, findings, positives, and references to facilitate comprehensive reporting.
…cy across HTML and Markdown outputs - Updated HTML composition report to use SectionProjectors for MTA-STS and TLS-RPT sections, improving data handling and presentation. - Refactored Markdown composition report to leverage SectionProjectors for SPF, DMARC, DKIM, MX, MTA-STS, TLS-RPT, DNSBL, NS, SOA, CAA, DNSSEC, and DANE sections, ensuring uniformity in data representation. - Enhanced the handling of findings, positives, and references across all sections, streamlining the report generation process. - Added a comprehensive checklist in TODO.md for ongoing composition unification efforts, outlining tasks for HTML, Markdown, Excel, and PowerShell/CLI surfaces.
- Implement ExecutiveSummaryBuilder to generate canonical summary rows for various renderers. - Introduce LinkFormatter for RFC reference formatting and metadata mapping. - Create OverviewWording to build consistent overview sentences across reports. - Develop ProviderChainBuilder and ProviderHintsBuilder for provider-related data aggregation. - Add ReferencesCollector to gather reference URLs for a consolidated "All References" section. - Enhance SectionProjectors to include additional fields for richer report outputs. - Update tests to validate new features and ensure parity across formats. - Modify PowerShell examples to support new report formats and sections. - Update TODO.md with completed tasks and future goals for report unification.
- Added detailed per-server tables for SMTP, IMAP, and POP3 services in ExcelCompositionReport. - Introduced a summary section for MailTLS status in Excel reports. - Refactored MailTlsWordSectionWriter to handle individual service reporting for SMTP, IMAP, and POP3. - Updated WordCompositionReport to include MailTLS section with service statuses. - Enhanced CompositionBuilder to support MailTLS information. - Modified SectionProjectors to include MailTLS data in MX sections. - Added unit tests for MailTLS reporting in Markdown format.
- Implemented `BuildOverviewSheet`, `BuildMatrixSheet`, `BuildRecommendationsSheet`, `BuildSpfProvidersSheet`, and `BuildSummarySheet` methods for generating various Excel report sheets. - Introduced `DomainBucket` structure to encapsulate domain-related data. - Enhanced overall report generation consistency and modularity.
* Implemented a status legend in the HTML executive summary to explain status meanings. * Added a corresponding legend in the Excel report for provider hints. * Updated DKIM details to include TTL information across reports for consistency. * Introduced tests to verify the inclusion of legends in HTML and Excel outputs.
…r for references - Introduced `ExcelSizingShims.cs` to provide compile-time compatibility with the OfficeIMO.Excel package, implementing a no-op for column sizing. - Refactored multiple Word section writers (Arc, Bimi, Caa, Dane, Dkim, Dmarc, Dnsbl, Dnssec, MailClassification, Mtasts, Mx, Ns, Rpki, Soa, Spf, TlsRpt) to utilize `WordLinkHelpers.AddReferencesList` for adding references, improving code reuse and readability. - Removed `SpfWordReport.cs` as part of the cleanup process. - Added `WordLinkHelpers.cs` to centralize the logic for adding formatted reference lists in Word documents. - Commented out specific DNS record tests in the PowerShell example script for clarity and to prevent execution during testing.
* Ensures proper formatting and compatibility with tools that expect a newline.
|
Claude finished @PrzemyslawKlys's task —— View job PR Review CompleteI've conducted a comprehensive review of this large PR with 100 changed files. Here's my detailed feedback: Todo List
Overall AssessmentThis PR implements a significant enhancement to the DomainDetective reporting system with consistent patterns across components. The code appears well-structured and follows existing conventions. Code Quality & Best Practices✅ Strengths
|
No description provided.