Conversation
Add a Rust CLI tool (aic) that detects AI-generated content via three provenance layers: - C2PA manifest reading (HIGH confidence): digitalSourceType and claim_generator - XMP/IPTC metadata parsing (MEDIUM confidence): DigitalSourceType, AISystemUsed, CreatorTool - EXIF heuristics (LOW confidence): Software tag matching and camera metadata absence Includes batch processing, JSON/human/quiet output modes, and metadata info dump. Supports images, video, audio, and PDF formats. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implement a Rust CLI tool (
aic) that detects AI-generated content through three provenance signal layers:digitalSourceTypeandclaim_generatorfrom C2PA Content Credentials embedded by DALL-E, Firefly, Bing, Sora, etc.DigitalSourceType,AISystemUsed, andCreatorToolfieldsFeatures
aic info <file>Technical Details
Uses Rust crates: c2pa (0.67), clap 4, kamadak-exif, quick-xml (for raw XMP parsing to avoid C++ build issues), serde for JSON serialization. Falls back gracefully when metadata is absent or stripped.
See README.md for usage examples and limitations (~19% detection coverage, metadata stripping by platforms, no support for proprietary watermarks like SynthID).
🤖 Generated with Claude