dit — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited dit (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
dît (means "found" in Kurdish) classifies HTML pages, forms, and fields using machine learning (LogReg + CRF). Zero external ML dependencies.
It classifies pages (login, error, landing, blog, etc.), detects form types (login, search, registration, password recovery, contact, etc.), and classifies each field (username, password, email, search query, etc.).
go get github.com/happyhackingspace/ditOr install the CLI:
go install github.com/happyhackingspace/dit/cmd/dit@latest# Classify page type and forms on a URL
dit run https://github.com/login
# Classify forms in a local file
dit run login.html
# With probabilities
dit run https://github.com/login --proba
# Download training data and model from Hugging Face
dit data download
# Train a model
dit train model.json --data-folder data
# Evaluate model accuracy
dit evaluate --data-folder data
# Upload training data and model to Hugging Face
dit data uploadimport "github.com/happyhackingspace/dit"
// Load classifier
c, _ := dit.New()
// Classify page type
page, _ := c.ExtractPageType(htmlString)
fmt.Println(page.Type) // "login"
fmt.Println(page.Forms) // form classifications included
// Classify forms in HTML
results, _ := c.ExtractForms(htmlString)
for _, r := range results {
fmt.Println(r.Type) // "login"
fmt.Println(r.Fields) // {"username": "username or email", "password": "password"}
}
// With probabilities
pageProba, _ := c.ExtractPageTypeProba(htmlString, 0.05)
formProba, _ := c.ExtractFormsProba(htmlString, 0.05)login, registration, search, checkout, contact, password_reset, landing, product, blog, settings, soft_404, error, captcha, parked, coming_soon, admin, directory_listing, default_page, waf_block, other.
login, search, registration, password/login recovery, contact/comment, join mailing list, order/add to cart, other.
Authentication: username, password, password confirmation, email, email confirmation, username or email Names: first name, last name, middle name, full name, organization name, gender Address: country, city, state, address, postal code Contact: phone, fax, url Search: search query, search category Content: comment text, comment title, about me text Buttons: submit button, cancel button, reset button Verification: captcha, honeypot, TOS confirmation, remember me checkbox, receive emails confirmation Security: security question, security answer
Full list of 79 field type codes available in data/config.json.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.