GitHub gobbles biz used by NASA, Google, etc to search code for bugs and security holes in Mars rovers, apps...

GitHub gobbles biz used by NASA, Google, etc to search code for bugs and security holes in Mars rovers, apps...

Semmle's flaw-finding queries can be shared and used on multiple projects


On Wednesday, Microsoft's GitHub said it has acquired Semmle, a San Francisco-based software analysis platform for finding vulnerabilities in code. No price was disclosed.


GitHub CEO Nat Friedman said Semmle's code analysis engine provides developers with a way to write queries for code patterns and variations, which allows flaws to be identified and fixed.


The gobbled biz's platform, LGTM (short for Looks Good To Me), is used by Google, Mozilla, NASA and Uber, among others. It has helped find more than 100 CVE-listed security holes in open-source projects to date.


LGTM relies on QL queries, and these declarative queries, once written, can be shared, so bad patterns found in one project can be easily spotted elsewhere. Here's QL query NASA's JPL used to find variations on a manually identified bug in the space agency's Curiosity’s entry, descent and landing software:



import cpp from Function f, FunctionCall c, int i, int a, int b
where f = c.getTarget() and a = ((ArrayType)c.getArgument(i).getType()).getArraySize() and b = ((ArrayType)f.getParameter(i).getType()).getArraySize() and a < b
select c.getArgument(i), "Array of size " + a + " passed to $@, which expects an array of size " + b + ".", f, f.getName()

The ability to share QL queries turns out to be a good fit for GitHub's developer community and for the sort of collaboration that improves security. And in time, it should augment GitHub's github gobbles google search security holes rovers