Skip to content

Audit rules

What the Audits view in Skribly Agent looks for. Security audits read your project, and accessibility and SEO audits read a running page.

How the score works

Every report starts at 100. Each finding lowers the score by its severity, and findings are sorted from most severe.

Points subtracted by severity
SeverityPoints
Critical25
High10
Medium4
Low1
Informational0
Open larger image: A security auditA security audit with a score of 40 and a list of findings sorted by severity.
A security audit

Secrets

The scan covers files tracked by git, up to 1 MB. The value is masked in the report, and lines that look like an example or placeholder are skipped.

Scrollable table

Secret rules
RuleWhat it detectsSeverity
aws-keyAWS access keyCritical
github-tokenGitHub tokenCritical
gitlab-tokenGitLab tokenCritical
slack-tokenSlack tokenHigh
stripe-keyLive Stripe keyCritical
google-keyGoogle API keyHigh
openai-keyOpenAI keyCritical
anthropic-keyAnthropic keyCritical
private-keyPrivate keyCritical
jwtJWT in codeMedium
hardcoded-passwordA password, secret, API key or token set to a stringHigh
env-trackedA .env file tracked by gitHigh

Risky code patterns

These rules skip test and fixture folders. Every finding has a file, a line and a suggested fix.

Scrollable table

Code pattern rules
RuleWhat it detectsSeverity
evaleval(…) in JavaScript, TypeScript, PHP or PythonHigh
new-functionnew Function(…)High
inner-htmlHTML inserted with innerHTML, dangerouslySetInnerHTML or v-htmlMedium
shell-injectionShell commands built from interpolated stringsHigh
sql-concatSQL built from stringsHigh
unsafe-deserializeUnsafe pickle, yaml.load or unserializeHigh
tls-offTLS verification turned offHigh
weak-hashmd5 or sha1Medium
cors-anyRequests allowed from any originMedium
debug-onDebug mode left on in configurationMedium
http-urlPlain http:// address of an external systemLow

Dependencies

The app reads exact versions from package-lock.json, composer.lock, pinned requirements*.txt and poetry.lock, then checks them against OSV.dev. Only package names and versions are sent, never code. Without a network, the audit still finishes with results from the rules.

Accessibility

The page loads in a hidden window, and axe-core runs with the WCAG 2.0, 2.1 and 2.2 tags and best-practice rules. Each rule lists up to eight elements.

axe-core finds only some accessibility problems. Check keyboard use, focus order and alternative text by hand, or with the wcag-audit skill.

SEO

Scrollable table

SEO rules
RuleWhen it firesSeverity
title, title-lengthMissing title, or outside 15 to 65 charactersHigh, low
description, description-lengthMissing description, or outside 50 to 170 charactersMedium, low
h1, h1-manyMissing H1, or more than oneMedium, low
heading-orderA skipped heading levelLow
canonicalMissing canonical linkLow
langMissing lang on <html>Medium
viewportMissing meta viewportHigh
noindexnoindex in meta robotsHigh
httpsPage without HTTPSHigh
img-altImages without altMedium
link-textLinks without textLow
ogMissing og:title or og:imageLow
structured-dataNo JSON-LDInformational
faviconMissing icon linkLow
dom-sizeMore than 1500 elementsLow
page-weightMore than 3000 KB transferredMedium
load-timeLoad event after more than 4 secondsMedium
robots, robots-blockMissing robots.txt, or everything disallowedLow, high
sitemapNo sitemapLow
broken:<url>Internal link with status 400 or higherMedium

Send findings to an agent

Select findings and choose Fix with agent. A new or running agent gets a short list of up to 40 items, not the whole report, and it makes no commit.

Security audit for shop found 3 problems. Fix them in the code, starting with the most severe:
1. (critical) GitHub token [scripts/release.sh:12]
2. (high) SQL query built from strings [orders/reports.py:41]
3. (medium) HTML inserted without sanitization [src/components/ProductDescription.tsx:8]

Keep reading

Search this site

Arrows move through the results, Enter opens one, Esc closes. Ctrl K /