Cybersecurity-Projects/PROJECTS/beginner/simple-vulnerability-scanner
CarterPerez-dev 7d69339413 fix: extract osv package string literals to constants
goconst counts occurrences across the whole package (including test files)
when deciding whether to flag a non-test file — the exclusion only suppresses
reports FROM test files. Add unexported constants for severity levels, CVSS
types, ecosystem, and reference types in client.go, and update client_test.go
to use them so the total raw-string count per literal drops below threshold.
2026-05-08 06:30:08 -04:00
..
assets chore: add demos for projects, update haskell-reverse-proxy modules, refresh siem assets 2026-04-26 23:12:48 -04:00
cmd/angela feat: did a couple things idk 2026-02-28 14:08:36 -05:00
internal fix: extract osv package string literals to constants 2026-05-08 06:30:08 -04:00
learn add and create all learn/ folders for beginner projects 2026-01-31 15:13:31 -05:00
pkg/types feat: did a couple things idk 2026-02-28 14:08:36 -05:00
testdata Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05:00
.gitignore Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05:00
.golangci.yml fix: resolve simple-vulnerability-scanner goconst failures 2026-05-08 06:21:26 -04:00
DEMO.md chore: add demos for projects, update haskell-reverse-proxy modules, refresh siem assets 2026-04-26 23:12:48 -04:00
Justfile feat: Complete Go secrets scanner - Portia 2026-02-22 20:02:38 -05:00
LICENSE - Standardize READMEs and add justfiles across all 14 projects 2026-02-11 07:01:25 -05:00
README.md Fix code block formatting in README.md 2026-02-11 07:46:09 -05:00
go.mod Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05:00
go.sum Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05:00

README.md

 █████╗ ███╗   ██╗ ██████╗ ███████╗██╗      █████╗
██╔══██╗████╗  ██║██╔════╝ ██╔════╝██║     ██╔══██╗
███████║██╔██╗ ██║██║  ███╗█████╗  ██║     ███████║
██╔══██║██║╚██╗██║██║   ██║██╔══╝  ██║     ██╔══██║
██║  ██║██║ ╚████║╚██████╔╝███████╗███████╗██║  ██║
╚═╝  ╚═╝╚═╝  ╚═══╝ ╚═════╝ ╚══════╝╚══════╝╚═╝  ╚═╝

Cybersecurity Projects Go License: AGPLv3 Go Report Card 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.

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

go install github.com/CarterPerez-dev/angela/cmd/angela@latest
angela scan

[!TIP] This project uses 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 Prerequisites and quick start
01 - Concepts Security theory and real-world breaches
02 - Architecture System design and data flow
03 - Implementation Code walkthrough
04 - Challenges Extension ideas and exercises

License

AGPL 3.0