Skip to content
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

Bug: Fails to install due to no RobustCloudCommand #117

Closed
CTI-Corey opened this issue Feb 15, 2024 · 3 comments
Closed

Bug: Fails to install due to no RobustCloudCommand #117

CTI-Corey opened this issue Feb 15, 2024 · 3 comments
Assignees
Labels
status/done Completed type/bug Non-urgent code defect

Comments

@CTI-Corey
Copy link

It appears that RobustCloudCommand was de-listed?
https://www.powershellgallery.com/packages/RobustCloudCommand/

It can still be installed manually with

Install-Module -Name RobustCloudCommand -RequiredVersion 2.1.0

However the Install-Module -Name Hawk fails currently due to this.

@CTI-Corey CTI-Corey added the type/bug Non-urgent code defect label Feb 15, 2024
@T0pCyber T0pCyber self-assigned this Feb 15, 2024
@T0pCyber
Copy link
Owner

Thanks for the heads up. Will need to update to reflect.

@jonnybottles
Copy link
Collaborator

@jonnybottles
Copy link
Collaborator

BLUF (Bottom Line Up Front)

Build failures caused by the missing RobustCloudCommand dependency have been resolved by removing it from the manifest. Since its only usage was in the now-inactive Get-HawkTenantInboxRules function, this removal fixes builds while maintaining all current functionality. A separate issue has been opened to track the reimplementation of the tenant-wide inbox rule scanning capability.


Key Actions

  • Removed RobustCloudCommand from manifest dependencies.
  • Opened a new issue to reimplement tenant-wide inbox rule retrieval.

These actions unblock current development while ensuring the security scanning capability is properly tracked for future reimplementation.


Background

Build failures were occurring due to a dependency on the RobustCloudCommand module, which is no longer available in the PowerShell Gallery.

Investigation Findings

Dependency Analysis

  • RobustCloudCommand was listed as a dependency in the manifest.
  • Its only usage was in Get-HawkTenantInboxRules.
  • Get-HawkTenantInboxRules was not called by any active functions, including Start-HawkTenantInvestigation.

Function Purpose

  • Get-HawkTenantInboxRules was designed to scan all tenant mailboxes for:
    • Malicious inbox rules (via Get-HawkUserInboxRule).
    • Unauthorized email forwarding (via Get-HawkUserEmailForwarding).
  • It relied on RobustCloudCommand to handle throttling when scanning large mailbox sets.

Changelog Review

  • Version 2.0.2 updated Get-HawkTenantInboxRules to support RobustCloudCommand 2.0.1.
  • No subsequent changelog entries indicated removal or deprecation of the function.
  • The function was disconnected from the main workflow but remained in the codebase.

Current State

The RobustCloudCommand dependency has been removed from the manifest since the only dependent function was not actively used. This resolves the immediate build failure.


Way Forward

A follow-up issue has been created to address related tasks:

Reimplement Tenant-Wide Inbox Rule Scanning

If using RobustCloudCommand:

  • Make assessment of it works in the current project
  • If so, implement it

If not using RobustCloudCommand:

  • Replace calls to RobustCloudCommand with:
    • PowerShell's built-in Start-Job for parallel processing.
    • Use Microsoft Graph API for mailbox enumeration and rule retrieval.
  • Update the Hawk module manifest to remove RobustCloudCommand from dependencies.
  • Add new PowerShell cmdlets for mailbox batching to prevent throttling issues.

@jonnybottles jonnybottles added status/done Completed and removed status/in-progress Being worked labels Dec 2, 2024
@jonnybottles jonnybottles changed the title Fails to install due to no RobustCloudCommand Bug: Fails to install due to no RobustCloudCommand Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status/done Completed type/bug Non-urgent code defect
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

3 participants