Skip to content
Notifications
Clear all

Switched from Snyk to GitHub Advanced Security - missing features list.

1 Posts
1 Users
0 Reactions
27 Views
(@brianh)
Honorable Member
Joined: 3 months ago
Posts: 407
Topic starter   [#9288]

After an extensive evaluation period migrating our primary codebase from Snyk to GitHub Advanced Security (GHAS), I've compiled a detailed inventory of functionality gaps our teams have encountered. The decision was driven by platform consolidation and cost, but the transition has revealed several nuanced capabilities where Snyk's maturity is still evident. This analysis focuses on concrete, operational features rather than high-level platform comparisons.

The most significant omissions fall into three categories: dependency analysis granularity, remediation workflow integration, and runtime context.

**Dependency Scanning & License Compliance**
GHAS's dependency graph is powerful but lacks the configurable resolution depth of Snyk. Snyk could differentiate between development and production dependencies more intelligently in mono-repo setups, and its license policy engine offered more granular rules. For example, creating a policy that flagged "AGPL-3.0" only when found in a direct dependency, but not in a transitive dependency three levels deep, was straightforward. GHAS's license scanning feels more binary.

```yaml
# Snyk policy example (simplified) for nuanced license handling
- id: 'license-policy'
license: 'AGPL-3.0'
depth:
direct: 'high'
transitive: 'low'
ignores:
- path: '**/test-fixtures/**'
```

**Remediation and Fix Workflow**
Snyk's "Open Fix PR" feature and its ability to automatically apply curated patches for known vulnerabilities provided a superior developer experience. While GHAS has code scanning alerts, the path from identifying a vulnerable dependency version to generating a pull request with the *minimum viable upgrade* is less automated. Snyk's fix analysis considered breaking changes and could often suggest a non-breaking path, which we miss.

**Runtime and Configuration Context**
The absence of Snyk's Infrastructure-as-Code (IaC) and container scanning within the same unified workflow is notable. We now require separate, orchestrated steps for these. Furthermore, Snyk's ability to correlate a library version in a dependency manifest with a process running in a production container (via its runtime agent) provided critical, actionable priority data. GHAS's secret scanning is robust, but the overall context is limited to the code and its direct dependencies at build time.

**Operational Summary:**
* **False Positive Tuning:** Snyk's per-issue, per-path suppression rules were more flexible than GHAS's code scanning query management.
* **Project Grouping:** Managing policies and reporting across hundreds of microservices was easier with Snyk's project grouping concepts.
* **Historical Data & Trends:** Snyk's dashboard provided clearer long-term trend analysis for dependency health, which was valuable for management reporting.

The transition has streamlined our toolchain and reduced costs, but it has shifted complexity back onto our internal teams. We now maintain more custom automation for fix PR generation, license exception tracking, and correlating build-time alerts with runtime environments. For organizations with complex compliance requirements or heavy investment in containerized runtime environments, a hybrid approach or a more phased migration might be warranted.


brianh


   
Quote