Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: 💬 Discord
url: https://discord.gg/fixsecurity
url: https://discord.gg/XvpyRQ4yj2
about: Chat with other users and the development team
- name: 📄 Documentation
url: https://inventory.fix.security/docs
Expand Down
56 changes: 28 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
[![Version](https://img.shields.io/github/v/tag/someengineering/fixinventory?label=latest)](https://github.com/someengineering/fixinventory/tags/)
[![Build](https://img.shields.io/github/actions/workflow/status/someengineering/fixinventory/docker-build.yml)](https://github.com/someengineering/fixinventory/commits/main)
[![Docs](https://img.shields.io/badge/docs-latest-<COLOR>.svg)](https://inventory.fix.security/docs)
[![Discord](https://img.shields.io/discord/778029408132923432?label=discord)](https://discord.gg/fixsecurity)
[![Discord](https://img.shields.io/discord/778029408132923432?label=discord)](https://discord.gg/XvpyRQ4yj2)
[![Known Vulnerabilities](https://img.shields.io/snyk/vulnerabilities/github/someengineering/fixinventory/requirements.txt)](https://app.snyk.io/org/some-engineering-inc./projects)
[![CodeCoverage](https://codecov.io/gh/someengineering/fixinventory/graph/badge.svg?token=ZEZW5JAR5J)](https://codecov.io/gh/someengineering/fixinventory)

Fix Inventory detects compliance and security risks in cloud infrastructure accounts.
Fix Inventory detects compliance and security risks in cloud infrastructure accounts.

We built Fix Inventory for cloud and security engineers as an open source alternative to proprietary cloud security tools like Orca Security, Prisma Cloud or Wiz.

Check out our [Quick Start Guide](https://fixinventory.org/getting-started) for step-by-step instructions on getting started.
Check out our [Quick Start Guide](https://fixinventory.org/getting-started) for step-by-step instructions on getting started.

## 💡Why Fix Inventory?

Expand All @@ -27,12 +27,12 @@ Fix Inventory was built from the ground up for cloud-native infrastructure. Fix

If you want to collect data for resources that are not supported yet, you can use our [example collector](https://github.com/someengineering/fixinventory/tree/main/plugins/example_collector) to write your own collectors.

The tool works in three phases:
The tool works in three phases:

1. **Collect inventory data**: Fix Inventory queries cloud infrastructure APIs (aka “agentless”) for metadata about the resources in your cloud accounts.

2. **Normalize cloud data**: Fix Inventory creates a graph schema to normalize the universe of detected cloud resources, their configurations, and relationships.

3. **Triage security risks**: Fix Inventory scans the collected data with custom and pre-configured compliance frameworks to search for misconfigurations, risks, and other security issues.

Fix Inventory also provides ways to export and integrate the data it collects to build alerting and remediation workflows.
Expand All @@ -41,9 +41,9 @@ Fix Inventory also provides ways to export and integrate the data it collects to

In cloud-native infrastructure, misconfigurations from developer activity and frequent updates through automation are a fact of life. It's impossible to catch all misconfigurations before they reach production, so the key question becomes: how quickly can you identify and fix (hence the name…) the most critical risks?

Traditional cloud security tools struggle to answer basic questions such as “what’s the blast radius of this public resource?” or “is there a path to get from this resource to a privileged role?”, because they lack the context from the hidden dependencies between cloud resources.
Traditional cloud security tools struggle to answer basic questions such as “what’s the blast radius of this public resource?” or “is there a path to get from this resource to a privileged role?”, because they lack the context from the hidden dependencies between cloud resources.

We believe that the only effective approach is to use a graph-based data model that works across all cloud platforms.
We believe that the only effective approach is to use a graph-based data model that works across all cloud platforms.

- **Deploy anywhere:** Fix Inventory can be deployed on your laptop or in the cloud, and we also offer a SaaS version.

Expand All @@ -60,19 +60,19 @@ We believe that the only effective approach is to use a graph-based data model t
Fix Inventory supports common cloud security use cases.

- **Cloud Security Posture Management (CSPM)**: Monitor and enforce security policies across your cloud infrastructure, Identify and remediate misconfigurations.

- **AI Security Posture Management (AI-SPM)**: Automatic discovery of AI services in use, and the data sources they connect to.

- **Cloud Compliance**: Run automated compliance assessments across your cloud accounts with standard compliance frameworks.

- **Cloud Infrastructure Entitlement Management (CIEM)**: Discover human and non-human identities (NHI), detect risky service accounts with access to sensitive data.

- **Cloud Asset Inventory:** Gain visibility into your multi-cloud environments by collecting, normalizing, unifying resource configuration data and prevent shadow IT

- **Container & Kubernetes Security**: Get complete visibility, from individual containers and Kubernetes objects to namespaces, nodes, clusters, and the underlying cloud infrastructure.

- **Security Data Fabric**: Integrate security data from multiple cloud providers into a single place and export data for usage in other systems and databases.

- **Policy-as-code:** Script and apply policies across your multi-cloud infrastructure and establish best practices for reliability, cost control, and resource configurations. 

Please also see [Fix Security](https://fix.security/), our hosted SaaS offering that is built on top of Fix Inventory.
Expand All @@ -83,16 +83,16 @@ Three concepts are helpful to understand how Fix Inventory works and how it’s

### 1. Normalized cloud data

Fix Inventory has knowledge of the provider-specific data model for every resource. To collect metadata from every cloud, Fix Inventory uses a pluggable architecture. Each collector plugin includes logic to extract data from the cloud provider APIs.
Fix Inventory has knowledge of the provider-specific data model for every resource. To collect metadata from every cloud, Fix Inventory uses a pluggable architecture. Each collector plugin includes logic to extract data from the cloud provider APIs.

Post-collection, Fix Inventory normalizes the data and maps it to our [unified data model](https://inventory.fix.security/reference/unified-data-model) with [common properties](https://inventory.fix.security/reference/unified-data-model#resource-base-kind), [static typing](https://inventory.fix.security/reference/unified-data-model#complex-and-simple-kinds) and [inheritance](https://inventory.fix.security/reference/unified-data-model#resource-hierarchy).
Post-collection, Fix Inventory normalizes the data and maps it to our [unified data model](https://inventory.fix.security/reference/unified-data-model) with [common properties](https://inventory.fix.security/reference/unified-data-model#resource-base-kind), [static typing](https://inventory.fix.security/reference/unified-data-model#complex-and-simple-kinds) and [inheritance](https://inventory.fix.security/reference/unified-data-model#resource-hierarchy).

In Fix Inventory, everything is a `resource` - cloud services, users, policies, etc.
In Fix Inventory, everything is a `resource` - cloud services, users, policies, etc.

- `id`, `name`, `kind`, `tags`, `age`, `last_access`, `last_update` are normalized resource properties
- `cloud`, `account`, and `region` data denote the location of each resource.

The mapping with common properties, static typing and inheritance allow you to interact with resources across cloud providers in a consistent fashion.
The mapping with common properties, static typing and inheritance allow you to interact with resources across cloud providers in a consistent fashion.

For example, resource time stamps in Fix Inventory are normalized, which allows the use of relative times. Assume we want to find resources created in the last 3 days, no matter which cloud. Then we could express this with a relative duration string:

Expand All @@ -110,7 +110,7 @@ Fix Inventory comes with a human-readable query language, and the user interface

- Which resources are incorrectly tagged?

Due to its statically typed data model, you can search for names, strings, or numbers in any combination. You can also leverage the dependency and access graph to include the relationships between resources, users, and permissions in your searches. Fix Inventory also supports [full-text search](https://inventory.fix.security/reference/search/full-text).
Due to its statically typed data model, you can search for names, strings, or numbers in any combination. You can also leverage the dependency and access graph to include the relationships between resources, users, and permissions in your searches. Fix Inventory also supports [full-text search](https://inventory.fix.security/reference/search/full-text).

One key purpose of our query language is to define rules and policies that govern how your infrastructure should behave and then automatically trigger alerts and actions when these rules are violated.

Expand All @@ -130,15 +130,15 @@ Fix Inventory ships with industry-standard benchmarks, like the CIS Benchmarks f

### Dependency and access graph

Fix Inventory stores relationships between resources in your cloud environment to understand logical dependencies and detect hidden pathways to potential breaches. You can:
Fix Inventory stores relationships between resources in your cloud environment to understand logical dependencies and detect hidden pathways to potential breaches. You can:

- Query complex relationships across cloud layers.

- Add context by filtering for resource properties.

- Visualize search outputs to make risks more understandable.

For example, suppose I want to understand which S3 buckets in my infrastructure a user “Matthias” has write access to. In that case, I can write a query that uses the IAM (identity access management) graph to find out. I can pipe the search results into a [DOT file](https://en.wikipedia.org/wiki/DOT_(graph_description_language)) and create a visualization that explains relationships to people without cloud or security expertise.
For example, suppose I want to understand which S3 buckets in my infrastructure a user “Matthias” has write access to. In that case, I can write a query that uses the IAM (identity access management) graph to find out. I can pipe the search results into a [DOT file](https://en.wikipedia.org/wiki/DOT_(graph_description_language)) and create a visualization that explains relationships to people without cloud or security expertise.

```bash
> search --with-edges is(aws_iam_user) and name=matthias -iam[0:]{permissions[*].level==write}-> is(aws_iam_user, aws_s3_bucket) | format --dot
Expand All @@ -150,19 +150,19 @@ Read more about [traversing the graph](https://inventory.fix.security/concepts/a

## 💖 Community

Fix Inventory is an open-source project by Some Engineering. Contact us on [our Discord server](https://discord.gg/fixsecurity) for:
Fix Inventory is an open-source project by Some Engineering. Contact us on [our Discord server](https://discord.gg/XvpyRQ4yj2) for:

- help with getting started

- issues you encounter

- writing queries

- using the dependency and access graph

## 🙏 Contributing

Feel free to [open a GitHub issue](https://github.com/someengineering/fixinventory/issues/new) for small fixes and changes. For bigger changes and new plugins, please open an issue first to prevent duplicated work and to have the relevant discussions first.
Feel free to [open a GitHub issue](https://github.com/someengineering/fixinventory/issues/new) for small fixes and changes. For bigger changes and new plugins, please open an issue first to prevent duplicated work and to have the relevant discussions first.

Please follow our [contribution guidelines](https://inventory.fix.security/development) to get started.

Expand Down
2 changes: 1 addition & 1 deletion fixcore/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ More information can be found in [the docs](https://inventory.fix.security/docs/


## Contact
If you have any questions feel free to [join our Discord](https://discord.gg/fixsecurity) or [open a GitHub issue](https://github.com/someengineering/fix/issues/new).
If you have any questions feel free to [join our Discord](https://discord.gg/XvpyRQ4yj2) or [open a GitHub issue](https://github.com/someengineering/fix/issues/new).


## License
Expand Down
2 changes: 1 addition & 1 deletion fixlib/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Fix Inventory common library
This is the Fix Inventory common library. Any functionality that is required by more than one of [our components](https://github.com/someengineering/fixinventory#component-list) will be put in here.

## Contact
If you have any questions feel free to [join our Discord](https://discord.gg/fixsecurity) or [open a GitHub issue](https://github.com/someengineering/fixinventory/issues/new).
If you have any questions feel free to [join our Discord](https://discord.gg/XvpyRQ4yj2) or [open a GitHub issue](https://github.com/someengineering/fixinventory/issues/new).


## License
Expand Down
2 changes: 1 addition & 1 deletion fixmetrics/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ This is the core functionality `fixmetrics` provides.


## Contact
If you have any questions feel free to [join our Discord](https://discord.gg/fixsecurity) or [open a GitHub issue](https://github.com/someengineering/fix/issues/new).
If you have any questions feel free to [join our Discord](https://discord.gg/XvpyRQ4yj2) or [open a GitHub issue](https://github.com/someengineering/fix/issues/new).


## License
Expand Down
2 changes: 1 addition & 1 deletion fixshell/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ search is(aws_ec2_volume) and volume_status = available and ctime < -30d and ati


## Contact
If you have any questions feel free to [join our Discord](https://discord.gg/fixsecurity) or [open a GitHub issue](https://github.com/someengineering/fix/issues/new).
If you have any questions feel free to [join our Discord](https://discord.gg/XvpyRQ4yj2) or [open a GitHub issue](https://github.com/someengineering/fix/issues/new).


## License
Expand Down
2 changes: 1 addition & 1 deletion fixworker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ search id = i-039e06bb2539e5484 | tag update owner lukas


## Contact
If you have any questions feel free to [join our Discord](https://discord.gg/fixsecurity) or [open a GitHub issue](https://github.com/someengineering/fix/issues/new).
If you have any questions feel free to [join our Discord](https://discord.gg/XvpyRQ4yj2) or [open a GitHub issue](https://github.com/someengineering/fix/issues/new).


## License
Expand Down
Loading