Comments (5)
We can remove #158 from tasks in this issue and track that separately.
from macaron.
I have thought about this a bit and these are the initial ideas that I can come up with:
- Change how we handle the user arguments here so that the users could provide the SBOM only for the analysis without having to provide either the repo path (
-rp
) or the config file (-c
). It should be able to handle the following scenarios:
- The main target is provided (via either
-rp
or-c
) together with the SBOM. In this case, we need to come up with the priority between (whether the config will override the SBOM, etc.) and how we can merge and validate the consistency between the information available in those sources. However, we could consider prohibit the users from doing it. - The main target is not provided (via either
-rp
or-c
) together with the SBOM. In this case, we only try to extract the information of the main target and the dependencies from the SBOM and perform the analysis as usual. However, there are 2 sub-scenarios as well:- The main target repo is not available (i.e SCM information is not available, Exceptions during preparing the repo, etc.) -> we still need to run the analysis against the dependencies from the SBOM (if available). We need to modify this part where the analysis stops if we failed to analyze the main target.
- We can extract the SCM information of the main target from the SBOM -> we don't run the dependency analyzer and use the dependencies extracted from the SBOM.
- In scenarios where we cannot finish the analysis for the main target, but we still need to analyze the dependencies, we must be able to display in the reports that the main target is "Empty/Error" while still contain the information of the dependencies (if available). Therefore, we need to improve our HTML template to incorporate this.
from macaron.
We should break this into two PRs.
- One for handling the case where the main target repo is not provided via
-rp
or-c
, in which case we should still properly analyze the dependencies and the main target results (not available) should be reflected in the reports. - A separate PR can take care of the case where we need to resolve the main target repository through the SBOM itself.
from macaron.
Sounds good to me. I will create another 2 GH issues and link it to this main issue.
from macaron.
Thanks @behnazh-w I close this issue.
from macaron.
Related Issues (20)
- Find exact commits of artifacts
- Add caching of discovered repositories
- Add missing RST files and resolve duplicate object description issues in documentation
- Validate correctness of found repositories
- Force generating docstring for `__init__` functions
- The `latest` tag used in `run_macaron.sh` does not pull the latest image
- Add build tool GoReleaser HOT 2
- `./run_macaron.sh analyze -h` does not work as expected HOT 1
- Make CyclondeDX SBOM processing language agnostic
- Re-design the representation of an analysis target in Macaron
- New check idea: find CVEs against the current version of the build platform HOT 1
- Urllib3 provenance expectation problem HOT 1
- Add SLSA Level 3 and 4 verified history check HOT 2
- Repository checkout fails in some cases
- Support multi-argument build and deploy commands
- Accept an artifact file as input
- Accept a provenance file as input
- Add a tutorial for the commit finder HOT 2
- Resolve the source repo associated with an artifact using the provenance
- Add a concepts page on the website HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from macaron.