githubEdit

Distribution at scale

This documentation outlines how to distribute Snyk Studio as a managed utility, automating local security testing and integrating it into your SDLC.

Why distribute Snyk Studio to every developer?

  • Eliminates setup friction: deliver Snyk Studio as pre-configured infrastructure, enabling easy adoption from day one.

  • Security parity: enable engineers across all levels to have access to the same tooling and to leverage the same security rules in their AI workflows.

  • Reduced support overhead: centralized configuration reduces isolated troubleshooting associated with separate local setups.

  • Ever-present remediation: provide every developer with a standardized, AI-assisted triage experience, accelerating remediation with native LLM integrations for both triage and fix generation.

Distribution decisions to make

When distributing at scale, Snyk offers general guidelines, but also recognizes that decisions must be made based on your organization’s tooling, security policies, and developer culture.

This section provides an overview of each decision and provides guidance on how to manage the deployment accordingly.

Which coding assistants are available to your developers?

You decide what coding assistants to make available to your developers. Nearly all coding assistants support the Model Context Protocol (MCP) and support some version of directives.

Coding assistants have differences in how MCP server configuration is managed, as well as how and where directives can be applied. This guide covers where some of these differences could manifest in your implementation, but Snyk Studio deployment at scale should work in conjunction with any coding assistant.

What MDM tools does your organization use?

Your OS (Windows or Mac) determines which MDM (Intune, Jamf, and so on) your IT department uses to deploy software. They should have the proficiency in writing the necessary scripts and incorporating them into the corresponding MDM playbooks for deployment. However, the Example Company X Blueprint section can serve as a model for how to port to your company’s MDM solution.

Do you want to auto-update Snyk CLI or MCP versions?

The Snyk CLI and MCP Server are regularly improved with new features and fixes. Each have a regular schedule of release and are thoroughly tested beforehand. If needed, you can distribute a specific version to developers and allow time for internal vetting before distributing updates.

Expand the relevant option for more information on what actions you need to take.

chevron-rightYes, I would like to enable auto-updates for Snyk CLI/MCP versions.hashtag
  • If you are deploying alongside Cursor, Windsurf, or Copilot in VS Code, no action needs to be taken as the default setting automatically upgrades dependencies when they are available.

  • If you are deploying Snyk Studio into any other coding assistant, you will need to keep the Snyk CLI on the latest version using MDM, which will depend on your chosen installation method.

chevron-rightNo, I want to manually update Snyk CLI/MCP versions after internal testing is complete.hashtag
  • If you are deploying alongside Cursor, Windsurf, or Copilot in VS Code, install that specific CLI versionarrow-up-right.

    • If you want to use the Snyk VS Code IDE extension to facilitate the MCP server configuration and Secure at inception directives, install the VS Code IDE extension and disable auto CLI updates (snyk.advanced.automaticDependencyManagement) and set the path to your CLI explicitly (snyk.advanced.cliPath).

  • If you are deploying alongside Claude Code or Gemini CLI, install a specific CLI versionarrow-up-right and run snyk mcp config --name=[ade_name].

  • If you are deploying alongside a coding assistant not covered by the above or prefer fine-grained controls, install a specific CLI versionarrow-up-right, configure your ADE’s MCP server, and optionally write the rule files (varies by ADE).

Do you want to enable Secure at inception directives?

Secure at inception directives guide the coding assistant on how and when to scan the code it generates and automatically fix newly introduced security issues.

You can configure whether you use these rules, the content, and how strictly you want them enforced.

chevron-rightYes, I want to enable Secure at inception directives.hashtag
  • If you are deploying alongside Cursor, Windsurf, or Copilot in VS Code and want to use Snyk’s default Secure at inception directives which write to individual directories and automatically git ignore the files, you can leverage the Snyk VS Code IDE extensionarrow-up-right to configure the Snyk MCP server (snyk.securityAtInception.autoConfigureSnykMcpServer) as well as Secure at inception directives and their corresponding execution frequency (snyk.securityAtInception.executionFrequency).

  • If you are deploying Snyk Studio into any other coding assistant or want to customize the Secure at inception directives, write the directives to the appropriate directory for the specific coding assistant.

    • Directives can be written at the user level, covering all repositories, for most coding assistants. For example, in Windsurf, rules should be written in the global_rules.md file in the ~/.codeium/windsurf/ directory for MacOS/Linux and %USERPROFILE%\.codeium\windsurf\ for Windows.

      Some tools, including Cursor, do not allow rules to be written programmatically at the user level. Some tools have their own administrative consoles for managing directives, but you need to ensure they are kept in sync across your ADEs.

    • Directives can be written to each repository. These rules can be written using scripts (not MDM) and or Global Templates in Git. For example, in Cursor repository scoped rules are written as a .md file in the .cursor/rules directory at the root of the project.

