|
12 | 12 | <img alt="smithy-logo-light-mode" src="assets/smithy-logo-dark.svg#gh-light-mode-only"/> |
13 | 13 | </p> |
14 | 14 |
|
15 | | -By [Smithy](https://smithy.security/) |
16 | | -Security scanning,results unification and enrichment tool |
17 | | -([ASOC](https://www.gartner.com/reviews/market/application-security-orchestration-and-correlation-asoc-tools)) |
| 15 | +Smithy is a workflow engine for security tooling powered by [smithy.security](https://smithy.security/) |
| 16 | +that automates security teams' frameworks built on top of [Open Cybersecurity Schema Framework](https://github.com/ocsf). |
18 | 17 |
|
19 | | -Security pipelines on Kubernetes. The purpose of this project is to provide a |
20 | | -scalable and flexible framework to execute arbitrary security scanning |
21 | | -tools on code and infrastructure while processing the results in a versatile |
22 | | -way. |
| 18 | +## Links |
23 | 19 |
|
24 | | -```mermaid |
25 | | -flowchart LR |
26 | | - S["Code Setup & Build"] |
27 | | -
|
28 | | - P_GoSec["Producer - GoSec (Golang)"] |
29 | | - P_SecBugs["Producer - SpotBugs (Java)"] |
30 | | - P_Bandit["Producer - Bandit (Python)"] |
31 | | - P_TFSec["Producer - TFSec (Terraform)"] |
32 | | -
|
33 | | - P_Aggregator["Producer - Results Aggregation"] |
34 | | -
|
35 | | - E_Deduplication["Enricher - Deduplication"] |
36 | | - E_Policy["Enricher - Policy"] |
37 | | - E_Aggregator["Enricher - Enriched Results Aggregator"] |
38 | | -
|
39 | | - C_Slack["Consumer - Slack"] |
40 | | - C_Elasticsearch["Consumer - Elasticsearch"] |
41 | | - C_Jira["Consumer - Jira"] |
42 | | -
|
43 | | - S-->P_TFSec |
44 | | - S-->P_GoSec |
45 | | - S-->P_SecBugs |
46 | | - S-->P_Bandit |
47 | | -
|
48 | | - P_TFSec-->P_Aggregator |
49 | | - P_GoSec-->P_Aggregator |
50 | | - P_SecBugs-->P_Aggregator |
51 | | - P_Bandit-->P_Aggregator |
52 | | -
|
53 | | - P_Aggregator-->E_Deduplication |
54 | | - P_Aggregator-->E_Policy |
55 | | -
|
56 | | - E_Policy-->E_Aggregator |
57 | | - E_Deduplication-->E_Aggregator |
58 | | -
|
59 | | - E_Aggregator-->C_Slack |
60 | | - E_Aggregator-->C_Elasticsearch |
61 | | - E_Aggregator-->C_Jira |
62 | | -
|
63 | | -
|
64 | | -``` |
| 20 | +* [Architecture](./docs/architecture/README.md): understand how Smithy works |
| 21 | +* [SDK](./sdk): build your custom security tooling on top of Smithy. [Example](https://github.com/smithy-security/smithy/pull/749). |
| 22 | +* [Smithyctl](./smithyctl): CLI to build and execute workflows |
| 23 | +* [Blog](https://smithy.security/blog/) |
| 24 | +* Smithy at AppSecDublin: [slides](docs/presentations/Global_AppSecDublin_Presentation.pdf) and [video](https://www.youtube.com/watch?app=desktop\&list=PLpr-xdpM8wG8479ud_l4W93WU5MP2bg78\&v=i9j7n0WDBO0\&feature=youtu.be) |
| 25 | +* Smithy at State Of Open Conf UK 2025: [slides](docs/presentations/SOOCon25.pdf) and [video](https://www.youtube.com/watch?v=SZR_Ll9dYWA) |
65 | 26 |
|
66 | 27 | ## Getting Started |
67 | 28 |
|
68 | | -The [Getting Started](docs/getting-started.md) tutorial explains |
69 | | -how to get started with Smithy. |
70 | | -You can also access our community contributed pipelines |
71 | | -[here](https://github.com/smithy-security/smithy-community-pipelines). |
| 29 | +### Prerequisites |
72 | 30 |
|
73 | | -## Announcements |
| 31 | +* [Go](https://go.dev/doc/install) |
| 32 | +* [Docker](https://docs.docker.com/engine/install/) |
| 33 | +* Install Smithy with `go install github.com/smithy-security/smithy/smithyctl@latest` |
74 | 34 |
|
75 | | -This version of Smithy was announced at OWASP Appsec Dublin in 2023. Check out |
76 | | -[the slides](docs/presentations/Global_AppSecDublin_Presentation.pdf) and |
77 | | -[the video](https://www.youtube.com/watch?app=desktop\&list=PLpr-xdpM8wG8479ud_l4W93WU5MP2bg78\&v=i9j7n0WDBO0\&feature=youtu.be) |
78 | | -of the presentation. |
| 35 | +### Execute a workflow |
79 | 36 |
|
80 | | -## Support |
| 37 | +Clone this repository `git clone https://github.com/smithy-security/smithy.git` and run the |
| 38 | +following command from within it: |
81 | 39 |
|
82 | | -If you have questions, reach out to us by opening a new |
83 | | -[issue](https://github.com/smithy-security/smithy/issues/new) on GitHub. |
84 | | - |
85 | | -You can also get support on our [Discord server](https://discord.gg/xzsHxUxK). |
86 | | - |
87 | | -## Development & Contributing |
| 40 | +```shell |
| 41 | +smithyctl workflow run --spec-path=examples/golang/workflow.yaml --build-component-images=true |
| 42 | +``` |
88 | 43 |
|
89 | | -Contributions are welcome, see the [developing](docs/contributers/DEVELOPING.md) |
90 | | -and [releasing](docs/contributers/RELEASES.md) guides on how to get started. |
| 44 | +Check the findings in the logs. |
91 | 45 |
|
92 | | -## License |
| 46 | +## Contacts |
93 | 47 |
|
94 | | -Smithy is under the Apache 2.0 license. See the [LICENSE](LICENSE) file for |
95 | | -details. |
| 48 | +Join our [Discord server](https://discord.gg/xzsHxUxK) to get support and ask questions. |
0 commit comments