Cook trimmed asparagus in boiling water until tender-crisp, 2 to 3 minutes. Drain, cover with cold water and drain again. Set aside.
Heat a soup pan over medium-high heat until hot. Add oil, swirling to coat bottom. Add green onions and ginger; cook, stirring, until fragrant. Add broth, both kinds of asparagus, crabmeat, soy sauce and pepper. Bring to a boil over medium-high heat. Salt to taste.
Add cornstarch solution; cook, stirring, until soup boils and thickens slightly. Remove pan from heat. Slowly drizzle in egg, stirring, with a spoon to form an egg flower.
Serve soup in individual soup bowls; garnish with cilantro.