foundry-sample-insider-threat

Insider Threat sample Foundry app

https://github.com/crowdstrike/foundry-sample-insider-threat

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.0%) to scientific vocabulary

Keywords

falcon-foundry
Last synced: 9 months ago · JSON representation ·

Repository

Insider Threat sample Foundry app

Basic Info
  • Host: GitHub
  • Owner: CrowdStrike
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 1.17 MB
Statistics
  • Stars: 0
  • Watchers: 4
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
falcon-foundry
Created about 1 year ago · Last pushed 10 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Security Support

README.md

CrowdStrike Falcon

Insider Threat sample Foundry app

The Insider Threat sample Foundry app is a community-driven, open source project which serves as an example of an app which can be built using CrowdStrike's Foundry ecosystem. foundry-sample-insider-threat is an open source project, not a CrowdStrike product. As such, it carries no formal support, expressed or implied.

This app is one of several App Templates included in Foundry that you can use to jumpstart your development. It comes complete with a set of preconfigured capabilities aligned to its business purpose. Deploy this app from the Templates page with a single click in the Foundry UI, or create an app from this template using the CLI.

[!IMPORTANT]
To view documentation and deploy this sample app, you need access to the Falcon console.

Description

Organizations face critical security challenges when employees leave and have elevated access to sensitive data. The sample Foundry Insider Threat helps automate the process of monitoring leaving employees. This application helps teams:

  • Monitor high-risk individuals who may pose insider threats.
  • Automatically track employees during their departure process.
  • Enhance protection of sensitive data during critical transition periods.
  • Maintain security oversight for users with privileged access.

This app illustrates the following functionality amongst other components: * Fetch Leaving/departing employees data from Workday. * Add employees to Identity Protection watchlist and Active Directory group using Workflow built-in actions for enhanced monitoring capabilities.

Prerequisites

  • The Foundry CLI (instructions below)
  • Workday Configuration
  • Active Directory Configuration

Install the Foundry CLI

You can install the Foundry CLI with Scoop on Windows or Homebrew on Linux/macOS.

Windows:

Install Scoop. Then, add the Foundry CLI bucket and install the Foundry CLI.

shell scoop bucket add foundry https://github.com/crowdstrike/scoop-foundry-cli.git scoop install foundry

Or, you can download the latest Windows zip file, expand it, and add the install directory to your PATH environment variable.

Linux and macOS:

Install Homebrew. Then, add the Foundry CLI repository to the list of formulae that Homebrew uses and install the CLI:

shell brew tap crowdstrike/foundry-cli brew install crowdstrike/foundry-cli/foundry

Run foundry version to verify it's installed correctly.

Workday Configuration

1. Create and configure API Client:

  1. Register a new API Client for integrations
  2. Enable Non-Expiring Refresh Tokens option
  3. Add the following scopes
    • Staffing
    • Contact Information
    • Tenant Non-Configurable
  4. Securely store the generated Client ID and Client Secret #### 2. Set up required user and security:
  5. Create a new Integration System User (ISU)
  6. Create a new Integration System Security Group
  7. Assign Integration System User created in step #1 to Security Group created in a step #2
  8. Add the following domains to Integration System Security Group
    • Worker Data: Current Staffing Information
    • Worker Data: Historical Staffing Information
    • Worker Data: Public Worker Reports
    • Exit Interview
    • Person Data: Work Email
  9. Activate pending security policy changes
  10. Assign ISU to API Client and generate Refresh Token

Active Directory Configuration

Create an Active Directory group (using Microsoft Active Directory) dedicated for departing employees. This group will be selected during the application installation process.

Getting Started

Clone this sample to your local system, or download as a zip file.

shell git clone https://github.com/CrowdStrike/foundry-sample-insider-threat cd foundry-sample-insider-threat

Log in to Foundry:

shell foundry login

Select the following permissions:

  • [ ] Create and run RTR scripts
  • [x] Create, execute and test workflow templates
  • [x] Create, run and view API integrations
  • [x] Create, edit, delete, and list queries

