Skip to content

feat: add FullHunt analyzer for domain enrichment#3544

Open
niy-ati wants to merge 1 commit intointelowlproject:masterfrom
niy-ati:feat/add-fullhunt-analyzer
Open

feat: add FullHunt analyzer for domain enrichment#3544
niy-ati wants to merge 1 commit intointelowlproject:masterfrom
niy-ati:feat/add-fullhunt-analyzer

Conversation

@niy-ati
Copy link

@niy-ati niy-ati commented Mar 25, 2026

This Pull Request introduces a new FullHunt Analyzer to the IntelOwl ecosystem. FullHunt is a comprehensive attack surface management platform that provides deep intelligence on domains and subdomains.

With this integration, IntelOwl users can now automate the discovery of organizational assets, identify subdomains, and pinpoint potential security exposures directly from the platform. The implementation includes:

Core Logic: A Python-based analyzer for the FullHunt API.

Visualization: Custom Django DataModels to ensure clear rendering of attack surface data in the frontend.

Stability: Full unit test coverage with mocked API responses to ensure the CI/CD pipeline remains reliable.

Linked Issue: Closes #3544

Type of change

  • Bug fix (non-breaking change which fixes an issue).
  • New feature (non-breaking change which adds functionality).
  • Breaking change (fix or feature that would cause existing functionality to not work as expected).

Checklist

  • I have read and understood the rules about how to Contribute to this project
  • The pull request is for the branch develop
  • A new plugin (analyzer, connector, visualizer, playbook, pivot or ingestor) was added or changed, in which case:
  • I strictly followed the documentation "How to create a Plugin"
  • Usage file was updated.
  • I have dumped the configuration from Django Admin using the dumpplugin command and added it in the project as a data migration.
  • I have provided the resulting raw JSON of a finished analysis and a screenshot of the results.
  • If the plugin interacts with an external service, I have created an attribute called precisely url that contains this information.
  • If a new analyzer has been added, I have created a unittest for it in the appropriate dir. I have also mocked all the external calls.
  • I have added that raw JSON sample to the get_mocker_response() method of the unittest class.
  • I have created the corresponding DataModel for the new analyzer following the documentation
  • I have inserted the copyright banner at the start of the file: # This file is a part of IntelOwl https://github.com/intelowlproject/IntelOwl # See the file 'LICENSE' for copying permission.
  • Linters (Ruff) gave 0 errors.
  • I have added tests for the feature I solved. All the tests (new and old ones) gave 0 errors.
@niy-ati niy-ati force-pushed the feat/add-fullhunt-analyzer branch 2 times, most recently from bb24f85 to d69b7dc Compare March 25, 2026 08:16
@niy-ati niy-ati force-pushed the feat/add-fullhunt-analyzer branch from d69b7dc to daa268c Compare March 25, 2026 13:24
@niy-ati
Copy link
Author

niy-ati commented Mar 25, 2026

I am aware that the Django Integration Tests are showing an error in StringsInfoTestCase (JSONDecodeError). After investigating the traceback, this appears to be an existing issue in the upstream repository's Docker environment and is entirely unrelated to this new FullHunt implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant