{"_id":"404reportor","_rev":"6-42749ee953e110fe17f3128461365243","name":"404reportor","dist-tags":{"latest":"1.5.0"},"versions":{"1.0.0":{"name":"404reportor","version":"1.0.0","keywords":["cybersecurity","pentest","ctf","oscp","report","cli"],"author":"","license":"MIT","_id":"404reportor@1.0.0","maintainers":[{"name":"hacckey","email":"rockeysocial122@gmail.com"}],"bin":{"404reportor":"bin/404reportor.js"},"dist":{"shasum":"fab6314883ae8e8c40cf78ba67d337d04ce5a54d","tarball":"https://registry.npmjs.org/404reportor/-/404reportor-1.0.0.tgz","fileCount":10,"integrity":"sha512-9gA/GFEUFD+3YB+KyV7Bkd8HC0cfQU4UidQ7DTpsVPOvZM7NhrzTzjCQ53SjErJ05lLpxUMjgqHkljRK7MzUvA==","signatures":[{"sig":"MEYCIQDEcHtmcb5YA1uQCdIbYb7BmBBrwhhm8YaDnXw7kwxECgIhAOUz44RH33u6o8N51V0zYbqRiVZFtAMcbvoCnkzbHIfv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95656},"type":"module","engines":{"node":">=18.18.0"},"gitHead":"c7fd789e5f4f9db5406af9602cd3bae5f3f242ca","scripts":{"demo":"node ./bin/404reportor.js run --no-ai --input project_idea.md --format html","smoke":"node ./bin/404reportor.js --help"},"_npmUser":{"name":"hacckey","email":"rockeysocial122@gmail.com"},"_npmVersion":"11.12.1","description":"AI-assisted CLI that turns raw cybersecurity notes and screenshots into professional reports.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","sharp":"^0.34.2","dotenv":"^17.2.0","marked":"^16.0.0","commander":"^14.0.0","puppeteer":"^24.12.1","highlight.js":"^11.11.1","@anthropic-ai/sdk":"^0.56.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/404reportor_1.0.0_1778952159690_0.3024209283735837","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"404reportor","version":"1.1.0","keywords":["cybersecurity","pentest","ctf","oscp","report","cli"],"author":"","license":"MIT","_id":"404reportor@1.1.0","maintainers":[{"name":"hacckey","email":"rockeysocial122@gmail.com"}],"bin":{"404reportor":"bin/404reportor.js"},"dist":{"shasum":"8d06b32496017c030dbec975818e7e37f985205b","tarball":"https://registry.npmjs.org/404reportor/-/404reportor-1.1.0.tgz","fileCount":10,"integrity":"sha512-mG1Sinke9/JATvYUWaROTXZrD3a5faOrwSA7ulsjFoL6Zc1uR/yvRKfIse9rPZOi7TtA4cn+bg3SejblCPjr6A==","signatures":[{"sig":"MEYCIQDPQUD/CwMBOMZ5jSFtGB0wxmdNLwL1M4qrZedHBR/pHQIhAPjtAurMZClYz7llh0c7+rsIbQLUzxoF3bG14MqGUwNT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98226},"type":"module","engines":{"node":">=18.18.0"},"gitHead":"74093798abdfda21e768d8fd31c27309cf433a15","scripts":{"demo":"node ./bin/404reportor.js run --no-ai --input project_idea.md --format html","smoke":"node ./bin/404reportor.js --help"},"_npmUser":{"name":"hacckey","email":"rockeysocial122@gmail.com"},"_npmVersion":"11.12.1","description":"AI-assisted CLI that turns raw cybersecurity notes and screenshots into professional reports.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","sharp":"^0.34.2","dotenv":"^17.2.0","marked":"^16.0.0","commander":"^14.0.0","puppeteer":"^24.12.1","highlight.js":"^11.11.1","@anthropic-ai/sdk":"^0.56.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/404reportor_1.1.0_1778954145906_0.8940873646631939","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"404reportor","version":"1.2.0","keywords":["cybersecurity","pentest","ctf","oscp","report","cli"],"author":"","license":"MIT","_id":"404reportor@1.2.0","maintainers":[{"name":"hacckey","email":"rockeysocial122@gmail.com"}],"bin":{"404reportor":"bin/404reportor.js"},"dist":{"shasum":"437acb3216bf5db25a5cf22818925f56d734b92e","tarball":"https://registry.npmjs.org/404reportor/-/404reportor-1.2.0.tgz","fileCount":10,"integrity":"sha512-MYRZfKr1T+gCl2JIJMrDbqyrRqOIAcTf8hr6MYfm3oLDeVXqJCyuxDkzwuyQghU3oVoRKehzk28SzyiU0KcUHg==","signatures":[{"sig":"MEUCIHoMAwI+Gh9xwW8ftVDc+JaP7Flee4yqHhd7EgAb/y9gAiEAh/WVLY3tAt4KJPmVXbr9lv60t17d1O4sdlNFy0Bd6Ok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98324},"type":"module","engines":{"node":">=18.18.0"},"gitHead":"74093798abdfda21e768d8fd31c27309cf433a15","scripts":{"demo":"node ./bin/404reportor.js run --no-ai --input project_idea.md --format html","smoke":"node ./bin/404reportor.js --help"},"_npmUser":{"name":"hacckey","email":"rockeysocial122@gmail.com"},"_npmVersion":"11.12.1","description":"AI-assisted CLI that turns raw cybersecurity notes and screenshots into professional reports.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","sharp":"^0.34.2","dotenv":"^17.2.0","marked":"^16.0.0","commander":"^14.0.0","puppeteer":"^24.12.1","highlight.js":"^11.11.1","@anthropic-ai/sdk":"^0.56.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/404reportor_1.2.0_1778954231136_0.010538555274922201","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"404reportor","version":"1.3.0","keywords":["cybersecurity","pentest","ctf","oscp","report","cli"],"author":"","license":"MIT","_id":"404reportor@1.3.0","maintainers":[{"name":"hacckey","email":"rockeysocial122@gmail.com"}],"bin":{"404reportor":"bin/404reportor.js"},"dist":{"shasum":"8a69aed872e9f662c38bc1200c0035589856b37f","tarball":"https://registry.npmjs.org/404reportor/-/404reportor-1.3.0.tgz","fileCount":10,"integrity":"sha512-KLLpcJvnT5zha9CblbGLI14hwDTLlGnbPP2997nsLJIivMhBq4V9JMUE9j0DE6YGMeZA0b5379qe46Ymllys6g==","signatures":[{"sig":"MEQCIF2FpiPMn5EzjGr08Djp67kAN6sRbDnJy5h6QWLd8loJAiBNR22TN5fjc0p0TZlpIFNMQ4OKF/YhKPOku/gCtsrMog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118588},"type":"module","engines":{"node":">=18.18.0"},"gitHead":"b0d1c910ef66c71f6f6af68baafa844de55724df","scripts":{"demo":"node ./bin/404reportor.js run --no-ai --input project_idea.md --format html","smoke":"node ./bin/404reportor.js --help"},"_npmUser":{"name":"hacckey","email":"rockeysocial122@gmail.com"},"_npmVersion":"11.12.1","description":"AI-assisted CLI that turns raw cybersecurity notes and screenshots into professional reports.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","sharp":"^0.34.2","dotenv":"^17.2.0","marked":"^16.0.0","commander":"^14.0.0","puppeteer":"^24.12.1","highlight.js":"^11.11.1","@anthropic-ai/sdk":"^0.56.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/404reportor_1.3.0_1778955572684_0.48244551902577637","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"404reportor","version":"1.4.0","keywords":["cybersecurity","pentest","ctf","oscp","report","cli"],"author":"","license":"MIT","_id":"404reportor@1.4.0","maintainers":[{"name":"hacckey","email":"rockeysocial122@gmail.com"}],"bin":{"404reportor":"bin/404reportor.js"},"dist":{"shasum":"ccfdde382ce507597ed0988506275414857098db","tarball":"https://registry.npmjs.org/404reportor/-/404reportor-1.4.0.tgz","fileCount":10,"integrity":"sha512-u/CUvyARjZx5xYRldx9L2Jgxu16Es51lZo/jFXPNp3gOB8U0TdEBavvgx634eO4Rqbbcnm1cxY83SLG1G0ZOpg==","signatures":[{"sig":"MEUCIFJ/Um5qWQeY0TJOUssQFFxl5jInXWq5A3pZSWiQkCQEAiEAy+toNXzCvOqItuVTYfcyf0t93rKccwbs35Z16Ma2oAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119180},"type":"module","engines":{"node":">=18.18.0"},"gitHead":"b0d1c910ef66c71f6f6af68baafa844de55724df","scripts":{"demo":"node ./bin/404reportor.js run --no-ai --input project_idea.md --format html","smoke":"node ./bin/404reportor.js --help"},"_npmUser":{"name":"hacckey","email":"rockeysocial122@gmail.com"},"_npmVersion":"11.12.1","description":"AI-assisted CLI that turns raw cybersecurity notes and screenshots into professional reports.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","sharp":"^0.34.2","dotenv":"^17.2.0","marked":"^16.0.0","commander":"^14.0.0","puppeteer":"^24.12.1","highlight.js":"^11.11.1","@anthropic-ai/sdk":"^0.56.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/404reportor_1.4.0_1778955906698_0.4133592766254892","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"404reportor","version":"1.5.0","description":"AI-assisted CLI that turns raw cybersecurity notes and screenshots into professional reports.","type":"module","bin":{"404reportor":"bin/404reportor.js"},"scripts":{"smoke":"node ./bin/404reportor.js --help","demo":"node ./bin/404reportor.js run --no-ai --input project_idea.md --format html"},"keywords":["cybersecurity","pentest","ctf","oscp","report","cli"],"author":"","license":"MIT","engines":{"node":">=18.18.0"},"dependencies":{"@anthropic-ai/sdk":"^0.56.0","chalk":"^5.4.1","commander":"^14.0.0","dotenv":"^17.2.0","highlight.js":"^11.11.1","marked":"^16.0.0","ora":"^8.2.0","puppeteer":"^24.12.1","sharp":"^0.34.2"},"gitHead":"b0d1c910ef66c71f6f6af68baafa844de55724df","_id":"404reportor@1.5.0","_nodeVersion":"22.22.2","_npmVersion":"11.12.1","dist":{"integrity":"sha512-qsKWWmyQ1EthRNozNDRxksKhcyfR7yUyZ/B8F3kQGbsmX7ehTBKU9ihV+Ge3Nm3R+Y+YQpTdZ83uqFEeQgluYg==","shasum":"0ff81226a4e380e4740d87a8c84fd1801271fc90","tarball":"https://registry.npmjs.org/404reportor/-/404reportor-1.5.0.tgz","fileCount":10,"unpackedSize":118705,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGk6GLxnytrQRfRKmjJWd65DKApf35lSjOhbgwakzSxbAiASC7Bgek8X+XLczwd8pUZwnZ+PKC/EiA/uE6rnCLA+Qw=="}]},"_npmUser":{"name":"hacckey","email":"rockeysocial122@gmail.com"},"directories":{},"maintainers":[{"name":"hacckey","email":"rockeysocial122@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/404reportor_1.5.0_1778956116330_0.5283042028425238"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-16T17:22:39.689Z","modified":"2026-05-16T18:28:36.587Z","1.0.0":"2026-05-16T17:22:39.839Z","1.1.0":"2026-05-16T17:55:46.049Z","1.2.0":"2026-05-16T17:57:11.270Z","1.3.0":"2026-05-16T18:19:32.868Z","1.4.0":"2026-05-16T18:25:06.904Z","1.5.0":"2026-05-16T18:28:36.488Z"},"license":"MIT","keywords":["cybersecurity","pentest","ctf","oscp","report","cli"],"description":"AI-assisted CLI that turns raw cybersecurity notes and screenshots into professional reports.","maintainers":[{"name":"hacckey","email":"rockeysocial122@gmail.com"}],"readme":"<p align=\"center\">\n  <strong>4️⃣0️⃣4️⃣ reportor</strong><br>\n  <em>Turn your raw hacking notes into professional security reports — in one command.</em>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/404reportor\"><img src=\"https://img.shields.io/npm/v/404reportor.svg?style=flat-square&color=14b8a6\" alt=\"npm version\"></a>\n  <a href=\"https://www.npmjs.com/package/404reportor\"><img src=\"https://img.shields.io/npm/dt/404reportor.svg?style=flat-square&color=38bdf8\" alt=\"downloads\"></a>\n  <a href=\"https://github.com/Hacck3y/404reportor/blob/main/LICENSE\"><img src=\"https://img.shields.io/npm/l/404reportor.svg?style=flat-square\" alt=\"license\"></a>\n</p>\n\n---\n\n**404reportor** is a CLI tool that takes your messy pentest notes and screenshots, and turns them into clean, professional HTML / PDF / Markdown reports. Works great for HTB, CTF, OSCP, CPTS labs, or real pentests.\n\nIt uses **Google Gemini** or **Anthropic Claude** to write the report for you. No API key? No problem — it works offline too with a built-in fallback.\n\n## What You Get\n\n- 🎨 **Beautiful dark/light HTML reports** with sidebar navigation, code copy buttons, scroll progress, severity badges, and image lightbox\n- 🤖 **AI-powered writing** — feeds your notes to Gemini/Claude and gets back a professional 0xdf-style writeup\n- 📸 **Screenshot analysis** — AI reads your screenshots and categorizes them (recon, exploit, privesc, proof)\n- 🔒 **Auto-redacts** passwords and flags in the final report\n- 📄 **Multiple formats** — HTML, PDF, or raw Markdown\n- 🖨️ **Print-ready** — clean print styles built in\n\n## Quick Start\n\n### Run Without Installing (npx)\n\n```bash\nnpx 404reportor init\n```\n\nThis creates the workspace files. Now:\n\n1. **Write your notes** in `main.md` — just dump your writeup, commands, outputs, everything\n2. **Drop screenshots** in the `img/` folder\n3. **Generate the report:**\n\n```bash\nnpx 404reportor run --format html\n```\n\nThat's it. Open the `.html` file and you're done.\n\n### Install Globally\n\n```bash\nnpm install -g 404reportor\n```\n\nThen use `404reportor` instead of `npx 404reportor` everywhere.\n\n## Using AI (Free)\n\nBy default 404reportor tries to use AI to rewrite your notes into a proper report. To set it up:\n\n```bash\ncp .env.example .env\n```\n\nOpen `.env` and paste your **free** Google AI Studio API key:\n\n```dotenv\nGEMINI_API_KEY=your_key_here\n```\n\n> Get a free key at [aistudio.google.com](https://aistudio.google.com/apikey)\n\nThat's it. Run the tool and it'll use Gemini to generate the report.\n\nIf no API key is set, 404reportor will automatically fall back to a local report generator.\n\n### Using Anthropic Claude Instead\n\n```dotenv\nRECON_REPORT_PROVIDER=anthropic\nANTHROPIC_API_KEY=your_key_here\n```\n\n## How to Write Your Notes (`main.md`)\n\nJust write naturally. The parser picks up commands, outputs, credentials, services, CVEs, and flags automatically. Here's a quick example:\n\n```markdown\nTARGET: 10.10.11.42\nMACHINE: Cascade\nOS: Windows\nDIFFICULTY: Medium\n\n# Recon\n\nnmap -sC -sV 10.10.11.42\n22/tcp   open  ssh     OpenSSH 7.4\n80/tcp   open  http    Apache 2.4.18\n445/tcp  open  smb     Samba 4.7.6\n\n# Web Enumeration\n\ngobuster dir -u http://10.10.11.42 -w /usr/share/wordlists/dirb/common.txt\nFound: /admin (302)\nFound: /uploads (200)\n\n# Initial Access\n\nUsed SQLi on login page to get shell as www-data.\npassword: SuperSecret123\n\n# Privilege Escalation\n\nsudo -l shows we can run /usr/bin/vim as root.\n\n# Proof\n\nuser.txt: abc123def456\nroot.txt: 789xyz000111\n```\n\nThe tool understands metadata lines (`TARGET:`, `OS:`, etc.), headings, shell prompts, common tools (nmap, gobuster, evil-winrm, etc.), and credential patterns.\n\n## Screenshots\n\nDrop screenshots in `img/`. Supported formats: `.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`, `.bmp`\n\nYou can organize them in subfolders:\n\n```\nimg/\n  01-nmap.png\n  exploit/02-shell.png\n  privesc/03-root.png\n```\n\nWant captions? Create `img/captions.txt`:\n\n```\n01-nmap.png: Initial Nmap scan showing exposed services.\nexploit/02-shell.png: Got shell as www-data.\n```\n\n## All Commands\n\n| Command | What It Does |\n|---------|-------------|\n| `404reportor init` | Creates `main.md`, `img/`, `.env` in current folder |\n| `404reportor setup --provider google` | Set up AI provider config |\n| `404reportor run` | Parse notes → AI generate → render report |\n| `404reportor --help` | Show all options |\n\n### Run Options\n\n| Flag | Description | Default |\n|------|------------|---------|\n| `-f, --format` | `html`, `pdf`, or `md` | `html` |\n| `-t, --type` | `htb`, `ctf`, `pentest`, `cpts`, `oscp` | `pentest` |\n| `--provider` | `auto`, `google`, `anthropic` | `auto` |\n| `--model` | AI model name | auto |\n| `--save-md` | Save markdown draft alongside HTML/PDF | off |\n| `-i, --input` | Notes file path | `main.md` |\n| `--img-dir` | Screenshots directory | `img` |\n| `-o, --output` | Output directory | `.` |\n\n## Examples\n\n```bash\n# HTB writeup with AI\nnpx 404reportor run --type htb --format html\n\n# OSCP-style PDF report\nnpx 404reportor run --type oscp --format pdf\n\n# Save the markdown draft too\nnpx 404reportor run --type ctf --format html --save-md\n\n# Use Claude instead of Gemini\nnpx 404reportor run --provider anthropic --format html\n```\n\n## Output Formats\n\n- **HTML** — Self-contained file with everything embedded (CSS, images, JS). Has dark/light mode, sidebar TOC, code copy buttons, image lightbox, and severity badges. Just open it in any browser.\n- **PDF** — Rendered from HTML using Puppeteer. If Chrome isn't installed:\n  ```bash\n  npx puppeteer browsers install chrome\n  ```\n- **Markdown** — Raw AI-generated draft (use `--save-md`).\n\n## Security Note\n\nYour notes might have real passwords, hashes, or flags. The tool auto-masks these in the output. But if you use AI mode, your notes are sent to Google/Anthropic servers. If you're working with sensitive client data, don't set an API key — the tool will use its local report builder instead.\n\n## Contributing\n\nPRs welcome! Fork → branch → commit → PR.\n\n```bash\ngit clone https://github.com/Hacck3y/404reportor.git\ncd 404reportor\nnpm install\nnpm link\n```\n\n## License\n\nMIT © 2025-2026\n\n---\n\n<p align=\"center\">\n  Made with ☕ by <a href=\"https://github.com/Hacck3y\">Hacck3y</a>\n</p>\n","readmeFilename":"README.md"}