binkley / modern-java-practices

Modern Java/JVM Build Practices
Other
933 stars 69 forks source link

Update page on Shift security left #468

Closed binkley closed 2 weeks ago

binkley commented 4 months ago

See related #516.

Acceptance criteria

Context

Remarks from a security expert (Dan Wallach):

To my mind, the biggest way to shift security left is to enumerate all the relevant security problems you might face and make sure that you have a plan for each one. So, if you're doing a web microservice, you should have a checklist of sorts, for example:

From third review with Dan

Us:

We struggle to write about security: neither of us have the expertise to write with confidence. Given the market is flooded with good books (which apparently a lot of folks don't read!), there are some "classics" I know of such as Gary McGraw (books 20 years old), and moving to the cloud has changed a lot of things. If you would, what are your top 3 picks for references? Things you would really like others to read.

We're considering keeping the security chapter focused on JVM tooling for the build, and treating deployment and web concerns as out of scope. But we'd like to provide further reading for folks. The #1 takeaway we want for readers is to treat security as a first-class concern, and make sensible checks integral to their local and CI builds, not put it off to external scanning tools and things like SonarQube, etc. We'd like that when tooling detects errors and warnings about security, the build fails, and developers need to actively address them, or suppress false positives with active, visible intention (ie, suitable for code audit).

The security topics that a Java dev in the modern world needs to know are:

That's plenty.

From second review with Dan

Right now, you have coverage, to some degree, of three topics:

Some feedback on these:

Topics you might add:

From first review by Dan