Evidence-based repository quality auditing CLI.
Auditloomは、リポジトリから再現可能な証拠を収集し、ローカルとCIで同じ契約に基づく 品質監査を実行するためのCLIです。
AuditloomはAI支援を前提とした開発プロセスで構築しています。
CLI実行基盤とW1共通証拠基盤を開発中です。引数、Git scope、read-only repository access、 policy pack、report、設定に加え、immutable scanner snapshot、range限定history access、 trusted tool runner、external evidence検証、subcheck、provenanceを実装しています。実用的な 監査ruleはまだ搭載していません。Ruleが0件の実行を成功として扱わないため、現段階のpackageは 公開しません。
W1〜W5のruleは、既存の非公開監査契約をworkstreamごとに設計・移植します。現在は最初の workstreamであるW1 Securityの設計を完了し、Rule実装前の段階です。
repository、trusted security tool、CIや read-only collectorが生成した外部証拠を31 controlsへ対応づけ、確認できた範囲と未確認境界を 同じreportに残します。
主な監査領域は次のとおりです。
- commit内と履歴のsecret、JS/TS security pattern、Production dependency vulnerability
- authentication、route/object/property authorization、tokenとsession lifecycle
- PostgreSQL RLS・実効権限、Auth/provider設定、identity整合性
- Cron・Worker認証、rate limit、inactive actor、resource/cost abuse
- environment、credential分離、logging、CORS・cookie・security header
- injection、SSRF、webhook、CI/software supply chain、security event auditability
検査方法は証拠の性質に応じて分けます。
| 方法 | 役割 | 予定する例 |
|---|---|---|
| built-in static rule | Git commitのfileと設定を決定論的に検査 | route、migration、workflow、environment名 |
| trusted tool | immutableな一時snapshotを既存scannerで検査 | Gitleaks、Semgrep、OSV-Scanner |
| external evidence | trusted CI/read-only collectorの結果を正規化 | CodeQL、ZAP、k6、Scorecard、PostgreSQL、provider |
| Semantic Adapter | 意味上の見落とし候補をwarningとして提示 | 認可、業務状態、logging、session flow |
AIが返すsemantic candidateはfindingではありません。candidateだけでcoveredやCI failureを確定せず、
deterministic evidenceまたは信頼済みの外部・人間の証拠で確認できないcontrolはnot-verifiedにします。
W1のreportでは、少なくとも次を区別します。
covered: 必須subcheckを具体的な証拠で検査し、findingがないfinding-high|medium|low: 違反を確認したknown-tracked: fingerprintと理由を持つ既知の扱いnot-affected: deltaの変更がcontrolへ確実に影響しないnot-verified: tool、外部証拠、policy、対応言語などが不足している- execution failure: scannerの異常終了、timeout、設定不正などで監査処理自体が失敗した
対象repositoryのpackage script、test、migration、workflowは暗黙に実行しません。Productionへのactive scanや、submodule・Git LFS・不足履歴の自動取得も行いません。詳しい31 controlsと判定契約は W1 Security designに記録しています。
auditloom delta --repository <path> --base <sha>
auditloom full --repository <path>
auditloom release --repository <path> --range <base>..<head>設定は対象リポジトリの .auditloom.json から読み込みます。実行可能なJavaScript設定や、
対象リポジトリのpackage scriptを暗黙に実行しません。
Phase 0の公開契約はCLIだけです。Node.js向けpackage APIは公開していません。Semantic Adapterは内部境界として保持し、provider連携はworkstreamの意味監査要件を確認してから 設計します。
npm install
npm run typecheck
npm test
npm run build
npm run package:dry-run
npm run package:smokeGitHub Actionsでは最低support versionのNode.js 22と開発基準versionのNode.js 24で
npm ci、typecheck、test、buildを実行します。Node.js 24では加えてtarball内容、
shebang、install後のCLI起動、package import非公開契約を検証します。publish処理は含みません。
開発の進め方はCONTRIBUTING.md、現在の構造は Architectureに記載しています。