67 lines
3.4 KiB
Markdown
67 lines
3.4 KiB
Markdown
```regex
|
|
█████╗ ███╗ ██╗ ██████╗ ███████╗██╗ █████╗
|
|
██╔══██╗████╗ ██║██╔════╝ ██╔════╝██║ ██╔══██╗
|
|
███████║██╔██╗ ██║██║ ███╗█████╗ ██║ ███████║
|
|
██╔══██║██║╚██╗██║██║ ██║██╔══╝ ██║ ██╔══██║
|
|
██║ ██║██║ ╚████║╚██████╔╝███████╗███████╗██║ ██║
|
|
╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝
|
|
```
|
|
|
|
[](https://github.com/CarterPerez-dev/Cybersecurity-Projects/tree/main/PROJECTS/beginner/simple-vulnerability-scanner)
|
|
[](https://go.dev)
|
|
[](https://www.gnu.org/licenses/agpl-3.0)
|
|
[](https://goreportcard.com/report/github.com/CarterPerez-dev/angela)
|
|
[](https://osv.dev)
|
|
|
|
> Fast Python dependency updater and vulnerability scanner written in Go.
|
|
|
|
*This is a quick overview — security theory, architecture, and full walkthroughs are in the [learn modules](#learn).*
|
|
|
|
## What It Does
|
|
|
|
- Scans pyproject.toml and requirements.txt for known CVEs via OSV.dev
|
|
- Updates all Python dependencies to latest stable versions in one command
|
|
- Parallel queries against PyPI with local ETag caching for speed
|
|
- Full PEP 440 version parsing with automatic pre-release filtering
|
|
- Comment-preserving file updates that keep your formatting intact
|
|
- Configurable via .angela.toml or [tool.angela] in pyproject.toml
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
go install github.com/CarterPerez-dev/angela/cmd/angela@latest
|
|
angela scan
|
|
```
|
|
|
|
> [!TIP]
|
|
> This project uses [`just`](https://github.com/casey/just) as a command runner. Type `just` to see all available commands.
|
|
>
|
|
> Install: `curl -sSf https://just.systems/install.sh | bash -s -- --to ~/.local/bin`
|
|
|
|
## Commands
|
|
|
|
| Command | Description |
|
|
|---------|-------------|
|
|
| `angela init` | Initialize a new .angela.toml configuration file |
|
|
| `angela update` | Update all Python dependencies to latest stable versions |
|
|
| `angela check` | Preview available updates without modifying files |
|
|
| `angela scan` | Scan dependencies for known CVEs via OSV.dev |
|
|
| `angela cache clear` | Clear the local ETag and version cache |
|
|
|
|
## Learn
|
|
|
|
This project includes step-by-step learning materials covering security theory, architecture, and implementation.
|
|
|
|
| Module | Topic |
|
|
|--------|-------|
|
|
| [00 - Overview](learn/00-OVERVIEW.md) | Prerequisites and quick start |
|
|
| [01 - Concepts](learn/01-CONCEPTS.md) | Security theory and real-world breaches |
|
|
| [02 - Architecture](learn/02-ARCHITECTURE.md) | System design and data flow |
|
|
| [03 - Implementation](learn/03-IMPLEMENTATION.md) | Code walkthrough |
|
|
| [04 - Challenges](learn/04-CHALLENGES.md) | Extension ideas and exercises |
|
|
|
|
|
|
## License
|
|
|
|
AGPL 3.0
|