khulnasoft / reconpoint

reconPoint: The Ultimate Web Reconnaissance & Vulnerability Scanner πŸš€
http://recon.khulnasoft.com/
GNU General Public License v3.0
1 stars 3 forks source link

update: project structure #81

Open gitworkflows opened 3 weeks ago

gitworkflows commented 3 weeks ago

User description

Notes for Reviewers

This PR fixes #

Signed commits


PR Type

Enhancement


Description


Changes walkthrough πŸ“

Relevant files
Enhancement
12 files
summary.html
Add target summary HTML template with interactive elements.

targetApp/templates/target/summary.html
  • Added a comprehensive HTML template for displaying a target summary.
  • Integrated various sections like scan timeline, subdomains, endpoints,
    and vulnerabilities.
  • Included scripts for charts and data tables to enhance interactivity.
  • Utilized Django template tags for dynamic content rendering.
  • +1789/-1
    subscan_history.html
    Create subscan history template with filtering options.   

    startScan/templates/startScan/subscan_history.html
  • Introduced a new HTML template for displaying subscan history.
  • Implemented filtering options for organization, target, scan type, and
    status.
  • Added JavaScript for handling table interactions and filtering.
  • Included user permissions for initiating and modifying scans.
  • +510/-1 
    form_engine.html
    Add scan engine configuration form with YAML support.       

    scanEngine/templates/scanEngine/_items/form_engine.html
  • Added a form template for configuring scan engine settings.
  • Included options for various scan features like subdomain discovery
    and vulnerability scanning.
  • Provided a section for YAML configuration with documentation links.
  • Emphasized caution for modifying YAML settings.
  • +150/-1 
    modern.html
    Add modern HTML report template with dynamic content         

    templates/report/modern.html
  • Introduced a new HTML template for generating modern styled reports.
  • Added CSS styles for various elements like headers, footers, and
    tables.
  • Implemented dynamic content placeholders using template tags.
  • Included sections for table of contents, executive summary, and
    vulnerability details.
  • +1170/-1
    default.html
    Introduce default HTML report template with styling           

    templates/report/default.html
  • Added a default HTML template for report generation.
  • Included CSS styles for layout and design consistency.
  • Integrated template tags for dynamic data rendering.
  • Provided sections for executive summary and vulnerability details.
  • +1050/-1
    notification.html
    Add notification settings template with webhook configuration

    scanEngine/templates/scanEngine/settings/notification.html
  • Created a new HTML template for notification settings.
  • Added form elements for configuring notification channels like Slack,
    Discord, and Telegram.
  • Implemented JavaScript for enabling/disabling input fields based on
    checkbox states.
  • Included links to API documentation for webhook configuration.
  • +270/-1 
    endpoint_tab_content.html
    Create endpoint tab content template with search and filter

    templates/base/_items/endpoint_tab_content.html
  • Added a new HTML template for displaying endpoint tab content.
  • Implemented search and filter functionalities for endpoints.
  • Included options for downloading endpoint data.
  • Designed a table layout for displaying endpoint details.
  • +131/-1 
    history.html
    New scan history page with filtering and actions                 

    startScan/templates/startScan/history.html
  • Added a new HTML template for displaying scan history.
  • Included filtering options for organization, target, scan type, and
    status.
  • Integrated a table to list scan history with details like domain name,
    status, and progress.
  • Added JavaScript for handling table interactions and filtering.
  • +723/-1 
    index.html
    New dashboard with metrics and activity feeds                       

    dashboard/templates/dashboard/index.html
  • Added a new dashboard template for displaying various metrics.
  • Included charts for targets, subdomains, endpoints, and
    vulnerabilities.
  • Added activity and vulnerability feeds.
  • Integrated geographical distribution and most common metrics charts.
  • +699/-1 
    subdomains.html
    New subdomains listing page with actions and filters         

    startScan/templates/startScan/subdomains.html
  • Added a new HTML template for displaying all subdomains.
  • Integrated DataTables for subdomain listing with various columns.
  • Included JavaScript for handling subdomain actions and filters.
  • Added modals for recon notes and subscan initiation.
  • +493/-1 
    top_bar.html
    New top bar with navigation and user actions                         

    templates/base/_items/top_bar.html
  • Added a new top bar template for navigation and user actions.
  • Included project selection and quick add options.
  • Integrated toolbox and notification dropdowns.
  • Added user profile and settings menu.
  • +240/-1 
    schedule_scan_wizard.html
    New scan scheduling wizard with engine selection                 

    startScan/templates/startScan/_items/schedule_scan_wizard.html
  • Added a new HTML template for scheduling scans.
  • Included options for periodic and clocked scans.
  • Integrated scan engine selection and subdomain import/exclusion.
  • Added URL scope and exclusion settings.
  • +125/-1 
    Miscellaneous
    1 files
    center_spinner.html
    New centered loading spinner template                                       

    templates/base/_items/center_spinner.html - Added a new HTML template for a centered loading spinner.
    +6/-1     
    Additional files (token-limit)
    101 files
    detail_scan.html
    ...                                                                                                           

    startScan/templates/startScan/detail_scan.html ...
    +2716/-1
    vulnerabilities.html
    ...                                                                                                           

    startScan/templates/startScan/vulnerabilities.html ...
    +354/-1 
    list.html
    ...                                                                                                           

    targetApp/templates/target/list.html ...
    +321/-1 
    add.html
    ...                                                                                                           

    targetApp/templates/target/add.html ...
    +304/-1 
    index.html
    ...                                                                                                           

    recon_note/templates/note/index.html ...
    +201/-1 
    admin.html
    ...                                                                                                           

    dashboard/templates/dashboard/admin.html ...
    +348/-1 
    test.html
    ...                                                                                                           

    targetApp/templates/target/test.html ...
    +196/-1 
    tool.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/settings/tool.html ...
    +184/-1 
    subdomain_tab_content.html
    ...                                                                                                           

    templates/base/_items/subdomain_tab_content.html ...
    +190/-1 
    llm_toolkit.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/settings/llm_toolkit.html ...
    +287/-1 
    base.html
    ...                                                                                                           

    templates/base/base.html ...
    +215/-1 
    schedule_scan_list.html
    ...                                                                                                           

    startScan/templates/startScan/schedule_scan_list.html ...
    +207/-1 
    report.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/settings/report.html ...
    +216/-1 
    search.html
    ...                                                                                                           

    dashboard/templates/dashboard/search.html ...
    +243/-1 
    list.html
    ...                                                                                                           

    targetApp/templates/organization/list.html ...
    +201/-1 
    index.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/index.html ...
    +181/-1 
    external_tool_form.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/settings/_items/external_tool_form.html ...
    +173/-1 
    onboarding.html
    ...                                                                                                           

    dashboard/templates/dashboard/onboarding.html ...
    +152/-1 
    top_nav.html
    ...                                                                                                           

    templates/base/_items/top_nav.html ...
    +130/-1 
    api.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/settings/api.html ...
    +116/-1 
    vulnerability_tab_content.html
    ...                                                                                                           

    templates/base/_items/vulnerability_tab_content.html ...
    +130/-1 
    add_engine.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/add_engine.html ...
    +205/-1 
    start_scan_wizard.html
    ...                                                                                                           

    startScan/templates/startScan/_items/start_scan_wizard.html ...
    +104/-1 
    subdomain_toolbar.html
    ...                                                                                                           

    templates/base/_items/subdomain_toolbar.html ...
    +97/-1   
    hackerone.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/settings/hackerone.html ...
    +131/-1 
    login.html
    ...                                                                                                           

    templates/base/login.html ...
    +117/-1 
    index.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/wordlist/index.html ...
    +100/-1 
    tool_arsenal.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/settings/tool_arsenal.html ...
    +118/-1 
    scanengine_accordion.html
    ...                                                                                                           

    startScan/templates/startScan/_items/scanengine_accordion.html ...
    +137/-1 
    reconpoint.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/settings/reconpoint.html ...
    +135/-1 
    bountyhub_programs.html
    ...                                                                                                           

    dashboard/templates/dashboard/bountyhub_programs.html ...
    +93/-1   
    add.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/wordlist/add.html ...
    +90/-1   
    projects.html
    ...                                                                                                           

    dashboard/templates/dashboard/projects.html ...
    +105/-1 
    lookup.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/lookup.html ...
    +78/-1   
    recon_note_modal.html
    ...                                                                                                           

    templates/base/_items/recon_note_modal.html ...
    +39/-1   
    right_bar.html
    ...                                                                                                           

    templates/base/_items/right_bar.html ...
    +67/-1   
    add.html
    ...                                                                                                           

    targetApp/templates/organization/add.html ...
    +85/-1   
    profile.html
    ...                                                                                                           

    dashboard/templates/dashboard/profile.html ...
    +73/-1   
    vulnerability_highlights.html
    ...                                                                                                           

    templates/base/_items/widgets/vulnerability_highlights.html ...
    +59/-1   
    proxy.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/settings/proxy.html ...
    +68/-1   
    update.html
    ...                                                                                                           

    targetApp/templates/organization/update.html ...
    +75/-1   
    add_tool.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/settings/add_tool.html ...
    +67/-1   
    logout.html
    ...                                                                                                           

    templates/base/logout.html ...
    +38/-1   
    vulnerability_breakdown_by_severity_chart.html
    ...                                                                                                           

    templates/base/_items/widgets/vulnerability_breakdown_by_severity_chart.html ...
    +35/-1   
    update.html
    ...                                                                                                           

    targetApp/templates/target/update.html ...
    +59/-1   
    index.html
    ...                                                                                                           

    startScan/templates/startScan/index.html ...
    +31/-1   
    endpoints.html
    ...                                                                                                           

    startScan/templates/startScan/endpoints.html ...
    +46/-1   
    schedule_scan_ui.html
    ...                                                                                                           

    startScan/templates/startScan/schedule_scan_ui.html ...
    +38/-1   
    subscan_modal.html
    ...                                                                                                           

    templates/base/_items/subscan_modal.html ...
    +33/-1   
    schedule_scan_ui.html
    ...                                                                                                           

    startScan/templates/organization/schedule_scan_ui.html ...
    +37/-1   
    update_engine.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/update_engine.html ...
    +55/-1   
    404.html
    ...                                                                                                           

    templates/404.html ...
    +45/-1   
    start_scan.html
    ...                                                                                                           

    startScan/templates/organization/start_scan.html ...
    +35/-1   
    start_scan_ui.html
    ...                                                                                                           

    startScan/templates/startScan/start_scan_ui.html ...
    +35/-1   
    start_multiple_scan_ui.html
    ...                                                                                                           

    startScan/templates/startScan/start_multiple_scan_ui.html ...
    +35/-1   
    most_common_cve_cwe_tag_template.html
    ...                                                                                                           

    templates/base/_items/most_common_cve_cwe_tag_template.html ...
    +25/-1   
    update_tool.html
    ...                                                                                                           

    scanEngine/templates/scanEngine/settings/update_tool.html ...
    +39/-1   
    most_vuln_target.html
    ...                                                                                                           

    templates/base/_items/most_vuln_target.html ...
    +28/-1   
    most_common_vuln.html
    ...                                                                                                           

    templates/base/_items/most_common_vuln.html ...
    +27/-1   
    xl_scrollable_modal.html
    ...                                                                                                           

    templates/base/_items/xl_scrollable_modal.html ...
    +18/-1   
    modal.html
    ...                                                                                                           

    templates/base/_items/modal.html ...
    +18/-1   
    red_cross.html
    ...                                                                                                           

    templates/base/_items/red_cross.html ...
    +7/-1     
    offcanvas.html
    ...                                                                                                           

    templates/base/_items/offcanvas.html ...
    +9/-1     
    down_arrow.html
    ...                                                                                                           

    templates/base/_items/down_arrow.html ...
    +5/-1     
    up_arrow.html
    ...                                                                                                           

    templates/base/_items/up_arrow.html ...
    +5/-1     
    green_tick.html
    ...                                                                                                           

    templates/base/_items/green_tick.html ...
    +6/-1     
    plus_icon.html
    ...                                                                                                           

    templates/base/_items/plus_icon.html ...
    +2/-1     
    minus_icon.html
    ...                                                                                                           

    templates/base/_items/minus_icon.html ...
    +2/-1     
    footer.html
    ...                                                                                                           

    templates/base/_items/footer.html ...
    +7/-1     
    tasks.py
    ...                                                                                                           

    reconPoint/tasks.py ...
    +4693/-1
    views.py
    ...                                                                                                           

    api/views.py ...
    +3159/-1
    common_func.py
    ...                                                                                                           

    reconPoint/common_func.py ...
    +1647/-1
    views.py
    ...                                                                                                           

    startScan/views.py ...
    +1144/-1
    serializers.py
    ...                                                                                                           

    api/serializers.py ...
    +1034/-1
    models.py
    ...                                                                                                           

    startScan/models.py ...
    +683/-1 
    views.py
    ...                                                                                                           

    scanEngine/views.py ...
    +621/-1 
    forms.py
    ...                                                                                                           

    scanEngine/forms.py ...
    +724/-1 
    views.py
    ...                                                                                                           

    targetApp/views.py ...
    +604/-1 
    0001_initial.py
    ...                                                                                                           

    startScan/migrations/0001_initial.py ...
    +397/-1 
    definitions.py
    ...                                                                                                           

    reconPoint/definitions.py ...
    +569/-1 
    views.py
    ...                                                                                                           

    dashboard/views.py ...
    +438/-1 
    settings.py
    ...                                                                                                           

    reconPoint/settings.py ...
    +346/-1 
    celery_custom_task.py
    ...                                                                                                           

    reconPoint/celery_custom_task.py ...
    +239/-1 
    urls.py
    ...                                                                                                           

    api/urls.py ...
    +252/-1 
    shared_api_tasks.py
    ...                                                                                                           

    api/shared_api_tasks.py ...
    +206/-1 
    charts.py
    ...                                                                                                           

    reconPoint/charts.py ...
    +193/-1 
    0001_initial.py
    ...                                                                                                           

    targetApp/migrations/0001_initial.py ...
    +140/-1 
    models.py
    ...                                                                                                           

    targetApp/models.py ...
    +170/-1 
    models.py
    ...                                                                                                           

    scanEngine/models.py ...
    +144/-1 
    0001_initial.py
    ...                                                                                                           

    scanEngine/migrations/0001_initial.py ...
    +131/-1 
    utilities.py
    ...                                                                                                           

    reconPoint/utilities.py ...
    +176/-1 
    database_utils.py
    ...                                                                                                           

    reconPoint/database_utils.py ...
    +179/-1 
    llm.py
    ...                                                                                                           

    reconPoint/llm.py ...
    +142/-1 
    forms.py
    ...                                                                                                           

    targetApp/forms.py ...
    +172/-1 
    test_scan.py
    ...                                                                                                           

    tests/test_scan.py ...
    +114/-1 
    urls.py
    ...                                                                                                           

    startScan/urls.py ...
    +118/-1 
    models.py
    ...                                                                                                           

    dashboard/models.py ...
    +98/-1   
    urls.py
    ...                                                                                                           

    scanEngine/urls.py ...
    +88/-1   
    0002_chaosapikey_hackeroneapikey_inappnotification_userpreferences.py
    ...                                                                                                           

    dashboard/migrations/0002_chaosapikey_hackeroneapikey_inappnotification_userpreferences.py ...
    +59/-1   
    urls.py
    ...                                                                                                           

    reconPoint/urls.py ...
    +66/-1   
    Additional 145 files not shown
    ...                                                                                                           

    Additional 145 files not shown ...
    Additional files (token-limit)extra_file_yaml =
    1 files
    test_nmap.py
    ...                                                                                                           

    tests/test_nmap.py ...
    +50/-1   

    πŸ’‘ PR-Agent usage: Comment /help "your question" on any pull request to receive relevant information

    Summary by CodeRabbit

    sourcery-ai[bot] commented 3 weeks ago

    πŸ§™ Sourcery is reviewing your pull request!


    Tips and commands #### Interacting with Sourcery - **Trigger a new review:** Comment `@sourcery-ai review` on the pull request. - **Continue discussions:** Reply directly to Sourcery's review comments. - **Generate a GitHub issue from a review comment:** Ask Sourcery to create an issue from a review comment by replying to it. - **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull request title to generate a title at any time. - **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in the pull request body to generate a PR summary at any time. You can also use this command to specify where the summary should be inserted. #### Customizing Your Experience Access your [dashboard](https://app.sourcery.ai) to: - Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others. - Change the review language. - Add, remove or edit custom review instructions. - Adjust other review settings. #### Getting Help - [Contact our support team](mailto:support@sourcery.ai) for questions or feedback. - Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information. - Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).
    coderabbitai[bot] commented 3 weeks ago

    [!CAUTION]

    Review failed

    The head commit changed during the review from ffe7d32cf934e00e783e00daed0ee185a38b8c62 to 303456aa3460da452947a02e68a0f3de71d496e9.

    Walkthrough

    The changes in this pull request involve multiple updates across various configuration files, scripts, and Docker-related files. Key modifications include the restructuring of test discovery paths, updates to Dockerfile locations, and the introduction of new environment variable configurations. Additionally, several files have been removed, such as .dockerignore, CHANGELOG.md, and CONTRIBUTORS.md, while new dependencies have been added to the requirements files for improved functionality. The overall focus is on optimizing the project's structure, enhancing code quality tools, and refining the installation and build processes.

    Changes

    File Change Summary
    .deepsource.toml Updated test_patterns to include "tests/**" and "test_*.py", removed "web/**". Updated dockerfile_paths to "docker/Dockerfile" from previous paths.
    .dockerignore File deleted; previously contained patterns to ignore during Docker builds.
    .env_template New file created defining environment variables for Docker Compose with multiple configurations for COMPOSE_FILE.
    .gitattributes Modified to explicitly set EOL for *.sh files; no content changes.
    .github/workflows/auto-release.yml Updated version file path from web/.version to docker/.version.
    .github/workflows/build-pr.yml Changed Docker build context from web/ to docker/.
    .github/workflows/build.yml Updated build context from web/ to docker/; added schedule to run every 5 days.
    .gitignore Multiple entries removed, reducing the scope of ignored files and directories.
    .vscode/launch.json File deleted; contained configurations for debugging.
    CHANGELOG.md File deleted; previously tracked changes across versions.
    CONTRIBUTORS.md File deleted; previously listed project contributors.
    LICENSE Minor modification; added newline at the end of the file.
    Makefile Updated paths for Docker Compose files; changed environment file from .env to docker/.env.
    README.md Added badges for project version and community engagement; updated entrypoint script path.
    _config.yml Altered theme line, indicating potential formatting adjustment.
    configuration/nginx/reconpoint.conf Added new server block for HTTP to HTTPS redirection on port 8082; minor formatting changes.
    docker/.version Version updated from v2.1.0 to v2.2.0.
    docker/Dockerfile Updated installation process, added architecture checks, and improved cleanup steps.
    docker/certs/Dockerfile Added OpenSSL installation and updated configuration for certificate authority.
    docker/certs/entrypoint.sh Streamlined certificate generation process; minor formatting changes.
    docker/docker-compose.dev.yml Updated build context and volume mappings for celery, celery-beat, and web services.
    docker/docker-compose.setup.yml Updated volume path for certificates; minor indentation adjustments.
    docker/docker-compose.yml Multiple service configurations updated, including build contexts and volume mappings.
    make.bat Updated paths for Docker Compose files; no changes to logic.
    requirements/django-server-requirements.txt Added new dependency pywatchman==2.0.0.
    requirements/pre-requirements.txt Added dependencies python-dotenv>=0.21.0 and GitPython>=3.1.30.
    requirements/test-requirements.txt Added dependencies for code quality and testing: flake8==7.1.1, black==24.3.0, isort==5.12.0, pre-commit==3.6.0, coverage==7.4.1.
    scripts/install.sh Updated file paths and improved error handling; ensured proper user interaction.
    scripts/uninstall.sh Updated file paths; minor formatting changes.
    scripts/update.sh Corrected syntax error in conditional structure; minor formatting change.
    .coveragerc New configuration file for code coverage settings, specifying source and report exclusions.
    .flake8 New configuration for flake8, specifying line length and directories to exclude from linting.
    .pre-commit-config.yaml New configuration for pre-commit hooks to enforce code quality standards.
    pyproject.toml New configurations for black and isort code formatters.

    Poem

    In the land of code where rabbits play,
    Changes hop in a bright new way.
    With Docker paths and tests aligned,
    A cleaner build, oh how refined!
    Let's cheer for updates, big and small,
    For every tweak, we stand tall! πŸ‡βœ¨


    Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

    ❀️ Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
    πŸͺ§ Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit , please review it.` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (Invoked using PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. ### Other keywords and placeholders - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description. - Add `@coderabbitai` anywhere in the PR title to generate the title automatically. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
    github-actions[bot] commented 3 weeks ago

    Woohoo @gitworkflows! πŸŽ‰ You've just dropped some hot new code! πŸ”₯

    Hang tight while we review this! You rock! 🀘

    deepsource-io[bot] commented 3 weeks ago

    Here's the code health analysis summary for commits e5e8783..303456a. View details on DeepSource β†—.

    Analysis Summary

    AnalyzerStatusSummaryLink
    DeepSource Python LogoPython❌ Failure
    ❗ 494 occurences introduced
    🎯 323 occurences resolved
    View Check β†—
    DeepSource Docker LogoDocker❌ Failure
    ❗ 13 occurences introduced
    🎯 18 occurences resolved
    View Check β†—

    πŸ’‘ If you’re a repository administrator, you can configure the quality gates from the settings.
    codiumai-pr-agent-free[bot] commented 3 weeks ago

    PR Reviewer Guide πŸ”

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 4 πŸ”΅πŸ”΅πŸ”΅πŸ”΅βšͺ
    πŸ§ͺ No relevant tests
    πŸ”’ Security concerns

    Sensitive information exposure:
    The template includes API endpoints and database query parameters directly in the JavaScript code. This could potentially expose sensitive information about the application's internal structure. Consider moving these to server-side configuration or using a more secure method of passing data to the frontend.
    ⚑ Recommended focus areas for review

    Performance Issue
    The summary page loads a large amount of data and renders multiple complex charts and tables. This could lead to slow page load times, especially for targets with a lot of scan data. Consider implementing pagination, lazy loading, or caching strategies to improve performance. Security Concern
    The template includes inline JavaScript that directly renders user-supplied data, which could potentially lead to XSS vulnerabilities if not properly sanitized. Review all instances where user data is output to ensure proper escaping is used. Code Duplication
    There are several repeated code blocks for rendering similar UI components like cards and tables. Consider refactoring these into reusable template fragments or components to improve maintainability.
    codiumai-pr-agent-free[bot] commented 3 weeks ago

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Score
    Enhancement
    Correct the aria-expanded attribute for the active tab to improve accessibility ___ **The aria-expanded attribute is set to "false" for all tab links, including the
    active one. Consider setting it to "true" for the active tab to improve
    accessibility.** [targetApp/templates/target/summary.html [35]](https://github.com/khulnasoft/reconpoint/pull/81/files#diff-f3dc7854e1d19e5dcb895ca4e17026568398245d0b23b7b1b1dbedb6185e69c5R35-R35) ```diff - +Home ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 9 Why: Setting the aria-expanded attribute to "true" for the active tab is crucial for accessibility, as it accurately reflects the state of the tab to assistive technologies. This change significantly improves the user experience for screen reader users.
    9
    Improve accessibility and semantics of the navigation tabs structure ___ **Consider using a more semantic HTML structure for the navigation tabs. Instead of
    using
      and
    • elements, you could use the ``` - [ ] **Apply this suggestion**
      Suggestion importance[1-10]: 8 Why: The suggestion to use a more semantic HTML structure with
    8
    Add aria-label attributes to chart containers for improved accessibility ___ **Consider adding aria-label attributes to the chart containers to improve
    accessibility for screen readers. This will provide context for the visualizations.** [targetApp/templates/target/summary.html [555]](https://github.com/khulnasoft/reconpoint/pull/81/files#diff-f3dc7854e1d19e5dcb895ca4e17026568398245d0b23b7b1b1dbedb6185e69c5R555-R555) ```diff -
    +
    ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 8 Why: Adding aria-label attributes to chart containers provides context for screen readers, enhancing accessibility by making visual content understandable to users with visual impairments. This is an important improvement for inclusivity.
    8
    Use a loop to generate tab navigation items to reduce code duplication and improve maintainability ___ **Consider using a loop to generate the tab navigation items and content instead of
    repeating similar HTML structures. This would make the code more maintainable and
    reduce duplication.** [startScan/templates/startScan/detail_scan.html [39-51]](https://github.com/khulnasoft/reconpoint/pull/81/files#diff-32d8b58465963c5363ca0a973addce3dc91bfefc993f35a0c4cdac3e0638aa1eR39-R51) ```diff - - -{% if history.buckets.all %} - -{% endif %} +{% for tab in tabs %} + +{% endfor %} ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 7 Why: The suggestion to use a loop for generating tab navigation items is valid as it reduces code duplication and enhances maintainability. However, it requires additional context to ensure that the loop can accommodate all conditions and variations present in the tabs.
    7
    Use a loop to generate accordion items dynamically, improving code maintainability and reducing repetition ___ **Consider using Django's built-in form rendering capabilities instead of manually
    creating form fields, which can help with form validation and security.** [startScan/templates/startScan/detail_scan.html [151-188]](https://github.com/khulnasoft/reconpoint/pull/81/files#diff-32d8b58465963c5363ca0a973addce3dc91bfefc993f35a0c4cdac3e0638aa1eR151-R188) ```diff
    -
    - -
    -
      - {% for subdomain in history.cfg_imported_subdomains %} -
    • {{subdomain}}
    • - {% endfor %} -
    + {% for accordion_item in accordion_items %} +
    + +
    +
      + {% for item in accordion_item.items %} +
    • {{ item }}
    • + {% endfor %} +
    +
    -
    - + {% endfor %}
    ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 6 Why: The suggestion to use a loop for accordion items is beneficial for reducing code repetition and improving maintainability. However, it assumes the existence of a suitable data structure to iterate over, which may require additional implementation.
    6
    Best practice
    Replace hardcoded JavaScript function calls with Django URL template tags for better maintainability and consistency ___ **Replace the hardcoded URLs in the JavaScript functions with Django template tags to
    ensure consistency and easier maintenance of URL patterns.** [startScan/templates/startScan/detail_scan.html [136-140]](https://github.com/khulnasoft/reconpoint/pull/81/files#diff-32d8b58465963c5363ca0a973addce3dc91bfefc993f35a0c4cdac3e0638aa1eR136-R140) ```diff -Download All Subdomains -Download All Endpoints -Download Important Subdomains -Download Interesting Subdomains -Download Interesting Endpoints +Download All Subdomains +Download All Endpoints +Download Important Subdomains +Download Interesting Subdomains +Download Interesting Endpoints ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 8 Why: Replacing hardcoded URLs with Django template tags improves maintainability and ensures consistency across URL patterns. This change is beneficial for future-proofing the code against changes in URL structures.
    8
    Use template includes for repeated card structures to improve code organization and reusability ___ **Consider using Django's template inheritance more effectively by moving repeated
    HTML structures (like the card layout) into separate template files and including
    them where needed.** [startScan/templates/startScan/detail_scan.html [347-358]](https://github.com/khulnasoft/reconpoint/pull/81/files#diff-32d8b58465963c5363ca0a973addce3dc91bfefc993f35a0c4cdac3e0638aa1eR347-R358) ```diff -
    -
    -
    - -

    Subdomains Discovered

    -

    {{subdomain_count|intcomma}}

    -
    -

    Alive Subdomains: {{alive_count}}

    -
    -
    -
    +{% include "components/stat_card.html" with title="Subdomains Discovered" count=subdomain_count|intcomma tooltip="Total Subdomains Discovered by reconPoint during this scan" badge_text="Alive Subdomains" badge_count=alive_count %} ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 7 Why: Utilizing template includes for repeated card structures enhances code organization and reusability. This approach is effective for maintaining a clean and modular codebase, though it requires creating and managing additional template files.
    7
    Remove redundant class attributes in navigation tab links ___ **The class attribute is duplicated in the tags for the navigation tabs. Remove the
    redundant class="nav-link" to improve code cleanliness.** [targetApp/templates/target/summary.html [35]](https://github.com/khulnasoft/reconpoint/pull/81/files#diff-f3dc7854e1d19e5dcb895ca4e17026568398245d0b23b7b1b1dbedb6185e69c5R35-R35) ```diff -
    + ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 7 Why: Removing the redundant class attribute improves code cleanliness and maintainability. While it does not affect functionality, it is a good practice to eliminate unnecessary code.
    7
    Use semantic HTML5 elements to improve document structure and accessibility ___ **Use semantic HTML5 elements like
    ,
    +
    {{ company_name }} | {{ company_address }} | {{ company_email }} | {{ company_website }} {% if show_reconpoint_banner %}
    Generated by reconPoint
    https://github.com/khulnasoft/reconpoint
    {% endif %} - +
    ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 7 Why: Using semantic HTML5 elements like
    and
    can improve document structure and accessibility. This suggestion enhances readability and aligns with best practices, although it may require minor adjustments to existing styles or scripts.
    7
    Performance
    Implement lazy loading for images to improve page load performance ___ **Implement lazy loading for images to improve initial page load time, especially for
    reports with many charts or images.** [templates/report/modern.html [815-816]](https://github.com/khulnasoft/reconpoint/pull/81/files#diff-1b11bca46b2fda672d0b5562898a1144227a184765078a47772030f42fe43446R815-R816) ```diff + src="data:image/png;base64,{{ subdomain_http_status_chart }}" + loading="lazy" /> ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 8 Why: Implementing lazy loading for images is a practical suggestion that can significantly enhance page load performance, especially for reports with many images or charts. This change is straightforward and beneficial for user experience.
    8
    Maintainability
    Use a CSS preprocessor to improve style management and maintainability ___ **Consider using a CSS preprocessor like SASS or LESS to manage the extensive CSS
    styles. This would allow for better organization, reusability, and maintainability
    of the styles.** [templates/report/modern.html [8-645]](https://github.com/khulnasoft/reconpoint/pull/81/files#diff-1b11bca46b2fda672d0b5562898a1144227a184765078a47772030f42fe43446R8-R645) ```diff - - ```
    Suggestion importance[1-10]: 5 Why: The suggestion to use a CSS preprocessor like SASS or LESS could improve maintainability and organization of the extensive CSS styles. However, it requires a significant change in the build process and may not be directly applicable without additional context on the project's setup.
    5

    πŸ’‘ Need additional feedback ? start a PR chat