By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.
Resources
>
Blog
>
Article
Liatrio Blog Series, Github Advanced Security, Part 1: Introduction
May 18, 2022

All GHAS, No Brakes!

Build security into your apps within the developers’ workflow

I attended a conference for the first time since the remote-era and two things were very apparent: first, I am going to need to remember how to “people” again (I lost count of the number of times I embarrassed myself over those two days 😅) and second — and on a more serious note — is that security is more prevalent and in the forefront of people’s minds. I don’t think this is surprising with all of the different attacks happening on the digital front these days. From prevention of social engineering scams to emerging Zero-day exploits, companies are trying to fight back and protect their customers. The good news is building more secure applications has gotten easier. Liatrio has been working with GitHub Advanced Security (GHAS) and it is one of the ways we think companies can build safer and higher quality applications. Yes — This is the first in a series of blogs covering GHAS and the ways that it helps secure your apps; but we also think this is pretty cool stuff that could make your teams’ and your customers’ lives better. Lessgo!

GHAS is a set of extra security features designed to help improve the quality of your code above the standard security features offered. These extra features include secret scanning, code scanning, and dependency review. Not to get too ahead of the game here but the final 3 parts of this series are deeper dives into each of these topics. These features do require that you have GHAS licenses for your org, and these features are also available on public repos as well — kudos to GitHub for giving back to the Open Source community 💪. Check out the next 3 blogs for more details on each one.

I can already hear “Security is great, but it always slows us down” and I have to say, I get where you’re coming from, but so does GitHub. They’ve done a great job of building these tools in such a way that they can work alongside your current flow. For example, you can have multiple GitHub Actions workflows running in parallel, so a CodeQL scan can run alongside your existing workflows (shameless plug here: check out our previous blog post on getting started with CodeQL and actions specifically). On the other hand, secret scanning works behind the scenes, and using dependency review should fall right in line with your workflow if you’re using the GitHub flow. Check out this example dependency review catching vulnerabilities in a pull request 😱.

Dependency review on a pull request showing vulnerabilities in your dependencies
Dependency review on a pull request showing vulnerabilities in your dependencies

I can hear the whispers: “this is great for developers but how does it help security teams and admins?” First, there are plenty of policies and settings that can be set at the enterprise level, organization level, and repo level to make sure the correct level of adjustability is given. Second, there are plenty of data points that get rolled up into the organization and enterprise levels, allowing security and admin teams to get a high level view of what is happening below. Check out this example organization security overview:

Security overview panel in a GitHub organization
Security overview panel in a GitHub organization

The back and forth between developers and security teams can be distilled into Trust but Verify. For example, as a developer I can dismiss alerts and provide reasoning for the dismissal.

Dismissal dropdown of a Dependabot alert
Dismissal dropdown of a Dependabot alert

Seems like a lot of trust but what about verify? An admin can go into the organization and run filters in the security tab to find out what has been happening across the repos in the org. This is also available at the repo level. For example, this filter checks for Dependabot alerts that have been closed with the resolution of tolerable-risk.

Filter on alerts checking for alerts closed with  tolerable-risk
Filter on alerts checking for alerts closed with tolerable-risk

This is just some of the ways that GitHub has built a better ecosystem for teams to work better together and build solid applications. The high level view seems cool, right? Now that we’ve seen how it works in your flow, let’s get into the details of how GHAS actually handles security. The next blogs will walk you through more detail on how code scanning, secret scanning, and dependency review (with some other supply chain tools) work. See you there!

Latest From Our Blog

Ready to get started?

Contact Us

We'd love to learn more about your project and determine how we can help out.