All notable changes to shingan are documented here. Format follows Keep a Changelog. Versions align with Semantic Versioning.
- MASVS/MASTG full mapping — every
Findingnow carries amasvsfield (e.g.MASVS-NETWORK-1,MASVS-RESILIENCE-3) shown in HTML reports and JSON output. - EN/JA report localization —
--lang en|jaonshingan scanandto_html(..., lang=)in the API; all UI strings (severity labels, section headers, diff badges) switch language. - Custom YAML rule engine — load project-specific checks from
~/.shingan/rules/*.yaml; supportsstring,regex, andplist_keymatch types targeting the binary string table orInfo.plist. - SQLite storage (
~/.shingan/shingan.db) with automatic JSON migration from the v0.2 flat-file store. - Suppression / allowlist —
SuppressionStorebacked by~/.shingan/suppressions.json; REST API and CLI both support add/remove/list. - Baseline pinning —
POST /api/baselines/{app_id}pins a scan as the reference;shingan scan --baseline <id>diffs against it. - GitHub Actions composite action (
action/action.yml) — drop-in SARIF upload to GitHub Code Scanning. - Fastlane plugin (
fastlane-plugin-shingan) —shingan_scanlane action. - Five new checkers:
binary_protection(PIE/stack-canary/ARC),crypto(MD5/SHA1/DES/RC4/ECB),keychain(weakkSecAttrAccessible*),sbom(SDK fingerprinting),metadata(background modes / permissions / ATS). - Diff/baseline comparison in HTML reports — NEW / FIXED diff badges per finding.
- SARIF 2.1.0 export for GitHub Code Scanning integration.
.appdirectory and.xcarchivedirect input support.- GitHub issue templates (bug report, false positive, new check) and PR template.
.pre-commit-config.yamlwith ruff lint + format hooks.- CI workflow (lint + test) and scan workflow (workflow_dispatch).
Findingdataclass gainsmasvs: str = ""field (backwards-compatible).- HTML report template (
report.html) uses Jinja2 i18n variables; shows MASVS tag per finding; version bumped to 1.0.0 in footer. - SARIF driver version updated to
1.0.0. pyproject.tomlversion →1.0.0.
- Web UI diff comparison and suppress operations.
- FastAPI REST API:
/api/suppressions,/api/baselines/{app_id}. - GitHub Actions composite action and Fastlane plugin stubs.
.appdirectory and.xcarchiveinput support.- Five new checkers:
binary_protection,crypto,keychain,sbom,metadata. - Confidence scoring on
secretschecker. - Suppression allowlist (initial implementation).
- Initial release.
- Core checkers:
symbols,secrets,ats,debug_flags,protection. - FastAPI web UI with drag-and-drop IPA upload.
- CLI (
shingan scan,list,diff,export,serve). - JSON scan storage.
- SARIF export.
- HTML report with dark-mode template.