Awesome Maintainer Defense
English · Tiếng Việt · 日本語
Awesome Maintainer Defense is an offline, read-only repository auditor and a set of reversible maintainer controls. It inspects local governance files and GitHub Actions trust boundaries without a token or network request. It does not execute repository code, inspect live GitHub settings, or identify who wrote a contribution.
Quickstart
Python 3.10 or newer is required.
make standalone
python3 dist/maintainer-defense-kit.py audit .
The audit prints evidence, severity, and a stable rule ID. A finding is a review lead, not proof that a repository is compromised or a contributor is malicious.
What the auditor checks
- Missing security, ownership, structured-intake, dependency-update, and branch-policy evidence.
- Excessive workflow token authority, mutable Action references, privileged execution of pull-request input, shell interpolation, and unsafe cross-workflow artifacts.
- Destructive moderation, identity/history proxies, and missing appeal paths.
The rule registry and review requirements are in Auditor rules.
From finding to reviewed patch
fix generates a unified diff and never edits the target repository:
python3 dist/maintainer-defense-kit.py fix . --output recommended.patch
git apply --check recommended.patch
Review the evidence and patch in repository context. Apply it only through the repository's normal ownership and CI process.
The audit-to-action diagram shows the complete governance path: scope the authorized target, inspect it offline, assess evidence, propose a patch, obtain an owner decision, then apply and record the change through the normal repository workflow.
Evidence boundaries
Tested contracts cover deterministic detection, JSON/SARIF output, patch-only remediation, installer conflict handling, and shipped workflow invariants. The project does not claim field accuracy across representative repositories, live GitHub-settings coverage, compliance, or proof of authorship or intent. See Kit assurance and Threat model.
Install options
PyPI with an isolated application environment:
pipx install maintainer-defense-kit==1.1.1
maintainer-defense audit .
Verified standalone on POSIX systems:
curl -fLO https://github.com/thangldw/awesome-maintainer-defense/releases/download/v1.1.1/maintainer-defense-kit.py
curl -fLO https://github.com/thangldw/awesome-maintainer-defense/releases/download/v1.1.1/maintainer-defense-kit.py.sha256
shasum -a 256 -c maintainer-defense-kit.py.sha256
python3 maintainer-defense-kit.py audit .
Verified standalone on PowerShell:
Invoke-WebRequest https://github.com/thangldw/awesome-maintainer-defense/releases/download/v1.1.1/maintainer-defense-kit.py -OutFile maintainer-defense-kit.py
Invoke-WebRequest https://github.com/thangldw/awesome-maintainer-defense/releases/download/v1.1.1/maintainer-defense-kit.py.sha256 -OutFile maintainer-defense-kit.py.sha256
$Expected = ((Get-Content maintainer-defense-kit.py.sha256 -Raw).Trim() -split '\s+')[0].ToLowerInvariant()
$Actual = (Get-FileHash maintainer-defense-kit.py -Algorithm SHA256).Hash.ToLowerInvariant()
if ($Actual -ne $Expected) { Write-Error "SHA-256 mismatch"; exit 1 }
python maintainer-defense-kit.py audit .
Release channels and recovery rules are documented in Distribution.
Documentation
Curated catalog
The catalog is a secondary, evidence-reviewed index of maintainer-defense resources. Inclusion is not an endorsement. Review permissions, data boundaries, maximum effects, maintenance state, and licensing before adoption. See the generated catalog.
Contributing and support
Read Contributing before proposing a rule, product change, translation, or catalog entry. Use Support for public requests and Security for private vulnerability reporting.
License
Released under the MIT License.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file maintainer_defense_kit-1.1.1.tar.gz.
File metadata
- Download URL: maintainer_defense_kit-1.1.1.tar.gz
- Upload date:
- Size: 124.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ccab463b15a78b3dfbe37a3f9002b5524aaa5d67afe61bf6ff2a5b05f86fa902
|
|
| MD5 |
e2bcdc966185646c03c00974ddae3df1
|
|
| BLAKE2b-256 |
4897120623842fed96bf87bafe8adceab658fe780de115166b61cb39f8fe385e
|
Provenance
The following attestation bundles were made for maintainer_defense_kit-1.1.1.tar.gz:
Publisher:
release.yml on thangldw/awesome-maintainer-defense
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maintainer_defense_kit-1.1.1.tar.gz -
Subject digest:
ccab463b15a78b3dfbe37a3f9002b5524aaa5d67afe61bf6ff2a5b05f86fa902 - Sigstore transparency entry: 2574587046
- Sigstore integration time:
-
Permalink:
thangldw/awesome-maintainer-defense@7e995a0b330906aebb6566a9a64af09e944a5ae5 -
Branch / Tag:
refs/tags/v1.1.1 - Owner: https://github.com/thangldw
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7e995a0b330906aebb6566a9a64af09e944a5ae5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maintainer_defense_kit-1.1.1-py3-none-any.whl.
File metadata
- Download URL: maintainer_defense_kit-1.1.1-py3-none-any.whl
- Upload date:
- Size: 43.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f112c3ce3e11efcaf4c150a3f26c72fc1e041ec92276a9d625ba6e818433b2ea
|
|
| MD5 |
42487555e27cf2e3a15679e6d0bdc442
|
|
| BLAKE2b-256 |
5e1003380c52dd838c2f934085e4e23adb2f7c164bec2fa9a5a52f7eda0ce3ee
|
Provenance
The following attestation bundles were made for maintainer_defense_kit-1.1.1-py3-none-any.whl:
Publisher:
release.yml on thangldw/awesome-maintainer-defense
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maintainer_defense_kit-1.1.1-py3-none-any.whl -
Subject digest:
f112c3ce3e11efcaf4c150a3f26c72fc1e041ec92276a9d625ba6e818433b2ea - Sigstore transparency entry: 2574587095
- Sigstore integration time:
-
Permalink:
thangldw/awesome-maintainer-defense@7e995a0b330906aebb6566a9a64af09e944a5ae5 -
Branch / Tag:
refs/tags/v1.1.1 - Owner: https://github.com/thangldw
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7e995a0b330906aebb6566a9a64af09e944a5ae5 -
Trigger Event:
push
-
Statement type: