HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
DeepSourceCorp
globstar
Go2025–2025
DeepSourceCorp / globstar

globstar

Globstar is a fast, feature-rich, and open-source static analysis toolkit for writing and running code checkers. Based on tree-sitter.

3Distinct people
6Mentions
0Explicit recommenders
504GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Globstar is a fast, feature-rich, and open-source static analysis toolkit for writing and running code checkers. Based on tree-sitter.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 2:04:58 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week6 dated mentions

Observed mentions: 2025-01-27 03:10:10 UTC to 2025-04-08 22:32:24 UTC. Weeks start Monday, UTC.

012342025-01-27 00:00:00 UTC to 2025-02-03 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsJan 272025-02-03 00:00:00 UTC to 2025-02-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-10 00:00:00 UTC to 2025-02-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-17 00:00:00 UTC to 2025-02-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-24 00:00:00 UTC to 2025-03-03 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2025-03-03 00:00:00 UTC to 2025-03-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsMar 32025-03-10 00:00:00 UTC to 2025-03-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-17 00:00:00 UTC to 2025-03-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-24 00:00:00 UTC to 2025-03-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-31 00:00:00 UTC to 2025-04-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-04-07 00:00:00 UTC to 2025-04-14 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsApr 7

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jan 272025-01-27 00:00:00 UTC2025-02-03 00:00:00 UTC110
Feb 32025-02-03 00:00:00 UTC2025-02-10 00:00:00 UTC000
Feb 102025-02-10 00:00:00 UTC2025-02-17 00:00:00 UTC000
Feb 172025-02-17 00:00:00 UTC2025-02-24 00:00:00 UTC000
Feb 242025-02-24 00:00:00 UTC2025-03-03 00:00:00 UTC413
Mar 32025-03-03 00:00:00 UTC2025-03-10 00:00:00 UTC000
Mar 102025-03-10 00:00:00 UTC2025-03-17 00:00:00 UTC000
Mar 172025-03-17 00:00:00 UTC2025-03-24 00:00:00 UTC000
Mar 242025-03-24 00:00:00 UTC2025-03-31 00:00:00 UTC000
Mar 312025-03-31 00:00:00 UTC2025-04-07 00:00:00 UTC000
Apr 72025-04-07 00:00:00 UTC2025-04-14 00:00:00 UTC110

What Hacker News says

6 sources
Thanks! > I'd love to hear how this project differs from Bearer, which is also written in Go and based on tree-sitter? https://github.com/Bearer/bearer The primary difference is that we're optimizing for users to write their custom rules easily. We do plan to ship built-in checkers [1] so we cover at least OWASP Top 10 across all major programming languages. We're also truly open-source using the MIT license. > Regardless, considering there is a large existing open-source collection of Semgrep rules, is there a way they can be adapted or transpiled to tree-sitter S-expressions so that they may be reused with Globstar? I'm pretty sure there should be a way to make that work. We believe writing checkers (and having a long list of built-in checkers) will be a commodity in a world where AI can generate S-expressions (or tree-sitter node queri
Read the rest
es in Go) for any language with very high accuracy (which is where we have an advantage as compared to tools that use a custom DSL). To that extent, we're focused on improving the runtime itself so we can support complex use cases from our YAML and Go interfaces. If the community can help us port rules from other sources to our built-in checkers, we'd love that! [1] https://github.com/DeepSourceCorp/globstar/pulls
In Show HN: Globstar – Open-source static analysis toolkit
Thanks! We still have a long way to go and a pretty extensive roadmap. > Is there a general way to apply/remove/act on taint in Go checkers? I may not be digging deeply enough but it seems like the example just uses some `unsafeVars` map that is made with a magic `isUserInputSource` method. It's hard for me to immediately tell what the capabilities there are, I bet I'm missing a bit. Assuming you're looking at the guide [1], the `isUserInputSource` is just a partial example and not a magic method (we probably should have used a better example there). The AST for each node along with the context are exposed in the `analysis.Pass` object [2]. We don't have an example for taint analysis, but here's an example [3] of state tracking that can be used to achieve this. This is a little tedious at the moment and you'll have to do the heavy-lifting
Read the rest
in the Go code — but this is on our roadmap to improve. We want to expose a lot more helpers to make doing things like taint analysis easily. Here's another idea [4] we're exploring to make the YAML interface more powerful: adding support for utilities (like entropy calculation) that you can call and perform a comparison. [1] https://globstar.dev/guides/writing-go-checker#_1-complex-pa... [2] https://globstar.dev/reference/checker-go#analysis-function [3] https://globstar.dev/reference/checker-go#state-tracking [4] https://github.com/DeepSourceCorp/globstar/issues/27
In Show HN: Globstar – Open-source static analysis toolkit

Show HN: Globstar – Open-source static analysis toolkit

Hey HN! We’re Jai and Sanket, co-founders of DeepSource (YC W20). We're open-sourcing Globstar (https://github.com/DeepSourceCorp/globstar), a static analysis toolkit that lets you easily write and run custom code quality and security checkers in YAML [1] or Go [2]. After 5+ years of building AST-based static analyzers that process millions of lines of code daily at DeepSource, we kept hearing a common request from customers: "How do we write custom checks specific to our codebase?" AppSec and DevOps teams have a lot of learned anti-patterns and security rules they want to enforce across their orgs, and being able to do that without being a static analysis expert, came up as an important want. We initially built an internal framework using tree-sitter [3] for our proprietary infrastructure-as-code analyzers, which enabled us to rapidly cr
Read the rest
eate new checkers. We realized that making the framework open-source could solve this problem for everyone. Our key insight was that writing checkers isn't the hard part anymore. Modern AI assistants like ChatGPT and Claude are excellent at generating tree-sitter queries with very high accuracy. We realized that the tree-sitters' gnarly s-expression syntax isn’t a problem anymore (since the AI will be doing all the generation anyway), and we can instead focus on building a fast, flexible, and reliable checker runtime around it. So instead of creating yet another DSL, we use tree-sitter's native query syntax. Yes, the expressions look more complex than simplified DSLs, but they give you direct access to your code's actual AST structure – which means your rules work exactly as you'd expect them to. When you need to debug a rule, you're working with the actual structure of your code, not an abstraction that might hide important details. We've also designed Globstar to have a gradual learning curve: The YAML interface works well for simple checkers, and the Go Interface can handle complex scenarios when you need features like cross-file analysis, scope resolution, data flow analysis, and context awareness. The Go API gives you direct access to tree-sitter bindings, so you can write arbitrarily complex checkers on day one. Key features: - Written in Go with native tree-sitter bindings, distributed as a single binary - MIT-licensed - Write all your checkers in a “.globstar” folder in your repo, in YAML or Go, and just run “globstar check” without any build steps - Multi-language support through tree-sitter (20+ languages today) We have a long way to go and a very exciting roadmap for Globstar, and we’d love to hear your feedback! [1] https://globstar.dev/guides/writing-yaml-checker [2] https://globstar.dev/guides/writing-go-checker [3] https://tree-sitter.github.io/tree-sitter/
103 points · Open discussion

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.