Commit Graph

38 Commits

Author SHA1 Message Date
CarterPerez-dev 9e616ad1a4 feat(marshalsea): rename off a name taken since 2009, then build the release path
rube has been on rubygems.org since 2009-08-05: Richard LeBer, 12,305 downloads,
and it is an ERB front-end, which is funny given the flagship CVE here is an ERB
gadget. The name was never publishable, so publishing required a rename first.

marshalsea. The Marshalsea was a London debtors' prison, 1373 to 1842, and the
name is the job description: hold untrusted objects at the gate and decide what
gets through before Marshal.load turns bytes into behaviour. It also carries
"Marshal", so the gem reads as on-topic without a subtitle.

module Rube is module Marshalsea, lib/rube/ is lib/marshalsea/, require "rube" is
require "marshalsea", RUBE_TARGET_PORT is MARSHALSEA_TARGET_PORT, and the canary
moved to /tmp/marshalsea-canary. 31 files, roughly 163 occurrences, every one a
hand edit. The single deliberate survivor is the README's "a Rube Goldberg
machine", which describes the gadget chain and not the gem.

Publishing is trusted publishing over OIDC, so no long-lived API key exists in
this repository to leak. A marshalsea-v* tag runs the five suites and the
standalone controls on Ruby 3.4 and 4.0, refuses to continue if the tag disagrees
with Marshalsea::VERSION or if the gemspec floor stops matching the tested
matrix, and then publishes with a Sigstore attestation. The attestation is
recorded as an auditable record and explicitly NOT as an install-time protection,
because neither gem install nor bundle install verifies one today.

Two things the primary source settled that the docs did not. rubygems/release-gem
does accept working-directory, which neither its README nor the RubyGems guide
mentions, so a monorepo subdirectory works. And it runs bundle exec rake release,
which this Rakefile had no task for at all.

Adding bundler/gem_tasks exposed a monorepo trap: Bundler::GemHelper tags a bare
v0.1.0, which says nothing about which of sixty projects it belongs to. Fixed
with tag_prefix. The catch is that rake -T still PRINTS "Create tag v0.1.0",
because that description is built when gem_tasks is required and the prefix is
assigned after. The tag actually created is marshalsea-v0.1.0. The label is
wrong and the behaviour is right, so the gate asserts the runtime value and
carries a control proving a Rakefile without the prefix line really does produce
the bare tag.

Full gate: 58 PASS, 0 FAIL across six stages, package now 25 of 25. 194 tests.
Lint 0 across 30 files.
2026-07-29 15:29:25 -04:00
CarterPerez-dev 56c2b0233c the hallway is four steps longer at night. i've confirmed this. 2026-06-18 17:40:31 -04:00
CarterPerez-dev ec1eb3cc2d ci(lint): mkdir bin before building ameba 2026-05-23 06:34:52 -04:00
CarterPerez-dev e78b17aa8c ci(lint): fix Crystal ameba bin + relax V fmt to advisory
- Crystal: shards install doesn't build dev-dep binaries. Build ameba
  explicitly via crystal build lib/ameba/bin/ameba.cr -o bin/ameba so
  the lint step finds it.
- V: vlang/setup-v installs a V build whose fmt rules drift from local
  V 0.5.1 (same version string, different formatter behavior). Make
  v fmt advisory and gate the job on v vet only.
