Skip to content

Commit 2c46720

Browse files
author
Brian Ray
committed
Initial clean commit
0 parents  commit 2c46720

File tree

569 files changed

+231584
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

569 files changed

+231584
-0
lines changed

.github/workflows/deploy-docs.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Deploy Documentation to GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main # Or your default branch
7+
paths:
8+
- 'docs/**' # Trigger only on changes within the docs directory
9+
workflow_dispatch: # Allows manual triggering
10+
11+
# Required for GitHub Pages API deployment
12+
permissions:
13+
contents: read
14+
pages: write # Needed to push to gh-pages branch
15+
id-token: write
16+
17+
# Allow only one concurrent deployment
18+
concurrency:
19+
group: "pages"
20+
cancel-in-progress: false
21+
22+
jobs:
23+
build-docs:
24+
runs-on: ubuntu-latest
25+
steps:
26+
- name: Checkout repository
27+
uses: actions/checkout@v4
28+
29+
- name: Set up Python
30+
uses: actions/setup-python@v5
31+
with:
32+
python-version: '3.x' # Use a specific version if needed, e.g., 3.11
33+
34+
- name: Install dependencies
35+
run: |
36+
python -m pip install --upgrade pip
37+
# Assuming requirements are in docs/requirements.txt
38+
if [ -f docs/requirements.txt ]; then
39+
pip install -r docs/requirements.txt
40+
else
41+
echo "docs/requirements.txt not found, skipping dependency installation."
42+
# Install Sphinx directly if no requirements file
43+
pip install sphinx furo myst-parser sphinx-copybutton sphinx-click
44+
fi
45+
46+
- name: Create .nojekyll file
47+
run: |
48+
touch docs/.nojekyll
49+
50+
- name: Build documentation
51+
run: |
52+
# Run make html inside the docs directory
53+
make -C docs html
54+
55+
- name: Create .nojekyll file again
56+
run: |
57+
touch docs/_build/html/.nojekyll
58+
59+
- name: Upload artifact
60+
uses: actions/upload-pages-artifact@v3
61+
with:
62+
path: docs/_build/html
63+
64+
deploy:
65+
needs: build-docs
66+
environment:
67+
name: github-pages
68+
url: ${{ steps.deployment.outputs.page_url }}
69+
runs-on: ubuntu-latest
70+
steps:
71+
- name: Deploy to GitHub Pages
72+
id: deployment
73+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
share/python-wheels/
24+
*.egg-info/
25+
.installed.cfg
26+
*.egg
27+
MANIFEST
28+
29+
# PyInstaller
30+
# Usually these files are written by a python script from a template
31+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
32+
*.manifest
33+
*.spec
34+
35+
# Installer logs
36+
pip-log.txt
37+
pip-delete-this-directory.txt
38+
39+
# Unit test / coverage reports
40+
htmlcov/
41+
.tox/
42+
.nox/
43+
.coverage
44+
.coverage.*
45+
.cache
46+
nosetests.xml
47+
coverage.xml
48+
*.cover
49+
*.py,cover
50+
.hypothesis/
51+
.pytest_cache/
52+
cover/
53+
54+
# Translations
55+
*.mo
56+
*.pot
57+
58+
# Django stuff:
59+
*.log
60+
local_settings.py
61+
db.sqlite3
62+
db.sqlite3-journal
63+
64+
# Flask stuff:
65+
instance/
66+
.webassets-cache
67+
68+
# Scrapy stuff:
69+
.scrapy
70+
71+
# Sphinx documentation
72+
docs/_build/
73+
74+
# PyBuilder
75+
.pybuilder/
76+
target/
77+
78+
# Jupyter Notebook
79+
.ipynb_checkpoints
80+
81+
# IPython
82+
profile_default/
83+
ipython_config.py
84+
85+
# pyenv
86+
# For a library or package, you might want to ignore these files since the code is
87+
# intended to run in multiple environments; otherwise, check them in:
88+
# .python-version
89+
90+
# pipenv
91+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
93+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
94+
# install all needed dependencies.
95+
#Pipfile.lock
96+
97+
# UV
98+
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
99+
# This is especially recommended for binary packages to ensure reproducibility, and is more
100+
# commonly ignored for libraries.
101+
uv.lock
102+
103+
# poetry
104+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
105+
# This is especially recommended for binary packages to ensure reproducibility, and is more
106+
# commonly ignored for libraries.
107+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
108+
#poetry.lock
109+
110+
# pdm
111+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
112+
#pdm.lock
113+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
114+
# in version control.
115+
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
116+
.pdm.toml
117+
.pdm-python
118+
.pdm-build/
119+
120+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
121+
__pypackages__/
122+
123+
# Celery stuff
124+
celerybeat-schedule
125+
celerybeat.pid
126+
127+
# SageMath parsed files
128+
*.sage.py
129+
130+
# Environments
131+
.env
132+
.venv
133+
env/
134+
venv/
135+
ENV/
136+
env.bak/
137+
venv.bak/
138+
139+
# Spyder project settings
140+
.spyderproject
141+
.spyproject
142+
143+
# Rope project settings
144+
.ropeproject
145+
146+
# mkdocs documentation
147+
/site
148+
149+
# mypy
150+
.mypy_cache/
151+
.dmypy.json
152+
dmypy.json
153+
154+
# Pyre type checker
155+
.pyre/
156+
157+
# pytype static type analyzer
158+
.pytype/
159+
160+
# Cython debug symbols
161+
cython_debug/
162+
163+
# PyCharm
164+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
165+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
166+
# and can be added to the global gitignore or merged into this file. For a more nuclear
167+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
168+
#.idea/
169+
170+
# Ruff stuff:
171+
.ruff_cache/
172+
173+
# PyPI configuration file
174+
.pypirc
175+
176+
# mcp SDK reference code
177+
python-sdk/
178+
secops-wrapper/
179+
180+
# integration test auth config
181+
config.py
182+
llm.py
183+
config.json

