Skip to content

Commit ea1da9e

Browse files
authored
docs: add the new build tools and adjust supported technologies (#539)
Signed-off-by: behnazh-w <behnaz.hassanshahi@oracle.com>
1 parent 118cad3 commit ea1da9e

File tree

2 files changed

+52
-12
lines changed

2 files changed

+52
-12
lines changed

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,15 @@
66

77
Macaron is a supply chain security analysis tool from [Oracle Labs](https://labs.oracle.com/pls/apex/r/labs/labs/intro), which focuses on the build integrity of an artifact and the artifact dependencies. It is based on the [Supply chain Levels for Software Artifacts (SLSA)](https://slsa.dev/) specification, which aims at preventing some of the software supply chain attacks as the systems get more complex, especially with respect to the use of open-source third-party code in applications. Attacks include stealing credentials, injecting malicious code etc., and it is critical to have security assurance on the third-party code to guarantee that the integrity of the code has not been compromised.
88

9-
Macaron uses [SLSA requirements specifications v0.1](https://slsa.dev/spec/v0.1/requirements) to define concrete rules for protecting software integrity that can be checked for compliance requirements automatically. Macaron provides a customizable checker platform that makes it easy to define checks that depend on each other. This is particularly useful for implementing checks for SLSA levels. In addition, Macaron also checks a user-specified policy for the repository to detect unexpected behavior in the build process. Macaron is a work-in-progress project and currently supports Maven and Gradle Java build systems. Support has also been added for Python projects that use Pip or Poetry as their package managers, minus dependency analysis. We plan to support build systems for other languages in future.
9+
Macaron uses [SLSA requirements specifications v0.1](https://slsa.dev/spec/v0.1/requirements) to define concrete rules for protecting software integrity that can be checked for compliance requirements automatically. Macaron provides a customizable checker platform that makes it easy to define checks that depend on each other. This is particularly useful for implementing checks for SLSA levels. In addition, Macaron also checks a user-specified policy for a software component to detect unexpected behavior in the build process. We currently support the following build tools:
10+
11+
* Maven and Gradle Java build systems
12+
* Pip or Poetry package managers for Python
13+
* npm and Yarn for JavaScript
14+
* Go
15+
* Docker
16+
17+
To see the full list of supported technologies, such as CI services, registries, and provenance types see [this page](https://oracle.github.io/macaron/pages/supported_technologies/index.html). Macaron is a work-in-progress project. We plan to support more build systems and technologies in the future.
1018

1119
## Table of Contents
1220

docs/source/pages/supported_technologies/index.rst

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,55 @@
55
Supported Technologies
66
======================
77

8+
-----------
9+
Build Tools
10+
-----------
11+
12+
Macaron is able to detect the build and deployment scripts for the following build tools and package managers while analyzing the CI configurations,
13+
such as GitHub Actions workflows.
14+
15+
* Maven
16+
* Gradle
17+
* Pip
18+
* Poetry
19+
* npm
20+
* Yarn
21+
* Go
22+
* Docker
23+
24+
825
------------
926
Git Services
1027
------------
1128

12-
.. list-table::
13-
:header-rows: 1
29+
Currently, we support the following Git services for version control. If you need support for any other Git services, feel free to open a GitHub issue.
1430

15-
* - Git Service
16-
* - `GitHub <https://github.com>`_
17-
* - `GitLab <https://gitlab.com>`_
31+
* `GitHub <https://github.com>`_
32+
* `GitLab <https://gitlab.com>`_
1833

1934
------------
2035
CI Services
2136
------------
2237

38+
Currently, we support the following Continuous Integration (CI) services for automatically building and deploying artifacts. If you need support for any other CI services, feel free to open a GitHub issue.
39+
2340
.. list-table::
2441
:header-rows: 1
2542

2643
* - CI Service
44+
- Support
2745
* - `GitHub Actions <https://github.com/features/actions>`_
28-
46+
-
47+
* Detecting deployment steps by building a call graph for workflows and reachable shell scripts
48+
* Support for various GitHub APIs, such as Releases
49+
* - `GitLab <https://gitlab.com>`_
50+
- Partial support for detecting deployment steps
51+
* - `Jenkins <https://www.jenkins.io>`_
52+
- Partial support for detecting deployment steps
53+
* - `Travis CI <https://www.travis-ci.com>`_
54+
- Partial support for detecting deployment steps
55+
* - `CircleCI <https://circleci.com/>`_
56+
- Partial support for detecting deployment steps
2957

3058
------------------
3159
Package Registries
@@ -39,10 +67,10 @@ Package Registries
3967
- Support
4068
- Documentation
4169
* - `JFrog Artifactory <https://jfrog.com/artifactory>`_
42-
- Only projects built with Gradle and publishing to a JFrog Artifactory repo following `Maven layout <https://maven.apache.org/repository/layout.html>`_
70+
- Projects built with Gradle and published to a JFrog Artifactory repo following `Maven layout <https://maven.apache.org/repository/layout.html>`_
4371
- :doc:`page </pages/supported_technologies/jfrog>`
4472
* - `Maven Central Artifactory <https://central.sonatype.com>`_
45-
- Only projects built with Gradle or Maven and published to the Maven Central Artifactory.
73+
- Projects built with Gradle or Maven and published to the Maven Central Artifactory.
4674
- :doc:`page </pages/supported_technologies/maven_central>`
4775

4876
-----------
@@ -57,11 +85,15 @@ Provenances
5785
- Support
5886
- Documentation
5987
* - `SLSA <https://slsa.dev>`_
60-
- Only provenances under `SLSA version 0.2 <https://slsa.dev/spec/v0.2/provenance>`_.
88+
-
89+
* `SLSA provenance version 0.2 <https://slsa.dev/spec/v0.2/provenance>`_.
90+
* The provenance should be published as a GitHub release asset
6191
- :doc:`page </pages/supported_technologies/jfrog>`
6292
* - `Witness <https://github.com/testifysec/witness>`_
63-
- * Only provenances under Witness version 0.1
64-
* Only projects built with Gradle on GitLab CI provenances and publishing provenances to JFrog Artifactory
93+
-
94+
* Witness provenance version 0.1
95+
* Projects built with Gradle on GitLab CI
96+
* The provenance should be published on JFrog Artifactory
6597
- :doc:`page </pages/supported_technologies/jfrog>`
6698

6799
--------

0 commit comments

Comments
 (0)