devguard 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- devguard-0.2.0/.cursor/rules/snyk_rules.mdc +14 -0
- devguard-0.2.0/.dockerignore +23 -0
- devguard-0.2.0/.github/workflows/devguard-self-scan.yml +26 -0
- devguard-0.2.0/.github/workflows/publish.yml +24 -0
- devguard-0.2.0/.gitignore +74 -0
- devguard-0.2.0/.guardian-email-history.json +2802 -0
- devguard-0.2.0/.guardian-email-thread +1 -0
- devguard-0.2.0/.pre-commit-hooks.yaml +33 -0
- devguard-0.2.0/Dockerfile +44 -0
- devguard-0.2.0/PKG-INFO +225 -0
- devguard-0.2.0/README.md +169 -0
- devguard-0.2.0/README_SPEC.md +157 -0
- devguard-0.2.0/devguard/INTEGRATION_SUMMARY.md +121 -0
- devguard-0.2.0/devguard/__init__.py +3 -0
- devguard-0.2.0/devguard/__main__.py +6 -0
- devguard-0.2.0/devguard/checkers/__init__.py +41 -0
- devguard-0.2.0/devguard/checkers/api_usage.py +523 -0
- devguard-0.2.0/devguard/checkers/aws_cost.py +331 -0
- devguard-0.2.0/devguard/checkers/aws_iam.py +284 -0
- devguard-0.2.0/devguard/checkers/base.py +25 -0
- devguard-0.2.0/devguard/checkers/container.py +137 -0
- devguard-0.2.0/devguard/checkers/domain.py +189 -0
- devguard-0.2.0/devguard/checkers/firecrawl.py +117 -0
- devguard-0.2.0/devguard/checkers/fly.py +225 -0
- devguard-0.2.0/devguard/checkers/github.py +210 -0
- devguard-0.2.0/devguard/checkers/npm.py +327 -0
- devguard-0.2.0/devguard/checkers/npm_security.py +244 -0
- devguard-0.2.0/devguard/checkers/redteam.py +290 -0
- devguard-0.2.0/devguard/checkers/secret.py +279 -0
- devguard-0.2.0/devguard/checkers/swarm.py +376 -0
- devguard-0.2.0/devguard/checkers/tailscale.py +143 -0
- devguard-0.2.0/devguard/checkers/tailsnitch.py +303 -0
- devguard-0.2.0/devguard/checkers/tavily.py +179 -0
- devguard-0.2.0/devguard/checkers/vercel.py +192 -0
- devguard-0.2.0/devguard/cli.py +1510 -0
- devguard-0.2.0/devguard/cli_helpers.py +189 -0
- devguard-0.2.0/devguard/config.py +249 -0
- devguard-0.2.0/devguard/core.py +293 -0
- devguard-0.2.0/devguard/dashboard.py +715 -0
- devguard-0.2.0/devguard/discovery.py +363 -0
- devguard-0.2.0/devguard/http_client.py +142 -0
- devguard-0.2.0/devguard/llm_service.py +481 -0
- devguard-0.2.0/devguard/mcp_server.py +259 -0
- devguard-0.2.0/devguard/metrics.py +144 -0
- devguard-0.2.0/devguard/models.py +208 -0
- devguard-0.2.0/devguard/reporting.py +1571 -0
- devguard-0.2.0/devguard/sarif.py +295 -0
- devguard-0.2.0/devguard/scripts/ANALYSIS_SUMMARY.md +141 -0
- devguard-0.2.0/devguard/scripts/README.md +221 -0
- devguard-0.2.0/devguard/scripts/auto_fix_recommendations.py +145 -0
- devguard-0.2.0/devguard/scripts/generate_npmignore.py +175 -0
- devguard-0.2.0/devguard/scripts/generate_security_report.py +324 -0
- devguard-0.2.0/devguard/scripts/prepublish_check.sh +29 -0
- devguard-0.2.0/devguard/scripts/redteam_npm_packages.py +1262 -0
- devguard-0.2.0/devguard/scripts/review_all_repos.py +300 -0
- devguard-0.2.0/devguard/spec.py +617 -0
- devguard-0.2.0/devguard/sweeps/__init__.py +23 -0
- devguard-0.2.0/devguard/sweeps/ai_editor_config_audit.py +697 -0
- devguard-0.2.0/devguard/sweeps/cargo_publish_audit.py +655 -0
- devguard-0.2.0/devguard/sweeps/dependency_audit.py +419 -0
- devguard-0.2.0/devguard/sweeps/gitignore_audit.py +336 -0
- devguard-0.2.0/devguard/sweeps/local_dev.py +260 -0
- devguard-0.2.0/devguard/sweeps/local_dirty_worktree_secrets.py +521 -0
- devguard-0.2.0/devguard/sweeps/project_flaudit.py +636 -0
- devguard-0.2.0/devguard/sweeps/public_github_secrets.py +680 -0
- devguard-0.2.0/devguard/sweeps/publish_audit.py +478 -0
- devguard-0.2.0/devguard/sweeps/ssh_key_audit.py +327 -0
- devguard-0.2.0/devguard/utils.py +174 -0
- devguard-0.2.0/devguard.spec.example.yaml +208 -0
- devguard-0.2.0/examples/docker/README.md +44 -0
- devguard-0.2.0/examples/github-workflow.yml +56 -0
- devguard-0.2.0/grafana/README.md +110 -0
- devguard-0.2.0/grafana/dashboards/devguard.json +266 -0
- devguard-0.2.0/justfile +135 -0
- devguard-0.2.0/ops/scripts/infra/check-repo-health.sh +0 -0
- devguard-0.2.0/package.json +16 -0
- devguard-0.2.0/pyproject.toml +93 -0
- devguard-0.2.0/test_email_history.py +216 -0
- devguard-0.2.0/tests/README_VISUAL_TESTING.md +58 -0
- devguard-0.2.0/tests/__init__.py +1 -0
- devguard-0.2.0/tests/test_cli.py +178 -0
- devguard-0.2.0/tests/test_config.py +47 -0
- devguard-0.2.0/tests/test_core.py +189 -0
- devguard-0.2.0/tests/test_dashboard_visual.mjs +189 -0
- devguard-0.2.0/tests/test_dependency_audit.py +300 -0
- devguard-0.2.0/tests/test_discovery.py +114 -0
- devguard-0.2.0/tests/test_error_handling.py +177 -0
- devguard-0.2.0/tests/test_gitignore_audit.py +144 -0
- devguard-0.2.0/tests/test_http_client.py +149 -0
- devguard-0.2.0/tests/test_integration_dashboard.py +86 -0
- devguard-0.2.0/tests/test_integration_discovery.py +121 -0
- devguard-0.2.0/tests/test_integration_email.py +238 -0
- devguard-0.2.0/tests/test_integration_mcp.py +159 -0
- devguard-0.2.0/tests/test_models.py +81 -0
- devguard-0.2.0/tests/test_project_flaudit.py +277 -0
- devguard-0.2.0/tests/test_property_models.py +233 -0
- devguard-0.2.0/tests/test_reporting.py +167 -0
- devguard-0.2.0/tests/test_secret_checker.py +168 -0
- devguard-0.2.0/tests/test_ssh_key_audit.py +418 -0
- devguard-0.2.0/tools/sweep_public_repos.py +220 -0
- devguard-0.2.0/uv.lock +1626 -0
- devguard-0.2.0/validate_email_system.py +273 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
alwaysApply: true
|
|
3
|
+
always_on: true
|
|
4
|
+
trigger: always_on
|
|
5
|
+
applyTo: "**"
|
|
6
|
+
description: Snyk Security At Inception
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Project security best practices
|
|
10
|
+
|
|
11
|
+
- Always run snyk_code_scan tool for new first party code that is generated in a Snyk-supported language.
|
|
12
|
+
- If any security issues are found based on newly introduced or modified code or dependencies, attempt to fix the issues using the results context from Snyk.
|
|
13
|
+
- Rescan the code after fixing the issues to ensure that the issues were fixed and that there are no newly introduced issues.
|
|
14
|
+
- Repeat this process until no new issues are found.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
.git
|
|
2
|
+
.github
|
|
3
|
+
.cursor
|
|
4
|
+
.claude
|
|
5
|
+
.venv
|
|
6
|
+
__pycache__
|
|
7
|
+
*.pyc
|
|
8
|
+
.pytest_cache
|
|
9
|
+
.mypy_cache
|
|
10
|
+
.ruff_cache
|
|
11
|
+
.hypothesis
|
|
12
|
+
.DS_Store
|
|
13
|
+
dist
|
|
14
|
+
build
|
|
15
|
+
htmlcov
|
|
16
|
+
archive
|
|
17
|
+
.state
|
|
18
|
+
*.log
|
|
19
|
+
*.db
|
|
20
|
+
*.sqlite
|
|
21
|
+
*.sqlite3
|
|
22
|
+
node_modules
|
|
23
|
+
examples
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: devguard-self-scan
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
schedule:
|
|
8
|
+
- cron: "0 6 * * *" # daily 06:00 UTC
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
trufflehog:
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
with:
|
|
19
|
+
fetch-depth: 0
|
|
20
|
+
- name: TruffleHog (verified + unknown)
|
|
21
|
+
uses: trufflesecurity/trufflehog@main
|
|
22
|
+
with:
|
|
23
|
+
path: ./
|
|
24
|
+
extra_args: >-
|
|
25
|
+
--results=verified,unknown
|
|
26
|
+
--no-update
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- "v*"
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
id-token: write
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
publish:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
environment: pypi
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
|
|
18
|
+
- uses: astral-sh/setup-uv@v4
|
|
19
|
+
|
|
20
|
+
- name: Build
|
|
21
|
+
run: uv build
|
|
22
|
+
|
|
23
|
+
- name: Publish to PyPI
|
|
24
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
build/
|
|
8
|
+
develop-eggs/
|
|
9
|
+
dist/
|
|
10
|
+
downloads/
|
|
11
|
+
eggs/
|
|
12
|
+
.eggs/
|
|
13
|
+
lib/
|
|
14
|
+
lib64/
|
|
15
|
+
parts/
|
|
16
|
+
sdist/
|
|
17
|
+
var/
|
|
18
|
+
wheels/
|
|
19
|
+
*.egg-info/
|
|
20
|
+
.installed.cfg
|
|
21
|
+
*.egg
|
|
22
|
+
|
|
23
|
+
# Virtual environments
|
|
24
|
+
.venv/
|
|
25
|
+
venv/
|
|
26
|
+
ENV/
|
|
27
|
+
env/
|
|
28
|
+
|
|
29
|
+
# Testing
|
|
30
|
+
.pytest_cache/
|
|
31
|
+
.coverage
|
|
32
|
+
htmlcov/
|
|
33
|
+
.tox/
|
|
34
|
+
.hypothesis/
|
|
35
|
+
|
|
36
|
+
# IDEs
|
|
37
|
+
.vscode/
|
|
38
|
+
.idea/
|
|
39
|
+
*.swp
|
|
40
|
+
*.swo
|
|
41
|
+
*~
|
|
42
|
+
|
|
43
|
+
# Environment
|
|
44
|
+
.env
|
|
45
|
+
.env.local
|
|
46
|
+
|
|
47
|
+
# OS
|
|
48
|
+
.DS_Store
|
|
49
|
+
Thumbs.db
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
# Local env backups
|
|
53
|
+
.env.*
|
|
54
|
+
|
|
55
|
+
# Local-only lists
|
|
56
|
+
private_repos.txt
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
# Devguard local artifacts / reports (do not commit)
|
|
60
|
+
.devguard-email-history.json
|
|
61
|
+
.devguard-email-thread
|
|
62
|
+
repo_review_results.json
|
|
63
|
+
npm_security_report.json
|
|
64
|
+
npm_security_report.md
|
|
65
|
+
|
|
66
|
+
# Devguard dogfooding outputs (spec-driven sweeps)
|
|
67
|
+
.state/
|
|
68
|
+
|
|
69
|
+
# Local operational archives (personal infra docs)
|
|
70
|
+
archive/
|
|
71
|
+
|
|
72
|
+
# Personal spec files (copy devguard.spec.example.yaml to get started)
|
|
73
|
+
devguard.spec.yaml
|
|
74
|
+
devguard.spec.fast.yaml
|