owasp-amass/amass · warning
failed to obtain the Organization associated with Identifier
Error message
failed to obtain the Organization associated with Identifier - %s:%s
What it means
FindOrgByRDAPHandle also returns this error when, after locating the entity for the ARIN handle, no associated Organization matches the handle. The function walks incoming edges and org candidates looking for an Organization whose RDAP handle matches; if the loop exhausts without a match it falls through to this sentinel error. Like [201], it is a not-found signal at the organization-resolution stage.
Source
Thrown at engine/plugins/support/org/rdap.go:75
if err != nil || len(ids) != 1 {
return nil, fmt.Errorf("failed to obtain the entity for Identifier - %s:%s", oamgen.ARINHandle, handle)
}
ident := ids[0]
if edges, err := sess.DB().IncomingEdges(ctx, ident, time.Time{}, "id"); err == nil && len(edges) > 0 {
for _, edge := range edges {
if tags, err := sess.DB().FindEdgeTags(ctx, edge, time.Time{}, src.Name); err != nil || len(tags) == 0 {
continue
}
if o, err := sess.DB().FindEntityById(ctx, edge.FromEntity.ID); err == nil && o != nil {
if _, valid := o.Asset.(*oamorg.Organization); valid {
return o, nil
}
}
}
}
return nil, fmt.Errorf("failed to obtain the Organization associated with Identifier - %s:%s", oamgen.ARINHandle, handle)
}
View on GitHub (pinned to 79299dce87)
Solutions
- Ensure the organization enumeration stage that links orgs to ARIN handles has completed
- Compare the stored org handle values against the requested handle for formatting differences
- Verify incoming edges of type 'id' exist for the handle entity in the DB
- Re-run the RDAP source to refresh entity/org links, then retry the lookup
- Treat as expected not-found for unknown handles and skip rather than failing the scan
Example fix
// before
org, err := FindOrgByRDAPHandle(ctx, sess, e, oam, handle)
if err != nil {
return fmt.Errorf("store failed: %v", err)
}
// after
org, err := FindOrgByRDAPHandle(ctx, sess, e, oam, handle)
if err != nil {
if strings.Contains(err.Error(), "failed to obtain the Organization") {
return nil // org not yet linked; defer to full RDAP lookup
}
return fmt.Errorf("store failed: %v", err)
} Defensive patterns
Strategy: fallback
Validate before calling
// Go: verify the handle entity has an org edge before resolving
edges, err := sess.DB().IncomingEdges(ctx, ident, time.Time{}, "id")
if err != nil || len(edges) == 0 {
return nil, fmt.Errorf("handle %s has no org links yet; rerun RDAP source", handle)
} Type guard
func isOrgResolutionFailure(err error) bool {
return err != nil && strings.Contains(err.Error(), "failed to obtain the Organization associated with Identifier")
} Try / catch
org, err := FindOrgByRDAPHandle(ctx, sess, e, oam, handle)
if err != nil {
if isOrgResolutionFailure(err) {
org = fallbackRDAPLookup(ctx, handle) // fall back to live RDAP query
} else {
return nil, err
}
} Prevention
- Ensure organization enumeration completes before handle-to-org resolution
- Re-run the RDAP source if entity/org edge data looks stale
- Log requested handle values to catch format drift between sources
- Design callers to tolerate not-found orgs without aborting the whole scan
When it happens
Trigger: Calling FindOrgByRDAPHandle (via storeEntity) when the handle entity exists but: no Organization entity is linked via the checked incoming edges, none of the candidate orgs' handle fields equal the requested handle, or edge/tag queries all fail so no candidate is accepted.
Common situations: The org-to-handle relationship was never created (organization enumeration incomplete); handle format changed between ARIN responses (e.g. contact handle reuse or refresh); org data stored under a different identifier than the one queried; race where entity was stored but org linking edges were not yet written.
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
- failed to obtain the entity for Identifier - %s:%s
- failed to obtain the Amass output directory
- failed to create the RDAP disk cache
- zero names provided in the Organization
- no matching org found
AI-assisted analysis of owasp-amass/amass@79299dce87 (2026-09-06).
Data as JSON: /api/errors/2d93b05af6138f1c.
Report an issue: GitHub.