devguard 0.2.0__py3-none-any.whl
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/INTEGRATION_SUMMARY.md +121 -0
- devguard/__init__.py +3 -0
- devguard/__main__.py +6 -0
- devguard/checkers/__init__.py +41 -0
- devguard/checkers/api_usage.py +523 -0
- devguard/checkers/aws_cost.py +331 -0
- devguard/checkers/aws_iam.py +284 -0
- devguard/checkers/base.py +25 -0
- devguard/checkers/container.py +137 -0
- devguard/checkers/domain.py +189 -0
- devguard/checkers/firecrawl.py +117 -0
- devguard/checkers/fly.py +225 -0
- devguard/checkers/github.py +210 -0
- devguard/checkers/npm.py +327 -0
- devguard/checkers/npm_security.py +244 -0
- devguard/checkers/redteam.py +290 -0
- devguard/checkers/secret.py +279 -0
- devguard/checkers/swarm.py +376 -0
- devguard/checkers/tailscale.py +143 -0
- devguard/checkers/tailsnitch.py +303 -0
- devguard/checkers/tavily.py +179 -0
- devguard/checkers/vercel.py +192 -0
- devguard/cli.py +1510 -0
- devguard/cli_helpers.py +189 -0
- devguard/config.py +249 -0
- devguard/core.py +293 -0
- devguard/dashboard.py +715 -0
- devguard/discovery.py +363 -0
- devguard/http_client.py +142 -0
- devguard/llm_service.py +481 -0
- devguard/mcp_server.py +259 -0
- devguard/metrics.py +144 -0
- devguard/models.py +208 -0
- devguard/reporting.py +1571 -0
- devguard/sarif.py +295 -0
- devguard/scripts/ANALYSIS_SUMMARY.md +141 -0
- devguard/scripts/README.md +221 -0
- devguard/scripts/auto_fix_recommendations.py +145 -0
- devguard/scripts/generate_npmignore.py +175 -0
- devguard/scripts/generate_security_report.py +324 -0
- devguard/scripts/prepublish_check.sh +29 -0
- devguard/scripts/redteam_npm_packages.py +1262 -0
- devguard/scripts/review_all_repos.py +300 -0
- devguard/spec.py +617 -0
- devguard/sweeps/__init__.py +23 -0
- devguard/sweeps/ai_editor_config_audit.py +697 -0
- devguard/sweeps/cargo_publish_audit.py +655 -0
- devguard/sweeps/dependency_audit.py +419 -0
- devguard/sweeps/gitignore_audit.py +336 -0
- devguard/sweeps/local_dev.py +260 -0
- devguard/sweeps/local_dirty_worktree_secrets.py +521 -0
- devguard/sweeps/project_flaudit.py +636 -0
- devguard/sweeps/public_github_secrets.py +680 -0
- devguard/sweeps/publish_audit.py +478 -0
- devguard/sweeps/ssh_key_audit.py +327 -0
- devguard/utils.py +174 -0
- devguard-0.2.0.dist-info/METADATA +225 -0
- devguard-0.2.0.dist-info/RECORD +60 -0
- devguard-0.2.0.dist-info/WHEEL +4 -0
- devguard-0.2.0.dist-info/entry_points.txt +2 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: devguard
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Developer workstation security and hygiene sweeps -- secrets, deps, gitignore, SSH keys, AI editor configs, cargo publish CI, and more
|
|
5
|
+
Project-URL: Homepage, https://github.com/arclabs561/devguard
|
|
6
|
+
Project-URL: Repository, https://github.com/arclabs561/devguard
|
|
7
|
+
Project-URL: Issues, https://github.com/arclabs561/devguard/issues
|
|
8
|
+
Author: arclabs561
|
|
9
|
+
License-Expression: MIT
|
|
10
|
+
Keywords: dependency-audit,developer-tools,devops,secret-scanning,security
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Topic :: Security
|
|
20
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
21
|
+
Requires-Python: >=3.11
|
|
22
|
+
Requires-Dist: httpx>=0.27.0
|
|
23
|
+
Requires-Dist: pydantic-settings>=2.5.0
|
|
24
|
+
Requires-Dist: pydantic>=2.9.0
|
|
25
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
26
|
+
Requires-Dist: pyyaml>=6.0.0
|
|
27
|
+
Requires-Dist: rich>=13.7.0
|
|
28
|
+
Requires-Dist: typer>=0.12.0
|
|
29
|
+
Provides-Extra: all
|
|
30
|
+
Requires-Dist: aiosmtplib>=3.0.0; extra == 'all'
|
|
31
|
+
Requires-Dist: fastapi>=0.109.0; extra == 'all'
|
|
32
|
+
Requires-Dist: mcp>=0.1.0; extra == 'all'
|
|
33
|
+
Requires-Dist: openai>=1.0.0; extra == 'all'
|
|
34
|
+
Requires-Dist: prometheus-client>=0.20.0; extra == 'all'
|
|
35
|
+
Requires-Dist: pygithub>=2.2.0; extra == 'all'
|
|
36
|
+
Requires-Dist: slowapi>=0.1.9; extra == 'all'
|
|
37
|
+
Requires-Dist: uvicorn>=0.27.0; extra == 'all'
|
|
38
|
+
Provides-Extra: dev
|
|
39
|
+
Requires-Dist: hypothesis>=6.0.0; extra == 'dev'
|
|
40
|
+
Requires-Dist: mypy>=1.11.0; extra == 'dev'
|
|
41
|
+
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
|
|
42
|
+
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
|
|
43
|
+
Requires-Dist: pytest>=8.3.0; extra == 'dev'
|
|
44
|
+
Requires-Dist: ruff>=0.6.0; extra == 'dev'
|
|
45
|
+
Provides-Extra: flaudit
|
|
46
|
+
Requires-Dist: openai>=1.0.0; extra == 'flaudit'
|
|
47
|
+
Provides-Extra: monitoring
|
|
48
|
+
Requires-Dist: aiosmtplib>=3.0.0; extra == 'monitoring'
|
|
49
|
+
Requires-Dist: fastapi>=0.109.0; extra == 'monitoring'
|
|
50
|
+
Requires-Dist: mcp>=0.1.0; extra == 'monitoring'
|
|
51
|
+
Requires-Dist: prometheus-client>=0.20.0; extra == 'monitoring'
|
|
52
|
+
Requires-Dist: pygithub>=2.2.0; extra == 'monitoring'
|
|
53
|
+
Requires-Dist: slowapi>=0.1.9; extra == 'monitoring'
|
|
54
|
+
Requires-Dist: uvicorn>=0.27.0; extra == 'monitoring'
|
|
55
|
+
Description-Content-Type: text/markdown
|
|
56
|
+
|
|
57
|
+
# devguard
|
|
58
|
+
|
|
59
|
+
devguard scans your developer workspace for security and hygiene issues. It runs a set of sweeps -- automated checks across local repos, SSH keys, dependencies, and more -- and reports findings in one pass.
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
$ devguard sweep
|
|
63
|
+
local_dev: 142 repos scanned, 0 findings
|
|
64
|
+
public_github_secrets: 18 repos scanned, 0 findings
|
|
65
|
+
local_dirty_worktree_secrets: 47 repos scanned, 0 findings
|
|
66
|
+
gitignore_audit: 3 repos with gaps (1 public)
|
|
67
|
+
dependency_audit: 12 vulns across 5 repos (2 critical)
|
|
68
|
+
ssh_key_audit: 1 weak key, 2 stale GitHub keys
|
|
69
|
+
ai_editor_config_audit: 47 repos checked, 2 errors
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Quick start
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
pip install -e . # or: uv pip install -e .
|
|
76
|
+
devguard doctor # check prerequisites (trufflehog, cargo-audit, etc.)
|
|
77
|
+
devguard sweep # run all enabled sweeps
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
No spec file is required. Without one, devguard uses built-in defaults. Create `devguard.spec.yaml` to customize which sweeps run and their parameters.
|
|
81
|
+
|
|
82
|
+
## Sweeps
|
|
83
|
+
|
|
84
|
+
### Security
|
|
85
|
+
|
|
86
|
+
| Sweep | Description |
|
|
87
|
+
|-------|-------------|
|
|
88
|
+
| `public_github_secrets` | Scan public GitHub repos for committed secrets (TruffleHog). |
|
|
89
|
+
| `dependency_audit` | Check repos for known vulnerabilities in dependencies (npm audit, pip-audit, cargo-audit). |
|
|
90
|
+
| `ssh_key_audit` | Audit local SSH keys for weak algorithms, short key lengths, and stale GitHub deploy keys. |
|
|
91
|
+
| `local_dirty_worktree_secrets` | Scan uncommitted changes in local repos for secrets before they reach a commit. |
|
|
92
|
+
|
|
93
|
+
### Hygiene
|
|
94
|
+
|
|
95
|
+
| Sweep | Description |
|
|
96
|
+
|-------|-------------|
|
|
97
|
+
| `gitignore_audit` | Find repos missing `.gitignore` or lacking expected ignore patterns for their language. |
|
|
98
|
+
| `ai_editor_config_audit` | Check AI editor configs (Cursor rules, Claude settings) for consistency across repos. |
|
|
99
|
+
| `cargo_publish_audit` | Verify Rust crates have publish CI, correct metadata, and no publish blockers. |
|
|
100
|
+
|
|
101
|
+
### Analysis
|
|
102
|
+
|
|
103
|
+
| Sweep | Description |
|
|
104
|
+
|-------|-------------|
|
|
105
|
+
| `project_flaudit` | LLM-driven audit (OpenRouter/Gemini): README drift, test gaps, rule violations. |
|
|
106
|
+
|
|
107
|
+
### Workspace
|
|
108
|
+
|
|
109
|
+
| Sweep | Description |
|
|
110
|
+
|-------|-------------|
|
|
111
|
+
| `local_dev` | Scan local repos for accidentally committed large files, binaries, and dev artifacts. |
|
|
112
|
+
|
|
113
|
+
## Configuration
|
|
114
|
+
|
|
115
|
+
Copy `devguard.spec.example.yaml` to `devguard.spec.yaml` and edit to taste. The spec file controls which sweeps are enabled, their parameters, and output paths.
|
|
116
|
+
|
|
117
|
+
Most sweeps work with zero configuration. Sweeps that need external access:
|
|
118
|
+
|
|
119
|
+
- `public_github_secrets`: requires `GITHUB_TOKEN` (for GitHub API).
|
|
120
|
+
- `project_flaudit`: requires `OPENROUTER_API_KEY`.
|
|
121
|
+
- `ssh_key_audit` with `check_github: true`: requires `GITHUB_TOKEN`.
|
|
122
|
+
- `dependency_audit`: requires audit tools installed (`npm`, `pip-audit`, `cargo-audit`).
|
|
123
|
+
|
|
124
|
+
Environment variables can be set in `.env` or exported in your shell.
|
|
125
|
+
|
|
126
|
+
## Pre-commit hooks
|
|
127
|
+
|
|
128
|
+
devguard ships `.pre-commit-hooks.yaml` with three hooks: `devguard-gitignore`, `devguard-ai-config`, and `devguard-secrets`. Add to your `.pre-commit-config.yaml`:
|
|
129
|
+
|
|
130
|
+
```yaml
|
|
131
|
+
- repo: https://github.com/yourorg/devguard
|
|
132
|
+
rev: main
|
|
133
|
+
hooks:
|
|
134
|
+
- id: devguard-gitignore
|
|
135
|
+
- id: devguard-secrets
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Library usage
|
|
139
|
+
|
|
140
|
+
Sweep modules can be imported directly for scripting or integration:
|
|
141
|
+
|
|
142
|
+
```python
|
|
143
|
+
from devguard.sweeps.ssh_key_audit import audit_ssh_keys
|
|
144
|
+
from devguard.sweeps.dependency_audit import audit_dependencies
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Development
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
uv pip install -e ".[dev]"
|
|
151
|
+
pytest
|
|
152
|
+
ruff check .
|
|
153
|
+
mypy devguard/
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## License
|
|
157
|
+
|
|
158
|
+
MIT
|
|
159
|
+
|
|
160
|
+
<details>
|
|
161
|
+
<summary>Legacy: Service monitoring (npm, Vercel, Fly.io, GitHub)</summary>
|
|
162
|
+
|
|
163
|
+
devguard originally provided unified monitoring for npm packages, GitHub repositories, and Fly.io/Vercel deployments. This functionality still exists but is secondary to the sweep system.
|
|
164
|
+
|
|
165
|
+
### Monitored services
|
|
166
|
+
|
|
167
|
+
- **npm packages** for security vulnerabilities
|
|
168
|
+
- **GitHub repositories** for Dependabot security alerts
|
|
169
|
+
- **Fly.io deployments** for health status
|
|
170
|
+
- **Vercel deployments** for deployment status
|
|
171
|
+
- **Container/Dockerfile** security best practices
|
|
172
|
+
- **Secret scanning** (TruffleHog or regex fallback)
|
|
173
|
+
- **AWS IAM** security posture for satellite nodes
|
|
174
|
+
- **AWS Cost** monitoring with budget alerts
|
|
175
|
+
- **API usage/credits** for LLM providers (OpenRouter, Anthropic, OpenAI, Perplexity, Groq)
|
|
176
|
+
- **Firecrawl API** credit usage
|
|
177
|
+
- **Tavily API** usage tracking
|
|
178
|
+
- **Tailscale** mesh network health
|
|
179
|
+
- **Domain/SSL** certificate expiry
|
|
180
|
+
- **Docker Swarm** cluster health
|
|
181
|
+
- **Red team security testing** for deployment endpoints
|
|
182
|
+
- **Web dashboard** for real-time monitoring
|
|
183
|
+
- **MCP server** for AI agent integration
|
|
184
|
+
|
|
185
|
+
### Legacy commands
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
devguard check # run monitoring checks
|
|
189
|
+
devguard check --watch # continuous monitoring
|
|
190
|
+
devguard mcp # start MCP server
|
|
191
|
+
devguard dashboard # start web dashboard
|
|
192
|
+
devguard discover # auto-discover resources to monitor
|
|
193
|
+
devguard config # show current configuration
|
|
194
|
+
devguard auth gh # authenticate with GitHub
|
|
195
|
+
devguard auth-status # show auth status for all services
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Legacy configuration
|
|
199
|
+
|
|
200
|
+
Set environment variables in `.env`:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
GITHUB_TOKEN=your_github_token
|
|
204
|
+
VERCEL_TOKEN=your_vercel_token
|
|
205
|
+
FLY_API_TOKEN=your_fly_token
|
|
206
|
+
SNYK_TOKEN=your_snyk_token
|
|
207
|
+
GITHUB_ORG=your_org_name
|
|
208
|
+
NPM_PACKAGES_TO_MONITOR=package1,package2
|
|
209
|
+
GITHUB_REPOS_TO_MONITOR=owner/repo1,owner/repo2
|
|
210
|
+
FLY_APPS_TO_MONITOR=app1,app2
|
|
211
|
+
VERCEL_PROJECTS_TO_MONITOR=project1,project2
|
|
212
|
+
DASHBOARD_ENABLED=false
|
|
213
|
+
DASHBOARD_HOST=0.0.0.0
|
|
214
|
+
DASHBOARD_PORT=8080
|
|
215
|
+
DASHBOARD_API_KEY=your_secure_key
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Architecture (legacy)
|
|
219
|
+
|
|
220
|
+
- **Guardian**: Main orchestrator managing checkers and reports
|
|
221
|
+
- **BaseChecker**: Abstract base class for all checkers
|
|
222
|
+
- **Reporter**: Output formatting, webhooks, email delivery
|
|
223
|
+
- **Checkers**: NpmChecker, GitHubChecker, VercelChecker, FlyChecker, ContainerChecker, SecretChecker, AWSIAMChecker, RedTeamChecker
|
|
224
|
+
|
|
225
|
+
</details>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
devguard/INTEGRATION_SUMMARY.md,sha256=tdDJKgo9ZpNeTqjRhxkCXCsz2jOfFwrM-HIQva-YN58,3286
|
|
2
|
+
devguard/__init__.py,sha256=hs6HgdGWWxwTbt-YVV_OqXJx1eS6HBogaR3GoP_fX_Y,98
|
|
3
|
+
devguard/__main__.py,sha256=v8JUiCNb3h74x6aSOxoubVnHWFCY0nllGw8CGE99SoQ,122
|
|
4
|
+
devguard/cli.py,sha256=j1XCKsXd515uD1fCuHvAiD01PEki76Bk_XaK1ZtCW_k,58238
|
|
5
|
+
devguard/cli_helpers.py,sha256=MTanW0D0rCJzDq2W277-5unYOsObxGif_Gz8_CehJfQ,6029
|
|
6
|
+
devguard/config.py,sha256=-sYh0pT1V2a09w2XQSRlYJRkOOdDiYMKQ16YdPMFu58,10356
|
|
7
|
+
devguard/core.py,sha256=96GcxpbCYpIJ6zTg10vyN2DjJmdKlBHyg9SJqv1ADCE,11356
|
|
8
|
+
devguard/dashboard.py,sha256=qSi7jfUxqCFFXNjUCE6dvaqtWBX2GS3ig9OdbBDL6RQ,25639
|
|
9
|
+
devguard/discovery.py,sha256=SwtHy58J35eo8EB31MtGAJuAKez-3IUPpFR-DgpgxbI,11991
|
|
10
|
+
devguard/http_client.py,sha256=juHLA907aUIjuWcF02CPjfeuZm9LIK4-CLn4lBMkeCI,4477
|
|
11
|
+
devguard/llm_service.py,sha256=yxIIJmQ66aIgE3g3TRZUoL42X8zzJDTvVRaGPVN4xWA,21224
|
|
12
|
+
devguard/mcp_server.py,sha256=JBbYvGU43veT6ExsInepW_kbif7K5o1u56Orydz6YbY,8913
|
|
13
|
+
devguard/metrics.py,sha256=xirsL65IQscw0z54kkRNaFhp4oQPqbodBKqJyfpZhhc,4247
|
|
14
|
+
devguard/models.py,sha256=ujbrhqRWJsv399NkCdy5CpVMdi1uUcVENGaE9_XsIlA,7493
|
|
15
|
+
devguard/reporting.py,sha256=9L6nb_GNUm3cFOEwtjbcyVPGOILwOlagSEPZEUi03DA,63249
|
|
16
|
+
devguard/sarif.py,sha256=rrL1OEXL3P6ZStdvibBGHyKZxhE9ABYX0dfUnpnfXyM,9588
|
|
17
|
+
devguard/spec.py,sha256=6MICRdZPmUjKwj3lroW2AZib05yq7h781jn9Y665PXA,23648
|
|
18
|
+
devguard/utils.py,sha256=pOl_gtYwmaf9QSlTuecWNEyM7EW6dXq8o1_tBvdP9Yo,4541
|
|
19
|
+
devguard/checkers/__init__.py,sha256=ZZzpwxcJKf-o4Le8B4IzxOnwq5XqeyXDIxMMjYqnbl0,1392
|
|
20
|
+
devguard/checkers/api_usage.py,sha256=CE_u449o9_10K4fpt3Q4OFTqqHjmEvtt8nFV5XFOORk,21749
|
|
21
|
+
devguard/checkers/aws_cost.py,sha256=lmsVgNrRANTibh7L0s8f_jHus3lFQSHjhWdzyvvofps,13005
|
|
22
|
+
devguard/checkers/aws_iam.py,sha256=IF9Zd3tzVdWPgv0QkHXKjpd0y6-inZEGZcH6KkH9_Cs,10410
|
|
23
|
+
devguard/checkers/base.py,sha256=B7ickLBylEE5gjP4bHZ7JHQLlEfmcb0EcCyei8bg3OU,607
|
|
24
|
+
devguard/checkers/container.py,sha256=XAgH9-HOP-0KcZVTy_iBtV8rEZcgHTv_mh5A-knY2WU,4932
|
|
25
|
+
devguard/checkers/domain.py,sha256=FarQRuSzfry3gbtaisWaT1Hw_PsAZZye9ikG7Ujowyc,7819
|
|
26
|
+
devguard/checkers/firecrawl.py,sha256=7GUCtIZ0wgteHAoIljt-dEuTjAuq-gaOfDZ1BQn4_uQ,4191
|
|
27
|
+
devguard/checkers/fly.py,sha256=vhD3HefnmVgppEoXfunsTJbyEvoZifkX01N0MkomznU,8633
|
|
28
|
+
devguard/checkers/github.py,sha256=b0XGduRn1KxmsYNqVS0l4bWlBEdFzhmvQ8ebAZnH9-A,7983
|
|
29
|
+
devguard/checkers/npm.py,sha256=HC_UnZ3RzTnbfQO6dFw-lEk6DwZhupBhNQB9sms5rBg,14640
|
|
30
|
+
devguard/checkers/npm_security.py,sha256=mRvfe3anEtVU9LGlMzoOaBET1rZ9m5HH5u6ev_zg368,9522
|
|
31
|
+
devguard/checkers/redteam.py,sha256=hhP8XW-oYjFkFWPLemsRU78_zdehRCt5Fpg-9yaEWgo,10595
|
|
32
|
+
devguard/checkers/secret.py,sha256=jPwqzDIYwcxZ1bq5o0oiHIqIrZd9ikTutaiYEy8jntI,10940
|
|
33
|
+
devguard/checkers/swarm.py,sha256=wwN0Mfm-srm2csJnhnoZuP14HrBWemqlLQDKJVXmVhs,15691
|
|
34
|
+
devguard/checkers/tailscale.py,sha256=IVY0uOnBptO6mxj6SUEpSpgPX4EXbuF6a_z9rOPVEOk,5398
|
|
35
|
+
devguard/checkers/tailsnitch.py,sha256=OFrIflicVGGjL2X-rSSr00XWaS5PjhG_gYpgyKcvhWM,12242
|
|
36
|
+
devguard/checkers/tavily.py,sha256=pT0VpQh5hszq0MD1Nf5K6W4uX_9AKkr-eYpd4TkTdPU,6910
|
|
37
|
+
devguard/checkers/vercel.py,sha256=s0SCmYeX5Zu-4wNFIc32glgA5JD8WSns8jVaSw5UX-Y,7244
|
|
38
|
+
devguard/scripts/ANALYSIS_SUMMARY.md,sha256=l7BdMOWdYrYoC8BDpDdTbATzOqKhuCY8nDoba7TB9QQ,3718
|
|
39
|
+
devguard/scripts/README.md,sha256=O8pPBElyWeJEUejpn8ZW04qKiZ3O08CvCfEjKzjsRuc,4967
|
|
40
|
+
devguard/scripts/auto_fix_recommendations.py,sha256=7ZXjT2GuB1O-DlVcIUoZriTMFozlFKG6EWRJ6dJLWg4,4876
|
|
41
|
+
devguard/scripts/generate_npmignore.py,sha256=vJBLgW-vl57k1OLINy87C0BKA63ZfV-qOj2ZmL3jays,4752
|
|
42
|
+
devguard/scripts/generate_security_report.py,sha256=H7JmcozQzvZ5dcj0n4qGpzqMiz_XYQtLgoXzVO831Ug,10808
|
|
43
|
+
devguard/scripts/prepublish_check.sh,sha256=0oxrp1DFitHuaVPLG4J7zFfq3eVUR5Zo4H12HOysmiM,786
|
|
44
|
+
devguard/scripts/redteam_npm_packages.py,sha256=-SjJkAbvh8yONv0QZ4ULd0u7sTe-TJLy5EF_VjH-40I,49228
|
|
45
|
+
devguard/scripts/review_all_repos.py,sha256=EEBC8AMjwkDPtg-Cu_ByndhdJU833MOtvu4sVTch3gM,11711
|
|
46
|
+
devguard/sweeps/__init__.py,sha256=rTxr2v31gMUplFAMq_Cp9WkprCnQwf8CNACqDgnv-s8,550
|
|
47
|
+
devguard/sweeps/ai_editor_config_audit.py,sha256=dBlDKsDd9gfwv9tNwJ-TuCURg74fKOQK15q0O-4p17c,26005
|
|
48
|
+
devguard/sweeps/cargo_publish_audit.py,sha256=cObKPld8oWZp2Gh87fcbbQQUbcKiPisQz0e0rP3y3OE,24244
|
|
49
|
+
devguard/sweeps/dependency_audit.py,sha256=al3uuK71HtWB6Wn37CiyV55mCFG6yvZm3w2Y4IQtc_s,14472
|
|
50
|
+
devguard/sweeps/gitignore_audit.py,sha256=ZNL7FLont_DOBQh1NG4w0S4RQJnCsLcuGxT2PsBQ6CE,11803
|
|
51
|
+
devguard/sweeps/local_dev.py,sha256=1S4-k7wWgLdJ2LPdzqxQW3jXtoEYVOyRnt_ow-C96PM,7784
|
|
52
|
+
devguard/sweeps/local_dirty_worktree_secrets.py,sha256=VT2GGOGlYkYCmhgBG072L_8gPgwDUTQiAmqFxRMuuHo,18097
|
|
53
|
+
devguard/sweeps/project_flaudit.py,sha256=EcjO-HMv0zabTig2AcMjvS414WlbMgeKU1vpxq-uOLI,22689
|
|
54
|
+
devguard/sweeps/public_github_secrets.py,sha256=rZEhrJ4ddUF6h8mzuPuYI7FaZshQ1u2F6JO2RavS3gg,24667
|
|
55
|
+
devguard/sweeps/publish_audit.py,sha256=IMV9oqAi6R0oLbJwfWsmc7uRoSC9x_Z54QsKqrl0p10,15557
|
|
56
|
+
devguard/sweeps/ssh_key_audit.py,sha256=-AH-mnZLquKaoNEwpGGYwW0qxQqBgPEWcdbW561SL7Q,11637
|
|
57
|
+
devguard-0.2.0.dist-info/METADATA,sha256=8ZHsUfGyL_eRBXAululOucZLOCHb6ym31lqzcG9iDXI,8400
|
|
58
|
+
devguard-0.2.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
|
|
59
|
+
devguard-0.2.0.dist-info/entry_points.txt,sha256=hRoADmIFOCpsRDQ6cZyyFI9x6Y8BiU_TkZH6f5hNmHA,47
|
|
60
|
+
devguard-0.2.0.dist-info/RECORD,,
|