BLA
BLA는 오픈소스 Blue Defense MCP와 CLI로, 소프트웨어 자산을 자동 AI 리버스 엔지니어링으로부터 보호합니다
아카이브를 일괄 검사해 손상·위험 경로·압축 이상 여부와 복구 예산·검증 보고서 제공
Batch-check archives for corruption, unsafe paths and suspicious compression, with explicit decompression budgets and incomplete-verification reports.
보안GitHub @loganpendragonmultiverse온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Validate ZIP, CBZ, and EPUB archives in bulk without permanently extracting them. The command uses explicit UTF-8 JSON input and produces reviewable JSON or Markdown output.
python -m pip install .
archive-integrity examples/sample.json
archive-integrity examples/sample.json --format json --output report.json
The example documents the input shape. Version 1.1 warns about empty containers, unsafe member paths, and members above a configurable max_compression_ratio, while retaining the exact member evidence. Existing report files are never overwritten. Source inputs are read-only except where the documented purpose explicitly creates a new output artifact.
The tool runs locally and does not upload input or include telemetry. Python 3.10 or newer is supported on Windows, macOS, and Linux.
The tool validates ZIP-family containers only. Warnings are review evidence rather than malware findings; a structurally valid archive can still contain unsafe, misleading, or semantically invalid content.
python -m pip install -e ".[dev]"
ruff format --check .
ruff check .
mypy src
pytest
python -m build
The project is feature-complete for its documented v1 scope. Maintenance focuses on correctness, security, compatibility, and well-supported input improvements.
Part of the Logan Pendragon Forge open-source collection. Licensed under the MIT License.
Version 1.2 reads members in chunks with positive integer max_member_bytes (default 268435456) and max_total_bytes (default 1073741824, per archive). Limits count decompressed bytes, including directory entries. Reading stops after at most one extra byte to detect exhaustion. Exact-limit archives can verify. A status of incomplete, budget_exhausted, and verification_complete: false identify budget exhaustion; these archives never count as valid. Encrypted, unsupported, and corrupt members report errors. No member is extracted. Budgets limit decompressed output reads, not ZIP metadata memory or CPU time.
Input must be a JSON object with a non-empty paths array of non-empty strings. max_compression_ratio must be a finite positive JSON number; byte budgets must be positive integers, excluding booleans. Relative archive paths are interpreted against the command's working directory. A missing or inaccessible archive gets its own error record and later paths still run. Source symbolic links are followed. Exit 0 means a report was generated; inspect invalid_count, incomplete_count and each archive status to decide whether the collection passed. Invalid input or report I/O exits 2.
Reports use exclusive creation and refuse existing files or symbolic links, including dangling links. A file created after validation is preserved. Keep source archives stable during verification; this is not a filesystem snapshot. This guard handles accidental collisions, not a hostile concurrent filesystem.
Both release packages install README, DEVELOPMENT, TESTING, CHANGELOG and the sample beneath share/doc/archive-integrity-batch-checker in the installation prefix. See TESTING.md for reproducible acceptance.
By default, exit 0 still means the report was generated, even when archives need attention. For scripts and scheduled checks, select the conditions that should return exit 1 after the full report is successfully written:
archive-integrity input.json --format json --fail-on invalid
archive-integrity input.json --fail-on invalid --fail-on warning --output report.md
Repeat --fail-on to combine policies. invalid matches any unverified archive, including corrupt, missing, unsupported or budget-incomplete inputs (invalid_count > 0). incomplete matches budget-exhausted verification specifically (incomplete_count > 0). warning matches any reported review warning (warning_count > 0), including warnings on otherwise verified archives. Repeating a policy has no additional effect. These choices do not change archive interpretation, budgets, report schema or report contents. Warnings remain review evidence, not malware findings.
Input/argument and report-I/O failures still return exit 2 and take precedence. A policy failure returns 1 only after output succeeds; review the report to see the affected archives. Existing report files and symbolic links remain refused, and source files remain read-only. No new runtime dependencies or extraction are introduced.