stemedb/applications/aphoria/tests/llm_fixtures/jwt/jwt-002-skip-signature.toml
jordan 157dbbb9eb feat: Complete Aphoria Phase 8-9 + UAT suite (90/90 tests passing)
## Phase 8: Enterprise Extractor Improvements 
- 14 security extractors (TLS, JWT, SQL injection, XSS, etc.)
- 10 framework-specific extractors (Spring, Django, Rails, etc.)
- Config file security detection (YAML, TOML)

## Phase 9: Autonomous Extractor Generation 
- Shadow mode executor with TP/FP tracking
- Graduation pipeline with confidence thresholds
- Auto-rollback on regression detection
- Cross-project pattern syncing

## UAT Suite Complete (14 scripts, 90 tests)
- test-core-detection.sh (6 tests)
- test-declarative-extractors.sh (5 tests)
- test-domain-frameworks.sh (5 tests)
- test-domain-unreal.sh (3 tests)
- test-llm-extraction.sh (6 tests)
- test-eval-harness.sh (5 tests)
- test-cross-language.sh (3 tests)
- test-precommit-performance.sh (4 tests)
- test-output-formats.sh (8 tests)
- test-drift-detection.sh (6 tests)
- test-exit-codes.sh (12 tests)
+ 3 more scripts

## Other Changes
- Updated roadmap to mark Phase 8-9 complete
- Added .gitignore entries for build artifacts
- Updated pre-commit: 800 line limit, exclude tests/data/cmd

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 22:50:55 -07:00

49 lines
1.3 KiB
TOML

# JWT-002: Signature Verification Skipped
#
# Go JWT library with SkipClaimsValidation flag, which bypasses signature
# and claims verification entirely.
[metadata]
id = "jwt-002"
name = "JWT signature verification skipped"
category = "jwt"
language = "go"
difficulty = "medium"
source = "hand-curated"
created = "2025-02-05"
notes = "go-jwt library SkipClaimsValidation flag"
[input]
filename = "middleware.go"
content = """
package auth
import (
"github.com/golang-jwt/jwt/v5"
)
func ParseToken(tokenString string) (*jwt.Token, error) {
parser := jwt.NewParser(
jwt.WithoutClaimsValidation(), // Skip for development
)
return parser.Parse(tokenString, func(token *jwt.Token) (interface{}, error) {
return []byte("secret"), nil
})
}
"""
[expected]
must_contain = [
{ subject = "jwt/claims_validation", predicate = "enabled", value = false, rationale = "WithoutClaimsValidation() disables validation" },
{ subject = "jwt/verification", predicate = "strict", value = false, rationale = "Claims validation is skipped" }
]
# Valid findings that LLM may extract but are not required
acceptable_variants = [
{ subject = "secrets/token", predicate = "hardcoded", value = true, rationale = "LLM may detect hardcoded 'secret' string literal - valid but secondary finding" }
]
[scoring]
weight = 1.5
min_confidence = 0.8