Skip to content

Repository files navigation

Auditloom

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実装前の段階です。

W1 Security

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に記録しています。

CLI contract

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の意味監査要件を確認してから 設計します。

Development

npm install
npm run typecheck
npm test
npm run build
npm run package:dry-run
npm run package:smoke

GitHub 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に記載しています。

About

Evidence-based repository quality auditing CLI

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages