HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
someengineering
fixinventory
Python2020–2024
someengineering / fixinventory

fixinventory

Fix Inventory helps you identify and remove the most critical risks in AWS, GCP, Azure and Kubernetes.

7Distinct people
12Mentions
0Explicit recommenders
2.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Fix Inventory helps you identify and remove the most critical risks in AWS, GCP, Azure and Kubernetes.

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 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 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 year12 dated mentions

Observed mentions: 2020-08-12 20:30:46 UTC to 2024-08-25 05:07:14 UTC.

0123452020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 3 mentions; 3 submissions, 0 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2024

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
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC330
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC321
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC514

What Hacker News says

12 sources
There is also Fix Inventory, which is a graph-based security tool: https://github.com/someengineering/fixinventory I'm one of the people behind Fix Inventory. What scares a lot of developers away from graph-based tools is the graph query language. It has a steep learning curve, and unless you write queries every day, it's really cumbersome to learn. We simplified that with our own search syntax that has all the benefits of the graph, but simplified a few concepts like graph traversal.
In Defenders think in lists, attackers think in graphs (2015)
The reasoning is explained in the very section of our Github org README you quoted this sentence from. Our main open source project is Fix Inventory (https://github.com/someengineering/fixinventory) and that is very well documented (https://inventory.fix.security) and uses no commercial 3rd party libraries. The Fix SaaS frontend that you're referring to and that you find at https://fix.security builds upon Fix Inventory. We could have just made it closed-source like every other SaaS (think Grafana Cloud). But because I'm a big proponent of OSS we decided to open source our entire SaaS stack, frontend, backend as well as all internal tooling. The main intend here is transparency, not so you spin up your own SaaS environment. Essentially we develop the SaaS for ourselves first and foremost, but saw no reason to make it closed source. So tha
Read the rest
t is why it might be using any number of commercial 3rd party add-ons. > I'm curious to know what Material UI provided that any other open-source UI library did not. I believe it was some MUI X table features like multi row sorting that we didn't feel like re-implementing. I'm sure there's other open source libs that would do that, but we've settled on MUI and are not going to start mixing different UI libraries for different visual elements if we don't absolutely have to.
In Show HN: Fix – An open source cloud asset inventory for cloud security engineers
scapecast·Mar 27, 2024Submission

Show HN: Fix – An open source cloud asset inventory for cloud security engineers

Hi, we’re Lukas, Lars and Matthias, and we're building “Fix” (https://fix.security). Fix is an open source cloud asset inventory for developers to track their infrastructure’s security posture aka “cloud security posture management” (CSPM). How Fix works: Fix takes a snapshot of your inventory on an hourly basis by calling the cloud APIs, runs policy and compliance checks such as the CIS benchmark against that inventory, and provides the findings in a dashboard, via .csv export or API so that developers can use the raw data and build workflows. We’re also working on data sync to S3 and RDBMS like Postgres, MySQL and Snowflake. One of Fix’s unique feature is our graph-based inventory, highlighting the connections between resources. Unlike traditional cloud security tools that just list assets, Fix also displays their interconnections. We m
Read the rest
aintain a large graph, where nodes are indexed JSON documents representing your cloud resources, and different edges signify various dependencies. This allows flexible searches and policy creation using our search syntax. For example: Find large EC2 instances: search is(aws_ec2_instance) and instance_cores > 8 Find unused EBS volumes with last reading IOPS more than 30d ago: search is(aws_ec2_volume) and volume_status = available and last_access > 30d Find IAM policies that are attached to users instead of groups or roles: search is(aws_iam_user) {attached_policy: --> is(aws_iam_policy)} user_policies!=[] or attached_policy!=null Find SNS topics that are not encrypted at rest using KMS CMKs: search is(aws_sns_topic) with(empty, --> is(aws_kms_key)) We also have a CLI tool (https://github.com/someengineering/fixctl) where you can use the raw json or yaml formatted results from the searches as an input into your pipelines. We also support full text search. For example, some developers like to tag their resources with their name: search “lukas” will produce a list of all resources that contain the string “lukas”. Full text search comes in handy when you want find a particular string (e.g. an IP address) across all your cloud accounts to figure out which account and region a resource is located in. There are existing security tools that use a graph, e.g. Wiz or Cisco with Lightspin (now Panoptica). Those enterprise tools have a few characteristics that we think make them less attractive for developers: - They require talking to a sales rep - They run you through a procurement process - They try to lock you into their platform Fix on the other hand is: - self-service sign-up with a free tier - available through the AWS Marketplace (coming soon) - open source We price Fix based on # of cloud accounts you collect data from, with a fair-usage limit of 200,000 (two hundred thousand) resources per account. Our lowest paid tier starts at $90 / month with three cloud accounts included. Fix Security is built with our open source project “Fix Inventory”: https://github.com/someengineering/fixinventory The open source has richer functionality than our SaaS app. It's multi-cloud and supports AWS, GCP, Azure, DigitalOcean, VMWare and Kubernetes. Over time, our plan is to support all these platforms in our SaaS app as well. Fix Inventory can update resources, including tags, and clean resources up based on age, usage, or policy non-compliance. Currently, this "mutating" function is not in the SaaS version. Fix Inventory is read-write, Fix Security is read-only. Fix Inventory was born in D2iQ (now Nutanix). It was Lukas' solution to managing and securing a growing cloud infrastructure. I would love your feedback on our solution. We’re here to help write your first queries. Just ping us on Discord (https://discord.gg/fixsecurity) and let us know you’re coming from HN. Also, I would love to hear what security tooling you use today and what you like / dislike about it. Cheers
23 points · Open discussion
We solved that exact problem with our open source tool Resoto. Specifically our "Defrag" module, which cleans up unused and expired resources: https://resoto.com/defrag https://github.com/someengineering/resoto The magic behind the clean up is Resoto's inventory graph - the graph captures the clean up steps for each individual AWS resource. One of Resoto's users, D2iQ (now part of Nutanix), reduced their monthly cloud bill by ~78%, decreased from $561K to $122K per month. There's a step-by-step tutorial on our blog how they did it. I don't mean to hijack Dashdive's thunder here though, congrats on the launch!
In Launch HN: Dashdive (YC W23) – Track your cloud costs precisely
I had a similar issue at my last job. Whenever a user created a PR on our open source project artifacts of 1GB size consisting of hundreds of small files would be created and uploaded to a bucket. There was just no process that would ever delete anything. This went on for 7 years and resulted in a multi-petabyte bucket. I wrote some tooling to help me with the cleanup. It's available on Github: https://github.com/someengineering/resoto/tree/main/plugins/... consisting of two scripts, s3.py and delete.py. It's not exactly meant for end-users, but if you know your way around Python/S3 it might help. I build it for a one-off purge of old data. s3.py takes a `--aws-s3-collect` arg to create the index. It lists one or more buckets and can store the result in a sqlite file. In my case the directory listing of the bucket took almost a week to co
Read the rest
mplete and resulted in a 80GB sqlite. I also added a very simple CLI interface (calling it virtual filesystem would be a stretch) that allows to load the sqlite file and browse the bucket content, summarise "directory" sizes, order by last modification date, etc. It's what starts when calling s3.py without the collect arg. Then there is delete.py which I used to delete objects from the bucket, including all versions (our horrible bucket was versioned which made it extra painful). On a versioned bucket it has to run twice, once to delete the file and once to delete the then created version, if I remember correctly - it's been a year since I built this. Maybe it's useful for someone.
In AWS S3: Sometimes you should press the $100k button

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.