{{ summaryTitle }} {{ summaryValue }} {{ summaryLine }} {{ badge.label }}:  {{ badge.value }}
Audit log anomaly analysis inputs
Use rows that contain any useful actor, action, timestamp, source, outcome, or target field.
{{ sourceStatus || 'Drop one CSV, JSON, JSONL, LOG, or TXT file onto the textarea.' }}
Keep Auto detect unless the source is ambiguous or has a misleading extension.
Unfamiliar-source signals are evaluated only when this list is non-empty.
Hours use the timezone already present in each timestamp; this tool does not infer actor location.
Choose 2–50 failed events for the same actor and source.
Choose 1–1,440 minutes.
minutes
Leave blank to use only the built-in vocabulary.
Leave blank to use only the built-in vocabulary.
Zero disables this optional slice-level signal.
Show the highest-risk 10–500 rows.
{{ tableAnnouncement }}
TimeActorActionSourceSignalsRiskCopy
{{ row.time }}{{ row.actor }}{{ row.action }}{{ row.source }}{{ row.signal_labels }}{{ row.risk }}
{{ tableAnnouncement }}
SignalSeverityEventsRisk pointsEvidenceReview nextCopy
{{ row.signal }}{{ row.severity }}{{ row.count }}{{ row.score }}{{ row.evidence }}{{ row.next_action }}
{{ chartAnnouncement }}

{{ chartLoading ? 'Loading chart…' : chartError }}

A password failure at 02:00 can be an attack, a stale job, or an administrator working through a planned maintenance window. Audit-log review turns that ambiguous event into a better question by connecting time, identity, action, source, outcome, and target.

Logs from identity systems, cloud control planes, operating systems, and applications often describe the same facts with different field names. One product records a principal and event name, another records a user and operation, and a third may provide only a timestamp, source address, and message. Normalizing those fields makes cross-source triage possible, but it cannot restore context that was never logged.

Audit event facts used during anomaly triage
FactQuestion it helps answerCommon ambiguity
ActorWhich user, role, service account, or session acted?Shared credentials and role sessions can hide the human initiator.
Action and targetWhat changed or was requested?A harmless read and a privilege change may use similar service vocabulary.
SourceWhere did the request appear to originate?VPN exits, proxies, brokers, and automation hosts can represent many actors.
Time and outcomeWhen did it happen, and was it accepted?Timestamp zones and incomplete failure text can shift interpretation.

An anomaly is a review lead, not a verdict. Root activity, repeated denials, a new source, or an after-hours action deserves attention because it can be consequential, yet each can also have an approved explanation. Confidence comes from matching the event to change records, identity ownership, authentication evidence, network context, and nearby activity.

Completeness matters as much as ranking. Missing time zones prevent reliable after-hours checks, missing sources weaken trust comparisons, and a narrow export may hide the earlier event that explains a source shift. Preserve the original log evidence and use automated ranking to decide what to inspect first.

How to Use This Tool:

Start with a focused export that still contains the fields and neighboring events needed to explain suspicious activity.

  1. Paste or load CSV, JSON, JSON Lines, or AWS CloudTrail data. Keep Auto detect unless the structure is ambiguous; the resolved format confirms what was parsed.
  2. Enter trusted IPv4 addresses, IPv4 CIDR ranges, or source-text fragments. Leave the list empty when unfamiliar-source signals should be disabled.
  3. Set expected active hours and the failed-event count and time window that define a burst. Use the timezone already present in each timestamp.
  4. Add environment-specific privilege or failure terms only when the built-in vocabulary misses real actions. Review rejected-row warnings before trusting the ranking.
  5. Open the highest-risk Review queue rows, then use Signal findings to gather related actors and sources for investigation.

Interpreting Results:

Risk is an additive triage score. A high number means one row matched several configured signals or a heavily weighted signal; it does not estimate breach probability. Highest severity is simply the most severe matched signal, so two rows with the same severity can have different scores.

  • Investigate root or administrator identities and privilege-changing actions first, especially when they also come from an unfamiliar source.
  • Treat a failure burst as a cluster for the same actor and source, not as proof of credential guessing.
  • Check rejected rows and missing fields. A clean queue based on incomplete parsing is weak evidence.
  • Correlate a finding with MFA, VPN, change-ticket, endpoint, and application logs before deciding that activity is malicious.

Technical Details:

Audit triage follows a transparent transformation: parse the source, map common field aliases into a shared event shape, evaluate each configured signal, add its weight, and sort rows by descending risk. Every accepted event remains in scoring even when the displayed review queue is shortened.

Transformation Core

  1. CSV, JSON, JSON Lines, and CloudTrail-shaped records are reduced to time, actor, action, source, outcome, target, and identity type.
  2. Privilege terms are matched against action plus target; failure terms are matched against outcome plus action.
  3. Source trust, active hours, actor-source changes, source concentration, and failure bursts are evaluated from the normalized slice.
  4. Matched signals produce event scores, per-signal totals, and a review order. Rows with equal risk retain their source order.

Rule Core

The signal weights are local triage rules, not values from a security standard. Several rules may apply to the same event.

Audit anomaly signal rules and weights
SignalWeightTriggerSeverity
Root or admin identity8Actor or identity type contains root, administrator, or admin as a word.Critical
Failure burst6The same actor and source reaches the configured failed-event count inside the inclusive time window.High
Privilege-changing action5Action or target contains a built-in or added privilege term.High
Untrusted source3Source misses every configured exact address, IPv4 CIDR, and text matcher.Moderate
Actor source shift3An actor has more than one source in the slice and the current source is untrusted.Moderate
Failed or denied activity2Outcome or action contains a built-in or added failure term.Moderate
After-hours activity2Timestamp hour falls outside the configured interval.Low
Source concentration1A known source reaches the configured slice-wide event count; zero disables the rule.Moderate

Active-hour ranges include the start hour and exclude the end hour. An overnight range wraps across midnight, while equal start and end values allow every hour. Events without a usable timestamp cannot trigger the time-window burst rule or a reliable after-hours rule.

Formula Core

An event's score is the sum of the fixed weights for all signals that matched that event.

Re= kMe wk

Me is the set of signals matched by event e, and wk is each signal's weight. The overall risk score adds the event scores across the accepted source slice; no normalization or probability conversion is applied.

Limitations and Privacy Notes:

Keyword matches can miss unfamiliar event vocabulary and can flag harmless strings. Trusted-source checks support IPv4 CIDR, exact IPv4, and text fragments; they do not interpret IPv6 CIDR, geolocation, device identity, or proxy chains. Source-shift and concentration findings depend only on the supplied slice.

  • Log text and selected files are analyzed in the browser rather than uploaded for analysis.
  • Audit exports can contain identities, addresses, resource names, and security-sensitive actions. Redact secrets and minimize the slice before sharing results.
  • The score supports triage only. Preserve original records and follow the organization's incident-response and evidence-handling procedures.

Worked Examples:

Privileged change outside expected hours

A row for actor root running AttachUserPolicy at 03:04 from an address outside the trusted ranges matches root identity, privilege change, untrusted source, and after-hours activity. The weights add to 18 risk points, and Critical is the highest severity. That ranking justifies immediate review, but the event still needs an owner, MFA evidence, and an approved change record before it can be called malicious.

References: