{"id":35056282,"url":"https://github.com/supermarsx/superpoweredcv","last_synced_at":"2026-05-21T09:35:22.654Z","repository":{"id":326123708,"uuid":"1104079061","full_name":"supermarsx/superpoweredcv","owner":"supermarsx","description":"Turn your CVs into OP documents in the age of AI","archived":false,"fork":false,"pushed_at":"2026-03-08T00:30:20.000Z","size":18091,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-08T06:24:10.885Z","etag":null,"topics":["ai","ats","curriculum-vitae","cv","cvs","injection","jailbreak","jobs","prompt-engineering","prompt-injection","red-team"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/supermarsx.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":".github/funding.yml","license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"docs/agents.md","dco":null,"cla":null},"funding":{"github":"supermarsx"}},"created_at":"2025-11-25T18:13:06.000Z","updated_at":"2026-03-08T00:30:24.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/supermarsx/superpoweredcv","commit_stats":null,"previous_names":["supermarsx/superpoweredcv"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/supermarsx/superpoweredcv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fsuperpoweredcv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fsuperpoweredcv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fsuperpoweredcv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fsuperpoweredcv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supermarsx","download_url":"https://codeload.github.com/supermarsx/superpoweredcv/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermarsx%2Fsuperpoweredcv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33295797,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T02:57:32.698Z","status":"ssl_error","status_checked_at":"2026-05-21T02:57:31.990Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ats","curriculum-vitae","cv","cvs","injection","jailbreak","jobs","prompt-engineering","prompt-injection","red-team"],"created_at":"2025-12-27T09:55:22.053Z","updated_at":"2026-05-21T09:35:22.649Z","avatar_url":"https://github.com/supermarsx.png","language":"Rust","funding_links":["https://github.com/sponsors/supermarsx"],"categories":[],"sub_categories":[],"readme":"\n![SuperpoweredCV Banner](superpoweredcv-banner.png)\n\nSuperpoweredCV is a comprehensive tool designed for red-teaming ATS (Applicant Tracking Systems) and AI resume parsers. It allows you to scrape LinkedIn profiles, generate PDF resumes with embedded prompt injections, and analyze how these systems interpret the data.\n\nThe project consists of three main components:\n1.  **Core CLI**: A Rust-based command-line tool for analysis and PDF generation.\n2.  **Browser Extension**: A Chrome/Firefox extension to scrape profile data.\n## CLI Reference\n\nThe `superpoweredcv` CLI provides a suite of tools for generating, injecting, and analyzing resumes.\n\n### Global Options\n*   `-c, --config \u003cFILE\u003e`: Path to a configuration file (YAML, JSON, TOML).\n\n### Commands\n\n#### `generate`\nGenerate a PDF resume from a scraped JSON profile with optional injections.\n\n```bash\nsuperpoweredcv generate --profile \u003cPROFILE_JSON\u003e --output \u003cOUTPUT_PDF\u003e [OPTIONS]\n```\n\n**Arguments:**\n*   `-p, --profile \u003cFILE\u003e`: Path to the profile JSON file (Required).\n*   `-o, --output \u003cFILE\u003e`: Output PDF path (Required).\n*   `--injection \u003cTYPE\u003e`: Type of injection to apply.\n    *   Values: `None` (default), `VisibleMeta`, `LowVis`, `Offpage`, `TrackingPixel`, `CodeInjection`, `UnderlayText`, `StructuralFields`, `PaddingNoise`, `InlineJobAd`.\n*   `--intensity \u003cLEVEL\u003e`: Intensity of the injection.\n    *   Values: `Soft`, `Medium` (default), `Aggressive`.\n*   `--position \u003cPOS\u003e`: Position of the injection (for `VisibleMeta`).\n    *   Values: `Header` (default), `Footer`.\n*   `--phrases \u003cPHRASE\u003e...`: List of phrases to inject. Can be specified multiple times.\n*   `--generation-type \u003cTYPE\u003e`: Strategy for generating injection content.\n    *   Values: `Static` (default), `LlmControl`, `Pollution`, `AdTargeted`.\n*   `--job-description \u003cTEXT\u003e`: Job description text (required for `AdTargeted` generation).\n\n#### `inject`\nInject a payload into an existing PDF file.\n\n```bash\nsuperpoweredcv inject --input \u003cINPUT_PDF\u003e --output \u003cOUTPUT_PDF\u003e --type \u003cTYPE\u003e [OPTIONS]\n```\n\n**Arguments:**\n*   `-i, --input \u003cFILE\u003e`: Path to the input PDF (Required).\n*   `-o, --output \u003cFILE\u003e`: Path to the output PDF (Required).\n*   `--type \u003cTYPE\u003e`: Type of injection (Required). See `generate` for values.\n*   `--payload \u003cTEXT\u003e`: Specific payload content (e.g., URL for tracking pixel, code for XSS).\n*   `--phrases \u003cPHRASE\u003e...`: List of phrases to inject.\n*   `--generation-type \u003cTYPE\u003e`: Strategy for generating content.\n*   `--job-description \u003cTEXT\u003e`: Job description text.\n\n#### `analyze`\nRun an analysis scenario to test how an ATS parses the resume.\n\n```bash\nsuperpoweredcv analyze --scenario \u003cSCENARIO_FILE\u003e\n```\n\n**Arguments:**\n*   `-s, --scenario \u003cFILE\u003e`: Path to the scenario definition file.\n\n#### `demo`\nRun the built-in demo scenario to verify system functionality.\n\n```bash\nsuperpoweredcv demo\n```\n\n#### `preview`\nGenerate a preview PDF showing where injections would be placed.\n\n```bash\nsuperpoweredcv preview --output \u003cFILE\u003e\n```\n\n#### `validate`\nValidate a configuration file.\n\n```bash\nsuperpoweredcv validate --config \u003cFILE\u003e\n```\n\n#### `docs`\nOpen the documentation in your default browser.\n\n```bash\nsuperpoweredcv docs\n```\n\n## GUI Mode\nRunning `superpoweredcv` without arguments launches the graphical user interface.\n\n### GUI Features\n*   **Brutalist Design**: High-contrast, efficient interface.\n*   **Independent Windows**: Settings, Logs, and Preview open in separate, pinnable windows.\n*   **Visual Preview**: Real-time visualization of injection placement.\n*   **LaTeX Builder**: Visual builder for resume sections.\n\n## Getting Started\n\n### 1. Install the Browser Extension\nThe extension allows you to easily grab profile data from LinkedIn to use as a base for your experiments.\n\n*   **Chrome**: Load the `extension/` folder as an unpacked extension in `chrome://extensions`.\n*   **Firefox**: Load `extension/manifest-firefox.json` as a temporary add-on in `about:debugging`.\n\nSee [extension/README.md](extension/README.md) for detailed instructions.\n\n### 2. Build the CLI\nThe core logic is written in Rust. You'll need a Rust toolchain installed.\n\n**Important:** All cargo commands must be run from the `core` directory.\n\n```bash\ncd core\ncargo build --release\n```\n\n## Usage\n\nThe CLI provides several commands to manage the workflow from data ingestion to report generation.\n\n### Generate a PDF Resume\nConvert a scraped JSON profile into a PDF. This is useful for creating a baseline resume before applying injections.\n\n```bash\ncd core\ncargo run -- generate --file \u003cpath/to/profile.json\u003e --output resume.pdf\n```\n\n### Run an Analysis Scenario\nExecute a red-teaming scenario defined in a configuration file. This simulates how an ATS might parse the resume with various injections.\n\n```bash\ncd core\ncargo run -- analyze --scenario \u003cpath/to/scenario.yaml\u003e\n```\n\n### Run the Demo\nRun a built-in demo scenario to see the tool in action.\n\n```bash\ncd core\ncargo run -- demo\n```\n\n### Validate Configuration\nCheck if your configuration files are valid.\n\n```bash\ncd core\ncargo run -- validate --config \u003cpath/to/config.yaml\u003e\n```\n\n## Project Structure\n\n- `core/`: Rust CLI and library.\n    - `src/profile.rs`: Data structures for profiles.\n    - `src/generator.rs`: PDF generation logic.\n    - `src/red_team.rs`: Injection and scenario logic.\n- `extension/`: Browser extension source code.\n- `docs/`: Documentation and specifications.\n\n## Development\n\nTo run the project in development mode:\n\n```bash\ncd core\ncargo run -- help\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupermarsx%2Fsuperpoweredcv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupermarsx%2Fsuperpoweredcv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupermarsx%2Fsuperpoweredcv/lists"}