Deploy the app:

shell foundry apps deploy

[!TIP] If you get an error that the name already exists, change the name to something unique to your CID in manifest.yml.

Re-deploy the app:

shell foundry apps deploy

Once the deployment has finished, you can release the app:

shell foundry apps release

Next, go to Foundry > App catalog, find your app, and install. During app install, you will be prompted for app configuration: * (API-Integration) Workday generate access token configuration: * Workday host: Your Workday host name with protocol (https/http) * ClientId Your Workday API client Id * ClientSecret Your Workday API client secret

**Example**:
<p><img width="500px" src="/app_docs/images/workdayCreds.png?raw=true">
  • (Workflow) 'Add leavers to watchlist and AD group' & 'Remove leavers from watchlist and AD group' configuration:

    • Workday Tenant Id: Your Workday tenant id
    • Refresh Token: Your API client refresh token
    • Target Group: Active directory group name

    Example:

[!NOTE]

You will notice the same configurations been asked a couple of times. This is because there are two workflows (Add leavers to watchlist and AD group & Remove leavers from watchlist and AD group) using the same configurations.

[!TIP]

Refer Workday Configuration section to generate ClientID ClientSecret and Refresh Token

Refer Active Directory Configuration section to create Active Directory group

About this sample app

Foundry capabilities used

  • API-Integration. Used to connect to Workday API to get leaving employee data.
  • Functions. Used to get a user linked account.
  • Logscale Saved Search. Used to query departing employees data
  • Workflow templates. Workflow to execute API-Integrations to get leaving employees data from Workday and add/remove employees to/from Identity Protection watchlist.

Directory structure

Known limitations

Multi-Domain Environment Restrictions

Multi-domain environments without trust relationships are not supported. The application requires established trust relationships between domains to function properly.

Cloud-Only User Limitations

Cloud-only users (those without Active Directory accounts) are not supported in the current release. - Support for Entra ID and Okta groups will be available in an upcoming release.

[!NOTE] * The workflow Add leavers to watchlist and AD group runs daily and processes both: * Newly identified employees who have given notice of future departure. * Previously identified employees whose departure dates are still in the future.

The workflow will continue to add/maintain these employees on the Identity Protection watchlist and in Active Directory until their actual departure date. This ensures monitoring of all employees those who are on a notice period. * The workflow Remove leavers from watchlist and AD group runs daily and automatically removes employees from the watchlist and Active Directory after 30 days of their departure date. This automation helps maintain a clean and up-to-date entries.

Foundry resources



WE STOP BREACHES

Owner

  • Name: CrowdStrike
  • Login: CrowdStrike
  • Kind: organization
  • Email: github@crowdstrike.com
  • Location: United States of America

Citation (CITATION.cff)

cff-version: 1.2.0
title: 'CrowdStrike Foundry Sample App - Insider Threat'
message: >-
  If you use this software, and wish to cite the origins, 
  please use metadata from this file.
type: software
authors:
  - given-names: 
    family-names: CrowdStrike
    email: oss-questions@crowdstrike.com
repository-code: 'https://github.com/CrowdStrike/foundry-sample-insider-threat'
url: 'https://www.crowdstrike.com'
abstract: >-
  The CrowdStrike Foundry Sample App - Insider Threat
  is a community-driven, open source project designed
  to illustrate creating apps with CrowdStrike Foundry.
keywords:
  - crowdstrike
  - oauth2
  - crowdstrike-foundry
  - go
  - python
  - javascript
  - windows
  - linux
  - mac
license: MIT

GitHub Events

Total
  • Push event: 6
  • Pull request review event: 2
  • Pull request event: 5
  • Create event: 3
Last Year
  • Push event: 6
  • Pull request review event: 2
  • Pull request event: 5
  • Create event: 3

Dependencies

.github/workflows/main.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
functions/identity-context/requirements.txt pypi
  • crowdstrike-falconpy *
  • crowdstrike-foundry-function ==1.1.1