chevron-rightNo, I do not want to enable any directives.hashtag

No additional action is required beyond configuring the Snyk MCP server. You can still manually invoke scans using your chosen agent.

Do you want to allow developers to modify directive settings?

The main reason to offer this flexibility is that there is no standardized approach across the individual developers workflow to using AI coding assistants.

If the Snyk VS Code IDE extension is being used to configure the Snyk MCP server as well as Secure at inception directives and their corresponding execution frequency, developers can change the frequency between:

  • On Code Generation: guides the agent to execute scans every time it generates new code in a Snyk supported language.

  • Smart Scan: the agent model decides when to invoke Secure at Inception rules.

  • Manual: disables Secure at inception rules but allows a user to invoke scans through the agent using natural language. You can change the settings back to On Code Generation, depending on your needs.

If you deploy Snyk Studio into any other coding assistant or customize the Secure at inception directives, you can modify directives by manually overwriting or deleting directive files.

chevron-rightYes, I want to enable developers to modify directive settings.hashtag
  • As part of your MDM playbook, consider writing a helper file that indicates when directives were written to each developer’s machine. The script can check to see if a developer already has directives deployed, making no changes to the directive file contents.

  • If you decide to roll out modification of directives on developer machines, you can change the MDM playbook to overwrite directive files based on the helper file timestamp and write a new helper file timestamp value.

chevron-rightNo, I do not want to enable developers to modify directive settings.hashtag

As part of your regular execution of the script using the MDM tool, no special consideration needs to be made to determine to which developer machines should have the directives written. For example, if your MDM script runs daily, any developers who changed directives since the last run will have their directives overwritten. If you choose this option, consider more frequent script executions.

Example decisions and distribution steps

This example uses a fictional company called Company X.

Decisions made by Company X

  • Cursor and Windsurf are available to developers to use internally.

  • Jamf is used as a MDM tool.

  • Yes, I want to auto-update Snyk CLI/MCP versions.

  • Yes, I want to enable Secure at inception directives.

  • Yes, I want to allow developers to modify directive settings.

This results in a straightforward deployment where the Snyk VS Code IDE extension can be used to distribute the CLI, handle automatic dependency updates, automate the configuration of the MCP server, and set the Secure at inception directives. Allowing developers to modify directive settings is handled with a helper file on developer machines as shown in the example script.

Development and rollout steps

Company X drafted the script and followed these steps:

chevron-right1. Execute the script locallyhashtag

This demonstrates functionality and troubleshoots any issues, with the user testing the experience in all applicable coding assistants and multiple runs.

chevron-right2. Upload the script to Jamfhashtag
  1. Navigate to Settings > Computer Management > Scripts.

  2. Click the New button to create a new script.

  3. Configure the script with the following attributes:

    1. Display Name: Snyk Studio Deployment

    2. Category: Security

    3. Priority: After

    Script attributes configuration in Jamf
  4. Navigate to the Scripts tab and paste in the script.

  5. Click Save.

chevron-right3. Create a Jamf policy for small user testinghashtag
  1. Navigate to Computers > Policies.

  2. Click New to create a new policy.

  3. Configure General settings with the following attributes:

    1. Display Name: Snyk Studio Deployment - Manual Test

    2. Category: Security

    3. Trigger: Recurring Check-in

    4. Execution Frequency: Ongoing

  4. Navigate to the Options > Scripts:

    1. Click Configure.

      Configure the Snyk Studio Deployment script
    2. Select the Snyk Studio Deployment script.

  5. Navigate to the Scope tab. Configure the scope by setting the following value:

    1. Targets: Select one group for initial testing.

  6. Click Save.

  7. Optionally: Navigate to the Self Service tab and make the policy available:

Optional Self Service setting in Jamf
chevron-right4. Validate with a small user testhashtag
  1. Monitor Policy Logs in Jamf for execution status.

  2. Ask initial users to open Cursor and or Windsurf to test functionality:

    1. Check that the Snyk extensions are installed.

    2. Confirm Snyk extension settings show the MCP server is configured and Secure at inception is enabled.

    3. Run a small coding task through the agent and observe that Secure at inception directives are automatically invoked.

    4. Prompt the agent to execute security scans manually.

chevron-right5. Rollout to all usershashtag
  1. Navigate to Computers > Policies.

  2. Find the existing Snyk Studio Deployment policy.

  3. Configure the scope by setting the following values:

    1. Targets: All Computers

    2. Limitations: None (unless you want to exclude specific devices)

  4. Click Save.

Sample script

Snyk provides a sample script for the Company X example for distributing Snyk Studio:

chevron-rightExample distribution script for Jamfhashtag

Last updated

Was this helpful?