2026-05-23 06:32:22 -04:00
CarterPerez-dev 2c5a80e80e cracked 2026-05-23 05:16:34 -04:00
CarterPerez-dev 43a6899042 cracked 2026-05-23 05:05:36 -04:00
CarterPerez-dev 0006ddad3d cracked 2026-05-23 05:01:01 -04:00
CarterPerez-dev 5863be7dac fix: pin pnpm to v10 in CI and add .npmrc to all frontend projects
pnpm latest on Node 22 resolves to pnpm 11 which rejects lockfileVersion
9.0 lockfiles with ERR_PNPM_LOCKFILE_CONFIG_MISMATCH. Pinning to pnpm 10
keeps compatibility with existing lockfiles. .npmrc sets
strict-dep-builds=false so build-script warnings don't hard-fail the
frozen install.
2026-05-08 05:46:38 -04:00
CarterPerez-dev adeec9b36d fix: resolve CI lint failures across frontend and Go projects
Node.js bumped to 22 in lint workflow (pnpm 11.x requires >=22.13).
Extract goconst-flagged string literals in secrets-scanner to named
constants. Carry along monitor-dashboard docker/package fixes.
2026-05-08 05:40:04 -04:00
CarterPerez-dev 34465a1255 fix: CI nim action, sbom badge, and main README links
Replace broken jiro4989/setup-nim-action@v2 with direct choosenim
install. Add ebpf tracer and dlp scanner to lint matrix. Update SBOM
generator badge to Project #24 and add source/docs links in main
README. Bump project count to 24/67.
2026-04-11 05:52:55 -04:00
CarterPerez-dev c1ec748dda feat: credential enumeration complete 2026-04-04 20:21:19 -04:00
CarterPerez-dev 9397b12a4a add learn folder, move hidden files, update root readme, add learn folder, add clang tidy, and format 2026-02-26 00:38:55 -05:00
CarterPerez-dev 212ce0f7f1 bugfix: resolve failing PR workflows from contributors 2026-02-23 08:25:19 -05:00
CarterPerez-dev 294169a222 feat: Complete Go secrets scanner - Portia 2026-02-22 20:02:38 -05:00
CarterPerez-dev 5c6d8b4904 issue 77 pt3 final lints 2026-02-18 20:17:35 -05:00
CarterPerez-dev d5f71f5f01 issue 77 pt3 golangci 2026-02-18 20:11:01 -05:00
CarterPerez-dev 7168174006 issue 77 pt3 golangci 2026-02-18 20:08:20 -05:00
CarterPerez-dev 47432c8ce4 issue 77 pt2 ruff 2026-02-18 19:47:47 -05:00
CarterPerez-dev 95cc222302 issue 77 2026-02-18 18:53:15 -05:00
CarterPerez-dev 44ca91cdf7 update fastapi-420 pypi 2026-02-11 07:30:35 -05:00
CarterPerez-dev 9205d3ce4d feat: complete base64tool 2026-02-09 07:26:42 -05:00
CarterPerez-dev a33423aa16 feat: complete network-traffic-analyzer 2026-02-01 20:26:28 -05:00
CarterPerez-dev 8d89ccded9 Fix api-rate-limiter PyPI publish workflow paths
- Update working-directory from PROJECTS/fastapi-420 to PROJECTS/advanced/api-rate-limiter
- Update packages-dir to match new project location
- Fixes workflow failure from missing directory
2026-01-30 03:21:00 -05:00
CarterPerez-dev 69212e5e8d Update CONTRIBUTING.md and submodule workflow for new structure
- Update CONTRIBUTING.md to reference TEMPLATES/fullstack-template
- Fix submodule workflow to use TEMPLATES instead of templates
- Update project directory instructions for difficulty-based folders
- Add difficulty level definitions and updated examples
2026-01-29 05:21:38 -05:00
CarterPerez-dev 75cd94322d Phase 1.2: Create ROADMAPS folder with complete certification paths
Part of #51 (Phase 1.2)

- Create ROADMAPS/ directory with comprehensive career roadmaps
- Create 10 complete certification path guides:
  - SOC Analyst
  - Penetration Tester
  - Security Engineer
  - Incident Responder
  - Security Architect
  - Cloud Security Engineer
  - GRC Analyst/Consultant
  - Threat Intelligence Analyst
  - Application Security
  - Network Engineer (Security-Focused)

- Each roadmap includes:
  - Certification progression
  - Recommended learning phases with timelines
  - Skills to develop (technical and soft)
  - Career progression guidance
  - Related practice projects
  - Industry context and requirements

- Create ROADMAPS/README.md as comprehensive index
- Update main README.md to link to ROADMAPS/ (removed 140+ lines)
- Update Table of Contents

- Update GitHub Actions workflows for new PROJECTS/ structure:
  - publish-api-rate-limter.yml (advanced/)
  - publish-caesar-cipher.yml (beginner/)
  - publish-dns-lookup.yml (beginner/)
2026-01-29 03:13:10 -05:00
Carter Perez d36e6e6d24 "Claude Code Review workflow" 2026-01-29 00:57:40 -05:00
Carter Perez d488ce2b31 "Claude PR Assistant workflow" 2026-01-29 00:57:39 -05:00
CarterPerez-dev 8b2d5a4487 fix: use PAT_TOKEN for submodule update workflow 2026-01-25 11:37:10 -05:00
CarterPerez-dev b85b0a6ab2 Update caesar-cipher to caesar-salad-cipher package name 2026-01-22 03:39:58 -05:00
CarterPerez-dev e63c92350f feat: add caesar-cipher project implemenation 2026-01-22 03:30:08 -05:00
CarterPerez-dev 1f241ccd0c docker-security-audit complete - added go lint and dependabot 2026-01-02 11:24:04 -05:00
CarterPerez-dev ad4b17966b update Makefiles to Justfiles, switch to uv, add helpful documentation 2026-01-01 01:32:07 -05:00
CarterPerez-dev 26d9fa1c29 chore: bump dns-lookup to v0.1.1, exclude docs from publish trigger 2025-12-09 11:37:23 -05:00
CarterPerez-dev 590ef42977 feat: add dns-lookup CLI tool
Professional DNS lookup CLI with beautiful Rich terminal output.

Features:
- Multi-record queries (A, AAAA, MX, NS, TXT, CNAME, SOA)
- Reverse DNS lookup
- DNS trace (visual resolution path from root to authoritative)
- Batch lookups with async concurrency
- WHOIS integration
- JSON export for scripting

Includes PyPI publish workflow for automated releases.
2025-12-09 11:22:16 -05:00
CarterPerez-dev a4ba31583e add full stack template submodule 2025-12-09 03:25:56 -05:00
CarterPerez-dev 7b061955e0 in progress debugging checkpoint 2025-12-09 03:22:25 -05:00
CarterPerez-dev e7a4ea6f92 fix ruff and mypy lint, add pre commit so it doesnt happen again 2025-11-12 15:30:47 -05:00
CarterPerez-dev 0c4a22748c move workflow files - add prettier formatting and format 2025-11-12 14:57:47 -05:00