owasp-amass/amass · info
no matching org found
Error message
no matching org found
What it means
After gathering candidate organizations that share a location entity with the input, existsAndSharesLocEntity compares each candidate's names against the input org's names using NameMatch. If none match, the function concludes no deduplicated Organization exists on the graph and returns this sentinel error; callers treat it as 'create a new org'.
Source
Thrown at engine/plugins/support/org/find.go:206
for _, cr := range crecords {
if edges, err := sess.DB().OutgoingEdges(ctx, cr, time.Time{}, "organization"); err == nil {
for _, edge := range edges {
if a, err := sess.DB().FindEntityById(ctx, edge.ToEntity.ID); err == nil && a != nil {
if _, ok := a.Asset.(*oamorg.Organization); ok {
orgents = append(orgents, a)
}
}
}
}
}
for _, orgent := range orgents {
if _, _, found := NameMatch(sess, orgent, names); found {
return orgent, nil
}
}
return nil, errors.New("no matching org found")
}
func matchingLocations(sess et.Session, locs []*dbt.Entity) []*dbt.Entity {
var newlocs []*dbt.Entity
set := stringset.New()
defer set.Close()
for _, loc := range locs {
set.Insert(loc.ID)
}
for _, loc := range locs {
lasset, valid := loc.Asset.(*oamcon.Location)
if !valid {
continue
}
View on GitHub (pinned to 79299dce87)
Solutions
- This is usually expected behavior: create the new Organization (the callers treat this error as 'not found')
- Verify NameMatch's normalization rules match your naming conventions (Inc./LLC/Ltd suffixes, casing)
- Ensure o.LegalName is populated when the legal name differs from the display name, improving match coverage
- Check for typos or alternate spellings in the source data
Defensive patterns
Strategy: fallback
Validate before calling
existing, err := FindOrgByName(sess, org.Name)
if err == nil {
// reuse existing
} else {
// create new org — this error is the normal 'not found' path
} Prevention
- Treat this error as the expected 'create new org' signal, not a failure
- Provide both Name and LegalName to maximize match coverage
- Keep name normalization consistent across ingestion runs
When it happens
Trigger: Calling CreateOrgAsset with an org that shares a legal/HQ address or location with existing orgs but whose Name/LegalName differs from every candidate (after normalization) — e.g. same address, different company.
Common situations: Subsidiaries of the same parent sharing an HQ address; coworking/virtual-office addresses hosting many distinct companies; name normalization (case, punctuation, legal suffixes) causing a false mismatch; the org genuinely being new.
Understand the failure class
Background: "Not found" and "does not exist" errors: why "Task not found", "No such folder", and "Can't find" fire when a lookup comes back empty — this error's family across 14 libraries.
Related errors
- zero names provided in the Organization
- no matching organizations were found
- missing the organization name
- failed to discover or create the Organization asset
- failed to cast the DomainRecord
AI-assisted analysis of owasp-amass/amass@79299dce87 (2026-09-06).
Data as JSON: /api/errors/e9d5a39b963f540a.
Report an issue: GitHub.