Cloud Native Runtime Security
Go to file
Mark Stemm 76f64f5d79 Properly parse multi-document yaml files
Properly parse multi-document yaml files e.g. blocks separated by
---. This is easily handled by lyaml itself--you just need to pass the
option all = true to yaml.load, and each document will be provided as a table.

This does break the table iteration a bit, so some more refactoring:

 - Create a load_state table that holds context like the current
 - document index, the required_engine_version, etc.
 - Pull out the parts that parse a single document to load_rules_doc(),
   which is given the table for a single document + load_state.
 - Simplify get_orig_yaml_obj to just provide a single row index and
 - return all rows from that point to the next blank line or line
   starting with '-'

Signed-off-by: Mark Stemm <mark.stemm@gmail.com>
2019-08-02 11:01:59 -07:00
.github update(.github): PR template 2019-07-01 19:04:56 +02:00
cmake/modules new: cmake modules for git revision description 2019-07-26 03:23:01 +02:00
cpack/debian Add ability to read rules files from directories (#348) 2018-04-05 17:03:37 -07:00
docker chore: switching back to latest falco-builder and falco-tester docker images for CI 2019-07-26 03:23:01 +02:00
examples Markdown formatting 2019-05-31 12:19:59 -07:00
integrations docs: remove extra words 2019-06-17 08:44:00 +02:00
rules rule update: add exception for write below rpm (#745) 2019-08-01 20:07:24 +02:00
scripts fix(scripts/jenkins): ensure to pull docker images (falco builder and tester) 2019-07-26 03:23:01 +02:00
test Remove containers from empty capture file 2019-07-31 12:18:47 -07:00
tests update: sysdig dir gate in subdirectories 2019-07-03 15:27:28 +02:00
userspace Properly parse multi-document yaml files 2019-08-02 11:01:59 -07:00
.clang-format chore: clang format following the current style 2019-07-03 09:07:00 +02:00
.cmake-format new: cmake format file 2019-07-08 19:05:06 +02:00
.gitignore update: ignore luacheck cache 2019-07-10 18:49:02 +02:00
.luacheckrc new: luacheck basic config 2019-07-10 18:49:02 +02:00
.travis.yml chore: moving travis build script in scripts directory 2019-07-26 03:23:01 +02:00
.yamllint.conf new: YAML lint configuration 2019-07-10 13:00:03 +02:00
CHANGELOG.md Prepare for 0.17.0 2019-07-31 14:05:12 -07:00
CMakeCPackOptions.cmake update: revert formatting 2019-07-02 17:52:29 +02:00
CMakeLists.txt chore: output falco version 2019-07-26 03:23:01 +02:00
CODE_OF_CONDUCT Clean up Readme, Add CNCF requested files for project. (#440) 2018-10-10 01:50:17 -05:00
CONTRIBUTING.md docs: more on labels 2019-06-12 01:03:58 +02:00
COPYING Change license to Apache 2.0 (#419) 2018-09-20 11:47:10 -07:00
falco.yaml Change log timestamp to ISO8601 w/ timezone (#518) 2019-04-09 09:41:00 -07:00
GOVERNANCE delete all duplicate empty blanks (#542) 2019-02-27 11:53:40 -05:00
MAINTAINERS docs: add lorenzo and leonardo as maintainers 2019-05-24 16:50:25 +02:00
OWNERS new: initial owners files for Falco 2019-06-10 18:40:27 -07:00
README.md Prepare for 0.17.0 2019-07-31 14:05:12 -07:00

Falco

Latest release

v0.17.0 Read the change log

Dev Branch: Build Status
Master Branch: Build Status
CII Best Practices: CII Best Practices


Falco is a behavioral activity monitor designed to detect anomalous activity in your applications. Powered by sysdigs system call capture infrastructure, Falco lets you continuously monitor and detect container, application, host, and network activity—all in one place—from one source of data, with one set of rules.

Falco is hosted by the Cloud Native Computing Foundation (CNCF) as a sandbox level project. If you are an organization that wants to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented, consider joining the CNCF. For details read the Falco CNCF project proposal.

What kind of behaviors can Falco detect?

Falco can detect and alert on any behavior that involves making Linux system calls. Falco alerts can be triggered by the use of specific system calls, their arguments, and by properties of the calling process. For example, Falco can easily detect incidents including but not limited to:

  • A shell is running inside a container.
  • A container is running in privileged mode, or is mounting a sensitive path, such as /proc, from the host.
  • A server process is spawning a child process of an unexpected type.
  • Unexpected read of a sensitive file, such as /etc/shadow.
  • A non-device file is written to /dev.
  • A standard system binary, such as ls, is making an outbound network connection.

Installing Falco

A comprehensive installation guide for Falco is available in the documentation website.

How do you compare Falco with other security tools?

One of the questions we often get when we talk about Falco is “How does Falco differ from other Linux security tools such as SELinux, AppArmor, Auditd, etc.?”. We wrote a blog post comparing Falco with other tools.

Documentation

See Falco Documentation to quickly get started using Falco.

Join the Community

  • Website for Falco.
  • We are working on a blog for the Falco project. In the meantime you can find Falco posts over on the Sysdig blog.
  • Join our Public Slack channel for open source Sysdig and Falco announcements and discussions.

License Terms

Falco is licensed to you under the Apache 2.0 open source license.

Contributing

See the CONTRIBUTING.md.