CONTRIBUTING

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Contribution Guide for Google Security Operations Community Rules
2+
3+
Thank you for your interest in contributing to this project. This document
4+
contains guidelines for contributors including a style guide for writing YARA-L
5+
rules.
6+
7+
Members of our community may submit YARA-L rule contributions under the
8+
[`rules/community`](https://github.com/chronicle/detection-rules/tree/main/rules/community) directory.
9+
10+
## Contributor License Agreement
11+
12+
Contributions to this project must be accompanied by a Contributor License
13+
Agreement (CLA). You (or your employer) retain the copyright to your
14+
contribution; this simply gives us permission to use and redistribute your
15+
contributions as part of the project. Head over to https://cla.developers.google.com/
16+
to see your current agreements on file or to sign a new one.
17+
18+
You generally only need to submit a CLA once, so if you've already submitted one
19+
(even if it was for a different project), you probably don't need to do it again.
20+
21+
## How to Contribute
22+
23+
All submissions, including submissions by project maintainers, require review.
24+
25+
Please follow the process below to contribute to this project. We've also
26+
[labeled](https://github.com/chronicle/detection-rules/contribute) some issues
27+
and pull requests with `good-first-issue` to help people who want to contribute.
28+
29+
1. Sign the [Contributor License Agreement](https://cla.developers.google.com/)
30+
1. Familiarize yourself with this contribution guide and our rule
31+
[style guide](STYLE_GUIDE.md). This will increase the likelihood that your
32+
contributions will be accepted.
33+
2. Open a new issue under the [Issues](https://github.com/chronicle/detection-rules/issues)
34+
page of this repo, choose from one of our issue templates, and fill in all
35+
of the required fields.
36+
3. Create a [pull request](https://help.github.com/articles/about-pull-requests/)
37+
using our pull request template and stage your proposed changes.
38+
* Link your pull request to your related issue using GitHub supported
39+
[keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue)
40+
4. Ensure that the tests associated with your pull request complete
41+
successfully.
42+
5. When your pull request is ready for review, add the `ready for review`
43+
label to it
44+
6. Someone from the Google Cloud Security team will review your pull request.
45+
* Please collaborate with your reviewer to incorporate feedback &
46+
suggestions into your proposed changes. For example, if a rule's logic
47+
needs to be refined or the rule needs to be updated to conform to our
48+
style guide.
49+
7. If your proposed changes are approved, your pull request will be merged into
50+
the `main` branch of this repo.
51+
52+
We try and acknowledge all issues and pull requests within a few working days.
53+
54+
We're happy to collaborate with contributors to make modifications
55+
and help get their contributions accepted. However, there may be instances where
56+
we're unable to accept your contribution. For example, if a rule contains
57+
invalid syntax or its detection use case is too broad or niche to apply to the
58+
environments of other Google SecOps customers.
59+
60+
## Community Guidelines
61+
62+
This project follows [Google's Open Source Community Guidelines](https://opensource.google/conduct/).
63+
64+
## Style Guide for YARA-L Detection Rules
65+
66+
Rules in this repository follow our [style guide](STYLE_GUIDE.md). For
67+
contributions, please familiarize yourself with this to increase the chances
68+
of your contributions getting accepted.

0 commit comments

Comments
 (0)