Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Detection coverage gaps: 47 missed payload classes across 9 output scorers

Offen
#3,324 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 2 Tagen

@pasmud arbeitet bereits daran.

Seit 18.10.2026.

  • #3326 von @pasmud — offen

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
53/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
python
Bereich
security, testing-qa

Rechercherichtung

Start by locating the nine output scorers and the tests that exercise them; the issue provides a PoC summary but does not name files or include the repro script. Reproduce the reported misses against the real scorers, then work through the payload classes scorer by scorer. Done means the reported cases are detected while the existing controls still behave as expected.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Detection coverage gaps: 47 missed payload classes across 9 output scorers

Summary

PoC'd 49 payloads against the real scorer classes via score_text_async (in-memory SQLite, all controls detected). 47 misses across 9 scorers, all distinct from the five open coverage items (#3264 SSTI statement blocks, #3262 LDAP NOT/null bytes, #3286 API keys, #3307/#3308 shell/env). Near-miss variants also miss (19 of 22 tested), so the gaps are class-shaped, not payload luck. Claims narrowed where the red-team found them payload-specific.

SSRF (15 misses, richest): IPv4-mapped IPv6 loopback http://[::ffff:127.0.0.1]/, expanded [0:0:0:0:0:0:0:1], AWS IPv6 IMDS [fd00:ec2::254], integer/hex/octal IPs (http://2130706433/, http://0x7f.0.0.1/, http://0177.0.0.1/), userinfo-before-host http://user:[email protected]:6379/, wildcard DNS (127.0.0.1.nip.io, 10-0-0-5.nip.io, localtest.me), and alternate metadata IPs (AWS ECS 169.254.170.2, Alibaba 100.100.100.200).

Path traversal (7): URL-encoded and double-encoded traversal, plus .ssh/id_rsa, .aws/credentials, .env targets missing from the sensitive-file list.

XSS (4): scheme splitting via HTML entities and control characters (jav	ascript:, java\tscript:).

XXE (1): XInclude <xi:include href="file:///etc/passwd"> (no ENTITY anywhere).

SQL (5, narrowed): UNION/**/SELECT comment-as-whitespace and no-comment adjacent-quote ' OR 1=1-- shapes.

LDAP (3, narrowed): percent-encoded filters in ldap:// URLs, and the all-wildcards-encoded case bypasses even post-#3262 patterns.

Open redirect (3): ?url= param name, %252f%252f, backslash form.

Credential (2, narrowed): -----BEGIN ENCRYPTED PRIVATE KEY----- missed in both default and GARAK patterns. Also bare GitLab glpat-.

Shell (6, distinct from #3307/#3308): process substitution via bash <(curl ...), source <(...), plus rm -rf ~ and rm -rf --no-preserve-root /.

Repro script runs all 49 with controls. Available on request. Happy to split these into per-scorer PRs following the pattern of the recently merged #3230/#3234/#3260.

Vorherrschende Sprache
Python
Sterne
4.6k
Forks
962
Ø Merge
2 T. 15 Std.
Gemergte PRs (30 T.)
390

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

  • Kein Dockerfile und keine Docker-Compose-Datei
  • Hat eine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/PyRIT

Alle Issues in microsoft/PyRIT

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.