Skip to content

Commit

Permalink
Initial commit of the open source version of Artemis
Browse files Browse the repository at this point in the history
  • Loading branch information
pizen committed Jul 14, 2022
0 parents commit c2af916
Show file tree
Hide file tree
Showing 840 changed files with 56,547 additions and 0 deletions.
39 changes: 39 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# This is a comment.
# Each line is a file pattern followed by one or more owners.

# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
#* @global-owner1 @global-owner2
* @pizen

# Order is important; the last matching pattern takes the most
# precedence. When someone opens a pull request that only
# modifies JS files, only @js-owner and not the global
# owner(s) will be requested for a review.
#*.js @js-owner

# You can also use email addresses if you prefer. They'll be
# used to look up users just like we do for commit author
# emails.
#*.go [email protected]

# In this example, @doctocat owns any files in the build/logs
# directory at the root of the repository and any of its
# subdirectories.
#/build/logs/ @doctocat

# The `docs/*` pattern will match files like
# `docs/getting-started.md` but not further nested files like
# `docs/build-app/troubleshooting.md`.
#docs/* [email protected]

# In this example, @octocat owns any file in an apps directory
# anywhere in your repository.
#apps/ @octocat

# In this example, @doctocat owns any file in the `/docs`
# directory in the root of your repository and any of its
# subdirectories.
#/docs/ @doctocat
31 changes: 31 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)

## Checklist
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] My code follows conforms to the coding standards.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.

## Pic
![Embed something funny here](https://giphy.com/trending-gifs)
21 changes: 21 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Test

on: pull_request

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675 # actions/[email protected]
- uses: actions/setup-python@41b7212b1668f5de9d65e9c82aa777e6bbedb3a8 # actions/[email protected]
with:
python-version: "3.9"
- name: Run tests
env:
ANALYZER_DJANGO_SECRET_KEY: ${{ secrets.TEST_DJANGO_SECRET_KEY }}
ANALYZER_DB_HOST: ${{ secrets.TEST_DB_HOST }}
ANALYZER_DB_PORT: ${{ secrets.TEST_DB_PORT }}
ANALYZER_DB_NAME: ${{ secrets.TEST_DB_NAME }}
ANALYZER_DB_USERNAME: ${{ secrets.TEST_DB_USERNAME }}
ANALYZER_DB_PASSWORD: ${{ secrets.TEST_DB_PASSWORD }}
run: make -C backend unit-test
48 changes: 48 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Terraform
*.tfstate*
.terraform*

# Lambda bundles
*.zip

# Build directories
dist
build
venv
.venv
stage

# Python stuff
__pycache__
*.eggs
*.egg-info

# Test files
.coverage*
htmlcov
.pytest_cache
.temp

# VSCode
.vscode

# JetBrains
**/.idea

**/.DS_Store

# Coverage files
coverage.xml

# Linting and fixers
.flake8
.isort.cfg

# Exclude autogenerated test files
engine/tests/data/auth.json

# Exclude .env files
.env*

# Exclude vim .swp files
*.swp
44 changes: 44 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# How to Contribute

There are a few guidelines that we need external contributors to follow so that we are able to process requests as efficiently as possible.

If you have any questions or concerns please contact a project maintainer who is an active community leader.

Follow these steps:

1. [Getting Started](#getting-started)
2. [Making Changes](#making-changes)
3. [Submitting Changes](#submitting-changes)

## Getting Started

* Make sure you have a [GitHub account](https://github.com/signup/free).
* Submit an [issue](../../issues), assuming one does not already exist.
- Clearly describe the issue including steps to reproduce when it is a bug.
- Make sure you fill in the earliest version that you know has the issue.
* Fork the repository on GitHub.

## Making Changes

* Create a topic branch off of `main` before you start your work.
- Please avoid working directly on the `main` branch.
* Make commits of logical units.
- You may be asked to squash unnecessary commits down to logical units.
* Check for unnecessary whitespace with `git diff --check` before committing.
* Write meaningful, descriptive commit messages which follow the [conventional commits](https://www.conventionalcommits.org/) format.
* Please follow existing code conventions when working on a file.

## Submitting Changes

* Push your changes to a topic branch in your fork of the repository.
* Submit a pull request to the repository in the [WarnerMedia](https://github.com/WarnerMedia) organization.
- You will be prompted to accept the Contributor License Agreement (CLA) as part of setting up your first Pull Request.
* After feedback has been given, we expect responses within two weeks. After two weeks we may close the pull request (if it isn't showing any activity).
* Bug fixes or features that lack appropriate tests may not be considered for merge.
* Changes that lower test coverage may not be considered for merge.

# Additional Resources

* [General GitHub documentation](https://help.github.com/).
* [GitHub pull request documentation](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-pull-requests).
* The format of this document was inspired by [Nike's `CONTRIBUTING.md` file](https://github.com/Nike-Inc/gimme-aws-creds/blob/master/CONTRIBUTING.md).
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
The MIT License (MIT)

Copyright (c) Warner Media, LLC. All other rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 🛡️ Artemis: Hunt For Security Issues In Source Code

Artemis is an extensible source code scanning tool developed by the WarnerMedia CSO Application Security team that provides a single interface for running multiple security analysis tools against a source code repository, regardless of the contents of the repository. Artemis can scan repositories in different GitHub, GitLab, Bitbucket, or Azure DevOps organizations from a single, unified platform.

## 📖 Contents

- [🔗 Links](#-links)
- [🏠 Overview](#-overview)
- [License](#license)

## Overview

Artemis is made up of 3 primary components: the [backend](./backend), the web UI, and the scan orchestrator. Each of these has its own components, architecture, and development processes, which are detailed in the README files within their subdirectories.

## License

This repository is released under [the MIT license](https://en.wikipedia.org/wiki/MIT_License). View the [local license file](./LICENSE).
19 changes: 19 additions & 0 deletions backend/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# All dotfiles and dotdirs
.*

# All TF stuff
terraform*

build/
build_scripts/
dist/
end_to_end_tests/
k8s/
localstack/
venv/

Makefile
README.md

# Allow .temp directory
!/.temp
Loading

0 comments on commit c2af916

Please sign in to comment.